umontreal.iro.lecuyer.probdist
Class GammaDist
- java.lang.Object
-
- umontreal.iro.lecuyer.probdist.ContinuousDistribution
-
- umontreal.iro.lecuyer.probdist.GammaDist
-
- All Implemented Interfaces:
- Distribution
- Direct Known Subclasses:
- ErlangDist, GammaDistFromMoments
public class GammaDist extends ContinuousDistribution
Extends the classContinuousDistributionfor the gamma distribution with shape parameter α > 0 and scale parameter λ > 0. The density isf (x) = λαxα-1e-λx/Γ(α), for x > 0,where Γ is the gamma function, defined byΓ(α) = ∫0∞xα-1e-xdx.In particular, Γ(n) = (n - 1)! when n is a positive integer.
-
-
Field Summary
-
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
-
-
Constructor Summary
Constructors Constructor and Description GammaDist(double alpha)Constructs a GammaDist object with parameters α = alpha and λ = 1.GammaDist(double alpha, double lambda)Constructs a GammaDist object with parameters α = alpha and λ = lambda.GammaDist(double alpha, double lambda, int d)Constructs a GammaDist object with parameters α = alpha and λ = lambda, and approximations of roughly d decimal digits of precision when computing functions.
-
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 alpha, double lambda, int d, double x)Computes the complementary distribution function.static doublebarF(double alpha, int d, double x)Same asbarF(alpha, 1.0, d, x).doublecdf(double x)Returns the distribution function F(x).static doublecdf(double alpha, double lambda, int d, double x)Returns an approximation of the gamma distribution function with parameters α = alpha and λ = lambda.static doublecdf(double alpha, int d, double x)Equivalent to cdf (alpha, 1.0, d, x).doubledensity(double x)Returns f (x), the density evaluated at x.static doubledensity(double alpha, double lambda, double x)Computes the density function at x.doublegetAlpha()Return the parameter α for this object.static GammaDistgetInstanceFromMLE(double[] x, int n)Creates a new instance of a gamma distribution with parameters α and λ estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.doublegetLambda()Return the parameter λ for this object.doublegetMean()Returns the mean.static doublegetMean(double alpha, double lambda)Computes and returns the mean E[X] = α/λ of the gamma distribution with parameters α and λ.static double[]getMLE(double[] x, int n)Estimates the parameters (α, λ) of the gamma 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 alpha, double lambda)Computes and returns the standard deviation of the gamma distribution with parameters α and λ.doublegetVariance()Returns the variance.static doublegetVariance(double alpha, double lambda)Computes and returns the variance Var[X] = α/λ2 of the gamma distribution with parameters α and λ.doubleinverseF(double u)Returns the inverse distribution function x = F-1(u).static doubleinverseF(double alpha, double lambda, int d, double u)Computes the inverse distribution function.static doubleinverseF(double alpha, int d, double u)Same asinverseF(alpha, 1, d, u).voidsetParams(double alpha, double lambda, int d)java.lang.StringtoString()-
Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
getXinf, getXsup, inverseBisection, inverseBrent, setXinf, setXsup
-
-
-
-
Constructor Detail
-
GammaDist
public GammaDist(double alpha)
Constructs a GammaDist object with parameters α = alpha and λ = 1.
-
GammaDist
public GammaDist(double alpha, double lambda)Constructs a GammaDist object with parameters α = alpha and λ = lambda.
-
GammaDist
public GammaDist(double alpha, double lambda, int d)Constructs a GammaDist object with parameters α = alpha and λ = lambda, and approximations of roughly d decimal digits of precision when computing functions.
-
-
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 alpha, double lambda, double x)Computes the density function at x.
-
cdf
public static double cdf(double alpha, double lambda, int d, double x)Returns an approximation of the gamma distribution function with parameters α = alpha and λ = lambda. The function tries to return d decimals digits of precision. For α not too large (e.g., α <= 1000), d gives a good idea of the precision attained.
-
cdf
public static double cdf(double alpha, int d, double x)Equivalent to cdf (alpha, 1.0, d, x).
-
barF
public static double barF(double alpha, double lambda, int d, double x)Computes the complementary distribution function.
-
barF
public static double barF(double alpha, int d, double x)Same asbarF(alpha, 1.0, d, x).
-
inverseF
public static double inverseF(double alpha, double lambda, int d, double u)Computes the inverse distribution function.
-
inverseF
public static double inverseF(double alpha, int d, double u)Same asinverseF(alpha, 1, d, u).
-
getMLE
public static double[] getMLE(double[] x, int n)Estimates the parameters (α, λ) of the gamma distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1. The estimates are returned in a two-element array, in regular order: [α, λ].- Parameters:
x- the list of observations to use to evaluate parametersn- the number of observations to use to evaluate parameters- Returns:
- returns the parameters [ hat(α), hat(λ)]
-
getInstanceFromMLE
public static GammaDist getInstanceFromMLE(double[] x, int n)
Creates a new instance of a gamma distribution with parameters α and λ estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.- Parameters:
x- the list of observations to use to evaluate parametersn- the number of observations to use to evaluate parameters
-
getMean
public static double getMean(double alpha, double lambda)Computes and returns the mean E[X] = α/λ of the gamma distribution with parameters α and λ.- Returns:
- the mean of the gamma distribution E[X] = α/λ
-
getVariance
public static double getVariance(double alpha, double lambda)Computes and returns the variance Var[X] = α/λ2 of the gamma distribution with parameters α and λ.- Returns:
- the variance of the gamma distribution Var[X] = α/λ2
-
getStandardDeviation
public static double getStandardDeviation(double alpha, double lambda)Computes and returns the standard deviation of the gamma distribution with parameters α and λ.- Returns:
- the standard deviation of the gamma distribution
-
getAlpha
public double getAlpha()
Return the parameter α for this object.
-
getLambda
public double getLambda()
Return the parameter λ for this object.
-
setParams
public void setParams(double alpha, double lambda, int d)
-
getParams
public double[] getParams()
Return a table containing the parameters of the current distribution. This table is put in regular order: [α, λ].
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-
DMelt 3.0 © DataMelt by jWork.ORG