umontreal.iro.lecuyer.probdist
Class TriangularDist
- java.lang.Object
-
- umontreal.iro.lecuyer.probdist.ContinuousDistribution
-
- umontreal.iro.lecuyer.probdist.TriangularDist
-
- All Implemented Interfaces:
- Distribution
public class TriangularDist extends ContinuousDistribution
Extends the classContinuousDistributionfor the triangular distribution with domain [a, b] and mode (or shape parameter) m, where a <= m <= b. The density function isthe distribution function isf (x) = 2(x - a)/[(b - a)(m - a)] for a <= x <= m, f (x) = 2(b - x)/[(b - a)(b - m)] for m <= x <= b, f (x) = 0 elsewhere, and the inverse distribution function is given byF(x) = 0 for x < a, F(x) = (x - a)2/[(b - a)(m - a)] if a <= x <= m, F(x) = 1 - (b - x)2/[(b - a)(b - m)] if m <= x <= b, F(x) = 1 for x > b, F-1(u) = a + ((b - a)(m - a)u)1/2 if 0 <= u <= (m - a)/(b - a), F-1(u) = b - ((b - a)(b - m)(1 - u))1/2 if (m - a)/(b - a <= u <= 1.
-
-
Field Summary
-
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
-
-
Constructor Summary
Constructors Constructor and Description TriangularDist()Constructs a TriangularDist object with default parameters a = 0, b = 1, and m = 0.5.TriangularDist(double m)Constructs a TriangularDist object with parameters a = 0 , b = 1 and m = m.TriangularDist(double a, double b, double m)Constructs a TriangularDist object with parameters a, b and m.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublebarF(double x)Returns the complementary distribution function.static doublebarF(double a, double b, double m, double x)Computes the complementary distribution function.doublecdf(double x)Returns the distribution function F(x).static doublecdf(double a, double b, double m, double x)Computes the distribution function.doubledensity(double x)Returns f (x), the density evaluated at x.static doubledensity(double a, double b, double m, double x)Computes the density function.doublegetA()Returns the value of a for this object.doublegetB()Returns the value of b for this object.static TriangularDistgetInstanceFromMLE(double[] x, int n, double a, double b)Creates a new instance of a triangular distribution with parameters a and b.doublegetM()Returns the value of m for this object.doublegetMean()Returns the mean.static doublegetMean(double a, double b, double m)Computes and returns the mean E[X] = (a + b + m)/3 of the triangular distribution with parameters a, b, m.static double[]getMLE(double[] x, int n, double a, double b)Estimates the parameter m of the triangular distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1.double[]getParams()Return a table containing the parameters of the current distribution.doublegetStandardDeviation()Returns the standard deviation.static doublegetStandardDeviation(double a, double b, double m)Computes and returns the standard deviation of the triangular distribution with parameters a, b, m.doublegetVariance()Returns the variance.static doublegetVariance(double a, double b, double m)Computes and returns the variance Var[X] = (a2 + b2 + m2 - ab - am - bm)/18 of the triangular distribution with parameters a, b, m.doubleinverseF(double u)Returns the inverse distribution function x = F-1(u).static doubleinverseF(double a, double b, double m, double u)Computes the inverse distribution function.voidsetParams(double a, double b, double m)Sets the value of the parameters a, b and m for this object.java.lang.StringtoString()Returns a String containing information about the current distribution.-
Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
getXinf, getXsup, inverseBisection, inverseBrent, setXinf, setXsup
-
-
-
-
Constructor Detail
-
TriangularDist
public TriangularDist()
Constructs a TriangularDist object with default parameters a = 0, b = 1, and m = 0.5.
-
TriangularDist
public TriangularDist(double m)
Constructs a TriangularDist object with parameters a = 0 , b = 1 and m = m.
-
TriangularDist
public TriangularDist(double a, double b, double m)Constructs a TriangularDist object with parameters a, b and m.
-
-
Method Detail
-
density
public double density(double x)
Description copied from class:ContinuousDistributionReturns f (x), the density evaluated at x.- Specified by:
densityin classContinuousDistribution- Parameters:
x- value at which the density is evaluated- Returns:
- density function evaluated at x
-
cdf
public double cdf(double x)
Description copied from interface:DistributionReturns the distribution function F(x).- Parameters:
x- value at which the distribution function is evaluated- Returns:
- distribution function evaluated at x
-
barF
public double barF(double x)
Description copied from class:ContinuousDistributionReturns the complementary distribution function. The default implementation computes bar(F)(x) = 1 - F(x).- Specified by:
barFin interfaceDistribution- Overrides:
barFin classContinuousDistribution- Parameters:
x- value at which the complementary distribution function is evaluated- Returns:
- complementary distribution function evaluated at x
-
inverseF
public double inverseF(double u)
Description copied from class:ContinuousDistributionReturns the inverse distribution function x = F-1(u). Restrictions: u∈[0, 1].- Specified by:
inverseFin interfaceDistribution- Overrides:
inverseFin classContinuousDistribution- Parameters:
u- value at which the inverse distribution function is evaluated- Returns:
- the inverse distribution function evaluated at u
-
getMean
public double getMean()
Description copied from class:ContinuousDistributionReturns the mean.- Specified by:
getMeanin interfaceDistribution- Overrides:
getMeanin classContinuousDistribution- Returns:
- the mean
-
getVariance
public double getVariance()
Description copied from class:ContinuousDistributionReturns the variance.- Specified by:
getVariancein interfaceDistribution- Overrides:
getVariancein classContinuousDistribution- Returns:
- the variance
-
getStandardDeviation
public double getStandardDeviation()
Description copied from class:ContinuousDistributionReturns the standard deviation.- Specified by:
getStandardDeviationin interfaceDistribution- Overrides:
getStandardDeviationin classContinuousDistribution- Returns:
- the standard deviation
-
density
public static double density(double a, double b, double m, double x)Computes the density function.
-
cdf
public static double cdf(double a, double b, double m, double x)Computes the distribution function.
-
barF
public static double barF(double a, double b, double m, double x)Computes the complementary distribution function.
-
inverseF
public static double inverseF(double a, double b, double m, double u)Computes the inverse distribution function.
-
getMLE
public static double[] getMLE(double[] x, int n, double a, double b)Estimates the parameter m of the triangular distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1. The estimated parameter is returned in a one-element array: [hat(m)]. See.- Parameters:
x- the list of observations used to evaluate parametersn- the number of observations used to evaluate parametersa- lower limit of rangeb- upper limit of range- Returns:
- returns the parameter [m]
-
getInstanceFromMLE
public static TriangularDist getInstanceFromMLE(double[] x, int n, double a, double b)
Creates a new instance of a triangular distribution with parameters a and b. m is estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.- Parameters:
x- the list of observations used to evaluate parametersn- the number of observations used to evaluate parametersa- lower limit of rangeb- upper limit of range
-
getMean
public static double getMean(double a, double b, double m)Computes and returns the mean E[X] = (a + b + m)/3 of the triangular distribution with parameters a, b, m.- Returns:
- the mean of the triangular distribution
-
getVariance
public static double getVariance(double a, double b, double m)Computes and returns the variance Var[X] = (a2 + b2 + m2 - ab - am - bm)/18 of the triangular distribution with parameters a, b, m.- Returns:
- the variance of the triangular distribution
-
getStandardDeviation
public static double getStandardDeviation(double a, double b, double m)Computes and returns the standard deviation of the triangular distribution with parameters a, b, m.- Returns:
- the standard deviation of the triangular distribution
-
getA
public double getA()
Returns the value of a for this object.
-
getB
public double getB()
Returns the value of b for this object.
-
getM
public double getM()
Returns the value of m for this object.
-
setParams
public void setParams(double a, double b, double m)Sets the value of the parameters a, b and m for this object.
-
getParams
public double[] getParams()
Return a table containing the parameters of the current distribution. This table is put in regular order: [a, b, m].
-
toString
public java.lang.String toString()
Returns a String containing information about the current distribution.- Overrides:
toStringin classjava.lang.Object
-
-
DMelt 3.0 © DataMelt by jWork.ORG