Gamma distribution
The Gamma distribution is a continuous, positive-only, unimodal distribution that encodes the time required for «alpha» events to occur in a Poisson process with mean arrival time of «beta»
Use the Gamma distribution with «alpha» > 1 if you have a sharp lower bound of zero but no sharp upper bound, a single mode, and a positive skew. The LogNormal distribution is also an option in this case. Gamma() is especially appropriate when encoding arrival times for sets of events. A gamma distribution with a large value for «alpha» is also useful when you wish to use a bell-shaped curve for a positive-only quantity.
The gamma distribution is bounded below by zero (all sample points are positive) and is unbounded from above. It has a theoretical mean of alpha*beta
and a theoretical variance of alpha*beta^2
. When «alpha» > 1, the distribution is unimodal with the mode at (alpha - 1)*beta
. An exponential distribution results when alpha = 1
. As [math]\displaystyle{ \alpha \to \infty }[/math] , the gamma distribution approaches a normal distribution in shape.
Functions
- Note
Some textbooks use Rate = 1/beta
, instead of «beta», as the scale parameter.
Gamma(alpha, beta, over)
The distribution function. Use this to describe a quantity that is gamma-distributed with shape parameter «alpha» and scale parameter «beta». The scale parameter, «beta», is optional and defaults to beta = 1
.
Dens_Gamma(x, alpha, beta)
To use this, you need to add the Distribution Densities Library to your model.
The analytic probability density of the Gamma distribution at «x». Returns
- [math]\displaystyle{ p(x) = {{\beta^{-\alpha} x^{\alpha-1} \exp(-x/\beta)}\over{\Gamma(\alpha)}} }[/math]
CumGamma(x, alpha, beta)
To use this, you need to add the Distribution Densities Library to your model, or use GammaI instead.
The cumulative density up to «x», given for [math]\displaystyle{ x\gt 0 }[/math] by
- [math]\displaystyle{ F(x) = {1\over {\Gamma(\alpha)}} \int_0^x \beta^{-\alpha} t^{\alpha-1} \exp(-t/\beta) dt }[/math]
This is also the same as the regularized incomplete gamma function, computed by the function GammaI.
CumGammaInv(p, alpha, beta)
To use this, you need to add the Distribution Densities Library to your model, or use GammaIInv instead.
The analytic inverse cumulative probability function (quantile function). Returns the pth fractile/quantile/percentile for the gamma distribution. Same as the inverse incomplete gamma function, GammaIInv.
When to use
Use the Gamma distribution with «alpha» > 1 if you have a sharp lower bound of zero but no sharp upper bound, a single mode, and a positive skew. The LogNormal distribution is also an option in this case. Gamma() is especially appropriate when encoding arrival times for sets of events. A gamma distribution with a large value for «alpha» is also useful when you wish to use a bell-shaped curve for a positive-only quantity.
Statistics
The theoretical statistics (i.e., in the absence of sampling error) for the gamma distribution are as follows.
- [math]\displaystyle{ 0\lt x\lt \infty }[/math]
- [math]\displaystyle{ \alpha, \beta\gt 0 }[/math]
- Mean = [math]\displaystyle{ \alpha \beta }[/math]
- Mode = [math]\displaystyle{ Max([0, \alpha-1) \beta]) }[/math]
- Variance = [math]\displaystyle{ \alpha \beta^2 }[/math]
- SDeviation = [math]\displaystyle{ \beta \sqrt{\alpha} }[/math]
- Skewness = [math]\displaystyle{ 2 / \sqrt{\alpha} }[/math]
- Kurtosis = [math]\displaystyle{ 6 / \alpha }[/math]
Parameter Estimation
Suppose X
contains sampled historical data indexed by I
. To estimate the parameters of the gamma distribution that best fits this sampled data, the following parameter estimation formulae can be used:
The above is not the maximum likelihood parameter estimation, which turns out to be rather complex (see Wikipedia). However, in practice the above estimation formula perform excellently and are so convenient that more complicated methods are hardly justified.
The Gamma distribution with an «offset» has the form:
- Gamma(alpha, beta) - offset
To estimate all three parameters, the following heuristic estimation can be used:
alpha := 4/Skewness(X, I)^2
offset := Mean(X, I) - SDeviation(X, I)*Sqrt(alpha)
beta := Variance(X, I)/(Mean(X, I) - offset)
History
- The analytic functions, DensGamma, CumGamma, and CumGammaInv were added as built-in functions to Analytica 5.2.
- The underscore in
Dens_Gamma
function in the Distribution Densities Library was dropped for the built-in function. - In Analytica 5.0, the analytic functions CumGamma and CumGammaInv were added to the Distribution Densities Library. Although they are identical to the incomplete gamma function and its inverse, GammaI and GammaIInv, and hence entirely redundant, the addition was done to match the naming convention used for all other distributions.
- GammaI and GammaIInv were added as built-in functions in Analytica 2.0.
See Also
- Erlang
- Gamma_m_sd
- GammaI -- cumulative density at «x», incomplete gamma function
- GammaIInv -- inverse cumulative density
- GammaFn -- the gamma function
- Beta
- Exponential
- LogNormal -- and above, related distributions
- SDeviation
- Parametric continuous distributions
- Distribution Densities Library
Enable comment auto-refresher