SSJ
3.3.1
Stochastic Simulation in Java
|
Extends the class ContinuousDistribution for the gamma distribution [99] (page 337) with shape parameter \(\alpha> 0\) and scale parameter \(\lambda> 0\). More...
Public Member Functions | |
GammaDist (double alpha) | |
Constructs a GammaDist object with parameters \(\alpha\) = alpha and \(\lambda=1\). | |
GammaDist (double alpha, double lambda) | |
Constructs a GammaDist object with parameters \(\alpha\) = alpha and \(\lambda\) = lambda . | |
GammaDist (double alpha, double lambda, int d) | |
Constructs a GammaDist object with parameters \(\alpha\) = alpha and \(\lambda\) = lambda , and approximations of roughly d decimal digits of precision when computing functions. | |
double | density (double x) |
double | cdf (double x) |
Returns the distribution function \(F(x)\). More... | |
double | barF (double x) |
Returns \(\bar{F}(x) = 1 - F(x)\). More... | |
double | inverseF (double u) |
Returns the inverse distribution function \(F^{-1}(u)\), defined in ( inverseF ). More... | |
double | getMean () |
Returns the mean of the distribution function. | |
double | getVariance () |
Returns the variance of the distribution function. | |
double | getStandardDeviation () |
Returns the standard deviation of the distribution function. | |
double | getAlpha () |
Return the parameter \(\alpha\) for this object. | |
double | getLambda () |
Return the parameter \(\lambda\) for this object. | |
void | setParams (double alpha, double lambda, int d) |
double [] | getParams () |
Return a table containing the parameters of the current distribution. More... | |
String | toString () |
Returns a String containing information about the current distribution. | |
Public Member Functions inherited from ContinuousDistribution | |
abstract double | density (double x) |
Returns \(f(x)\), the density evaluated at \(x\). More... | |
double | barF (double x) |
Returns the complementary distribution function. More... | |
double | inverseBrent (double a, double b, double u, double tol) |
Computes the inverse distribution function \(x = F^{-1}(u)\), using the Brent-Dekker method. More... | |
double | inverseBisection (double u) |
Computes and returns the inverse distribution function \(x = F^{-1}(u)\), using bisection. More... | |
double | inverseF (double u) |
Returns the inverse distribution function \(x = F^{-1}(u)\). More... | |
double | getMean () |
Returns the mean. More... | |
double | getVariance () |
Returns the variance. More... | |
double | getStandardDeviation () |
Returns the standard deviation. More... | |
double | getXinf () |
Returns \(x_a\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
double | getXsup () |
Returns \(x_b\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
void | setXinf (double xa) |
Sets the value \(x_a=\) xa , such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
void | setXsup (double xb) |
Sets the value \(x_b=\) xb , such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
Static Public Member Functions | |
static double | density (double alpha, double lambda, double x) |
Computes the density function ( fgamma ) at \(x\). | |
static double | cdf (double alpha, double lambda, int d, double x) |
Returns an approximation of the gamma distribution function with parameters \(\alpha\) = alpha and \(\lambda\) = lambda , whose density is given by ( fgamma ). More... | |
static double | cdf (double alpha, int d, double x) |
Equivalent to cdf (alpha, 1.0, d, x) . | |
static double | barF (double alpha, double lambda, int d, double x) |
Computes the complementary distribution function. | |
static double | barF (double alpha, int d, double x) |
Same as barF(alpha, 1.0, d, x). | |
static double | inverseF (double alpha, double lambda, int d, double u) |
Computes the inverse distribution function. | |
static double | inverseF (double alpha, int d, double u) |
Same as inverseF(alpha, 1, d, u). | |
static double [] | getMLE (double[] x, int n) |
Estimates the parameters \((\alpha,\lambda)\) of the gamma distribution using the maximum likelihood method, from the \(n\) observations \(x[i]\), \(i = 0, 1,…, n-1\). More... | |
static GammaDist | getInstanceFromMLE (double[] x, int n) |
Creates a new instance of a gamma distribution with parameters \(\alpha\) and \(\lambda\) estimated using the maximum likelihood method based on the \(n\) observations \(x[i]\), \(i = 0, 1, …, n-1\). More... | |
static double | getMean (double alpha, double lambda) |
Computes and returns the mean \(E[X] = \alpha/\lambda\) of the gamma distribution with parameters \(\alpha\) and \(\lambda\). More... | |
static double | getVariance (double alpha, double lambda) |
Computes and returns the variance \(\mbox{Var}[X] = \alpha/\lambda^2\) of the gamma distribution with parameters \(\alpha\) and \(\lambda\). More... | |
static double | getStandardDeviation (double alpha, double lambda) |
Computes and returns the standard deviation of the gamma distribution with parameters \(\alpha\) and \(\lambda\). More... | |
Static Package Functions | |
static double | mybelog (double x) |
Additional Inherited Members | |
Public Attributes inherited from ContinuousDistribution | |
int | decPrec = 15 |
Protected Attributes inherited from ContinuousDistribution | |
double | supportA = Double.NEGATIVE_INFINITY |
double | supportB = Double.POSITIVE_INFINITY |
Static Protected Attributes inherited from ContinuousDistribution | |
static final double | XBIG = 100.0 |
static final double | XBIGM = 1000.0 |
static final double [] | EPSARRAY |
Extends the class ContinuousDistribution for the gamma distribution [99] (page 337) with shape parameter \(\alpha> 0\) and scale parameter \(\lambda> 0\).
\[ f(x) = \frac{\lambda^{\alpha}x^{\alpha- 1}e^{-\lambda x}}{\Gamma(\alpha)}, \qquad\mbox{for } x > 0,\tag{fgamma} \]
where \(\Gamma\) is the gamma function, defined by
\[ \Gamma(\alpha) = \int_0^{\infty}x^{\alpha-1} e^{-x} dx. \tag{Gamma} \]
In particular, \(\Gamma(n) = (n-1)!\) when \(n\) is a positive integer.
double barF | ( | double | x | ) |
Returns \(\bar{F}(x) = 1 - F(x)\).
x | value at which the complementary distribution function is evaluated |
x
Implements Distribution.
double cdf | ( | double | x | ) |
Returns the distribution function \(F(x)\).
x | value at which the distribution function is evaluated |
x
Implements Distribution.
|
static |
Returns an approximation of the gamma distribution function with parameters \(\alpha\) = alpha
and \(\lambda\) = lambda
, whose density is given by ( fgamma ).
The approximation is an improved version of the algorithm in [19] . The function tries to return \(d\) decimals digits of precision. For \(\alpha\) not too large (e.g., \(\alpha\le1000\)), \(d\) gives a good idea of the precision attained.
|
static |
Creates a new instance of a gamma distribution with parameters \(\alpha\) and \(\lambda\) estimated using the maximum likelihood method based on the \(n\) observations \(x[i]\), \(i = 0, 1, …, n-1\).
x | the list of observations to use to evaluate parameters |
n | the number of observations to use to evaluate parameters |
|
static |
Computes and returns the mean \(E[X] = \alpha/\lambda\) of the gamma distribution with parameters \(\alpha\) and \(\lambda\).
|
static |
Estimates the parameters \((\alpha,\lambda)\) 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: [ \(\alpha\), \(\lambda\)]. The maximum likelihood estimators are the values \((\hat{\alpha}, \hat{\lambda})\) that satisfy the equations:
\begin{align*} \frac{1}{n} \sum_{i=1}^n \ln(x_i) - \ln(\bar{x}_n) & = \psi(\hat{\alpha}) - \ln(\hat{\alpha}) \\ \hat{\lambda} \bar{x}_n & = \hat{\alpha} \end{align*}
where \(\bar{x}_n\) is the average of \(x[0],…,x[n-1]\), and \(\psi\) is the logarithmic derivative of the Gamma function \(\psi(x) = \Gamma’(x) / \Gamma(x)\) ([99] (page 361)).
x | the list of observations to use to evaluate parameters |
n | the number of observations to use to evaluate parameters |
double [] getParams | ( | ) |
Return a table containing the parameters of the current distribution.
This table is put in regular order: [ \(\alpha\), \(\lambda\)].
Implements Distribution.
|
static |
Computes and returns the standard deviation of the gamma distribution with parameters \(\alpha\) and \(\lambda\).
|
static |
Computes and returns the variance \(\mbox{Var}[X] = \alpha/\lambda^2\) of the gamma distribution with parameters \(\alpha\) and \(\lambda\).
double inverseF | ( | double | u | ) |
Returns the inverse distribution function \(F^{-1}(u)\), defined in ( inverseF ).
u | value in the interval \((0,1)\) for which the inverse distribution function is evaluated |
u
Implements Distribution.