Gamma distribution

From Wikipedia, the free encyclopedia
(Redirected from Gamma Distribution)
Jump to navigation Jump to search
Gamma
Probability density function
Probability density plots of gamma distributions
Cumulative distribution function
Cumulative distribution plots of gamma distributions
Parameters
Support x[0,) x[0,)
PDF f(x)=1Γ(α)θαxα1ex/θ f(x)=λαΓ(α)xα1eλx
CDF F(x)=1Γ(α)γ(α,xθ) F(x)=1Γ(α)γ(α,λx)
Mean αθ αλ
Median Simple closed form does not exist Simple closed form does not exist
Mode (α1)θ for α1, 0 for α<1 α1λ for α10 for α<1
Variance αθ2 αλ2
Skewness 2α 2α
Excess kurtosis 6α 6α
Entropy α+lnθ+lnΓ(α)+(1α)ψ(α) αlnλ+lnΓ(α)+(1α)ψ(α)
MGF (1θt)α for t<1θ (1tλ)α for t<λ
CF (1θit)α (1itλ)α
Fisher information I(α,θ)=(ψ(1)(α)θ1θ1αθ2) I(α,λ)=(ψ(1)(α)λ1λ1αλ2)
Method of moments α=E[X]2V[X], θ=V[X]E[X] α=E[X]2V[X], λ=E[X]V[X]

In probability theory and statistics, the gamma distribution is a versatile two-parameter family of continuous probability distributions.[1] The exponential distribution, Erlang distribution, and chi-squared distribution are special cases of the gamma distribution.[2] There are two equivalent parameterizations in common use:

  1. With a shape parameter α and a scale parameter θ
  2. With a shape parameter α and a rate parameter λ=1/θ

In each of these forms, both parameters are positive real numbers.

The distribution has important applications in various fields, including econometrics, Bayesian statistics, and life testing.[3] In econometrics, the (α, θ) parameterization is common for modeling waiting times, such as the time until death, where it often takes the form of an Erlang distribution for integer α values. Bayesian statisticians prefer the (α,λ) parameterization, utilizing the gamma distribution as a conjugate prior for several inverse scale parameters, facilitating analytical tractability in posterior distribution computations.

The gamma distribution is the maximum entropy probability distribution (both with respect to a uniform base measure and a 1/x base measure) for a random variable X for which E[X] = αθ = α/λ is fixed and greater than zero, and E[ln X] = ψ(α) + ln θ = ψ(α) − ln λ is fixed (ψ is the digamma function).[4]

Definitions

[edit | edit source]

The parameterization with α and θ appears to be more common in econometrics and other applied fields, where the gamma distribution is frequently used to model waiting times. For instance, in life testing, the waiting time until death is a random variable that is frequently modeled with a gamma distribution. See Hogg and Craig[5] for an explicit motivation.

The parameterization with α and λ is more common in Bayesian statistics, where the gamma distribution is used as a conjugate prior distribution for various types of inverse scale (rate) parameters, such as the λ of an exponential distribution or a Poisson distribution[6] – or for that matter, the λ of the gamma distribution itself. The closely related inverse-gamma distribution is used as a conjugate prior for scale parameters, such as the variance of a normal distribution.

If α is a positive integer, then the distribution represents an Erlang distribution; i.e., the sum of α independent exponentially distributed random variables, each of which has a mean of θ.

Characterization using shape α and rate λ

[edit | edit source]

The gamma distribution can be parameterized in terms of a shape parameter α and an inverse scale parameter λ = 1/θ, called a rate parameter. A random variable X that is gamma-distributed with shape α and rate λ is denoted

XΓ(α,λ)Gamma(α,λ)

The corresponding probability density function in the shape-rate parameterization is

f(x;α,λ)=xα1eλxλαΓ(α) for x>0α,λ>0,

where Γ(α) is the gamma function. For all positive integers, Γ(α)=(α1)!.

The cumulative distribution function is the regularized gamma function:

F(x;α,λ)=0xf(u;α,λ)du=γ(α,λx)Γ(α),

where γ(α,λx) is the lower incomplete gamma function.

If α is a positive integer (i.e., the distribution is an Erlang distribution), the cumulative distribution function has the following series expansion:[7]

F(x;α,λ)=1i=0α1(λx)ii!eλx=eλxi=α(λx)ii!.

Characterization using shape α and scale θ

[edit | edit source]

A random variable X that is gamma-distributed with shape α and scale θ is denoted by

XΓ(α,θ)Gamma(α,θ)

File:Gamma-PDF-3D.png
Illustration of the gamma PDF for parameter values over α and x with θ set to 1, 2, 3, 4, 5, and 6. One can see each θ layer by itself here [2] as well as by α [3] and x. [4].

The probability density function using the shape-scale parametrization is

f(x;α,θ)=xα1ex/θθαΓ(α) for x>0 and α,θ>0.

Here Γ(α) is the gamma function evaluated at α.

The cumulative distribution function is the regularized gamma function:

F(x;α,θ)=0xf(u;α,θ)du=γ(α,xθ)Γ(α),

where γ(α,xθ) is the lower incomplete gamma function.

It can also be expressed as follows, if α is a positive integer (i.e., the distribution is an Erlang distribution):[7]

F(x;α,θ)=1i=0α11i!(xθ)iex/θ=ex/θi=α1i!(xθ)i.

Both parametrizations are common because either can be more convenient depending on the situation.

Properties

[edit | edit source]

Mean and variance

[edit | edit source]

The mean of gamma distribution is given by the product of its shape and scale parameters: μ=αθ=α/λ The variance is: σ2=αθ2=α/λ2 The square root of the inverse shape parameter gives the coefficient of variation: σ/μ=α0.5=1/α

Skewness

[edit | edit source]

The skewness of the gamma distribution only depends on its shape parameter, α, and it is equal to 2/α.

Higher moments

[edit | edit source]

The r-th raw moment is given by:

E[Xr]=θrΓ(α+r)Γ(α)=θrαr

with αr the rising factorial.

Median approximations and bounds

[edit | edit source]
File:Gamma distribution median bounds.png
Bounds and asymptotic approximations to the median of the gamma distribution. The cyan-colored region indicates the large gap between published lower and upper bounds before 2021.

Unlike the mode and the mean, which have readily calculable formulas based on the parameters, the median does not have a closed-form equation. The median for this distribution is the value ν such that 1Γ(α)θα0νxα1ex/θdx=12.

A rigorous treatment of the problem of determining an asymptotic expansion and bounds for the median of the gamma distribution was handled first by Chen and Rubin, who proved that (for θ=1) α13<ν(α)<α, where μ(α)=α is the mean and ν(α) is the median of the Gamma(α,1) distribution.[8] For other values of the scale parameter, the mean scales to μ=αθ, and the median bounds and approximations would be similarly scaled by θ.

K. P. Choi found the first five terms in a Laurent series asymptotic approximation of the median by comparing the median to Ramanujan's θ function.[9] Berg and Pedersen found more terms:[10] ν(α)=α13+8405α1+18425515α2+22483444525α31900640815345358875α4𝒪(α5)+

File:Gamma distribution median Lyon bounds.png
Two gamma distribution median asymptotes which were proved in 2023 to be bounds (upper solid red and lower dashed red), of the from ν(α)21/α(A+α), and an interpolation between them that makes an approximation (dotted red) that is exact at α = 1 and has maximum relative error of about 0.6%. The cyan shaded region is the remaining gap between upper and lower bounds (or conjectured bounds), including these new bounds and the bounds in the previous figure.
File:Gamma distribution median loglog bounds.png
Log–log plot of upper (solid) and lower (dashed) bounds to the median of a gamma distribution and the gaps between them. The green, yellow, and cyan regions represent the gap before the Lyon 2021 paper. The green and yellow narrow that gap with the lower bounds that Lyon proved. Lyon's bounds proved in 2023 further narrow the yellow. Mostly within the yellow, closed-form rational-function-interpolated conjectured bounds are plotted along with the numerically calculated median (dotted) value. Tighter interpolated bounds exist but are not plotted, as they would not be resolved at this scale.

Partial sums of these series are good approximations for high enough α; they are not plotted in the figure, which is focused on the low-α region that is less well approximated.

Berg and Pedersen also proved many properties of the median, showing that it is a convex function of α,[11] and that the asymptotic behavior near α=0 is ν(α)eγ21/α (where γ is the Euler–Mascheroni constant), and that for all α>0 the median is bounded by α21/α<ν(α)<ke1/3k.[10]

A closer linear upper bound, for α1 only, was provided in 2021 by Gaunt and Merkle,[12] relying on the Berg and Pedersen result that the slope of ν(α) is everywhere less than 1: ν(α)α1+log2 for α1 (with equality at α=1) which can be extended to a bound for all α>0 by taking the max with the chord shown in the figure, since the median was proved convex.[11]

An approximation to the median that is asymptotically accurate at high α and reasonable down to α=0.5 or a bit lower follows from the Wilson–Hilferty transformation: ν(α)=α(119α)3 which goes negative for α<1/9.

In 2021, Lyon proposed several approximations of the form ν(α)21/α(A+Bα). He conjectured values of A and B for which this approximation is an asymptotically tight upper or lower bound for all α>0.[13] In particular, he proposed these closed-form bounds, which he proved in 2023:[14]

νL(α)=21/α(log213+α) is a lower bound, asymptotically tight as α νU(α)=21/α(eγ+α) is an upper bound, asymptotically tight as α0

Lyon also showed (informally in 2021, rigorously in 2023) two other lower bounds that are not closed-form expressions, including this one involving the gamma function, based on solving the integral expression substituting 1 for ex: ν(α)>(2Γ(α+1))1/α (approaching equality as k0) and the tangent line at α=1 where the derivative was found to be ν(1)0.9680448: ν(α)ν(1)+(α1)ν(1) (with equality at k=1) ν(α)log2+(α1)[γ2Ei(log2)loglog2] where Ei is the exponential integral.[13][14]

Additionally, he showed that interpolations between bounds could provide excellent approximations or tighter bounds to the median, including an approximation that is exact at α=1 (where ν(1)=log2) and has a maximum relative error less than 0.6%. Interpolated approximations and bounds are all of the form ν(α)g~(α)νL(α)+(1g~(α))νU(α) where g~ is an interpolating function running monotonially from 0 at low α to 1 at high α, approximating an ideal, or exact, interpolator g(α): g(α)=νU(α)ν(α)νU(α)νL(α) For the simplest interpolating function considered, a first-order rational function g~1(α)=αb0+α the tightest lower bound has b0=8405+eγlog2log222eγlog2+13log20.143472 and the tightest upper bound has b0=eγlog2+131eγπ2120.374654 The interpolated bounds are plotted (mostly inside the yellow region) in the log–log plot shown. Even tighter bounds are available using different interpolating functions, but not usually with closed-form parameters like these.[13]

Summation

[edit | edit source]

If Xi has a Gamma(αi, θ) distribution for i = 1, 2, ..., N (i.e., all distributions have the same scale parameter θ), then

i=1NXiGamma(i=1Nαi,θ)

provided all Xi are independent.

For the cases where the Xi are independent but have different scale parameters, see Mathai [15] or Moschopoulos.[16]

The gamma distribution exhibits infinite divisibility.

Scaling

[edit | edit source]

If XGamma(α,θ),

then, for any c > 0,

cXGamma(α,cθ), by moment generating functions,

or equivalently, if

XGamma(α,λ) (shape-rate parameterization)

cXGamma(α,λc),

Indeed, we know that if X is an exponential r.v. with rate λ, then cX is an exponential r.v. with rate λ/c; the same thing is valid with Gamma variates (and this can be checked using the moment-generating function, see, e.g.,these notes, 10.4-(ii)): multiplication by a positive constant c divides the rate (or, equivalently, multiplies the scale).

Exponential family

[edit | edit source]

The gamma distribution is a two-parameter exponential family with natural parameters α − 1 and −1/θ (equivalently, α − 1 and λ), and natural statistics X and ln X.

If the shape parameter α is held fixed, the resulting one-parameter family of distributions is a natural exponential family.

Logarithmic expectation and variance

[edit | edit source]

One can show that

E[lnX]=ψ(α)lnλ

or equivalently,

E[lnX]=ψ(α)+lnθ

where ψ is the digamma function. Likewise,

var[lnX]=ψ(1)(α)

where ψ(1) is the trigamma function.

This can be derived using the exponential family formula for the moment generating function of the sufficient statistic, because one of the sufficient statistics of the gamma distribution is ln x.

Information entropy

[edit | edit source]

The information entropy is

H(X)=E[lnp(X)]=E[αlnλ+lnΓ(α)(α1)lnX+λX]=αlnλ+lnΓ(α)+(1α)ψ(α).

In the α, θ parameterization, the information entropy is given by

H(X)=α+lnθ+lnΓ(α)+(1α)ψ(α).

Kullback–Leibler divergence

[edit | edit source]
File:Gamma-KL-3D.png
Illustration of the Kullback–Leibler (KL) divergence for two gamma PDFs. Here λ = λ0 + 1 which are set to 1, 2, 3, 4, 5, and 6. The typical asymmetry for the KL divergence is clearly visible.

The Kullback–Leibler divergence (KL-divergence), of Gamma(αp, λp) ("true" distribution) from Gamma(αq, λq) ("approximating" distribution) is given by[17]

DKL(αp,λp;αq,λq)=(αpαq)ψ(αp)logΓ(αp)Γ(αq)+αqlogλpλq+αp(λqλp1).

Written using the α, θ parameterization, the KL-divergence of Gamma(αp, θp) from Gamma(αq, θq) is given by

DKL(αp,θp;αq,θq)=(αpαq)ψ(αp)logΓ(αp)Γ(αq)+αqlogθqθp+αp(θpθq1).

Laplace transform

[edit | edit source]

The Laplace transform of the gamma PDF, which is the moment-generating function of the gamma distribution, is

F(s)=E[esX]=1(1+θs)α=(λλ+s)α

(where X is a random variable with that distribution).

[edit | edit source]

General

[edit | edit source]
  • Let X1,X2,,Xn be n independent and identically distributed random variables following an exponential distribution with rate parameter λ, then iXiGamma(n,λ) where n is the shape parameter and λ is the rate, and X¯=1niXiGamma(n,nλ).
  • If X ~ Gamma(1, λ) (in the shape–rate parametrization), then X has an exponential distribution with rate parameter λ. In the shape-scale parametrization, X ~ Gamma(1, θ) has an exponential distribution with rate parameter 1/θ.
  • If X ~ Gamma(ν/2, 2) (in the shape–scale parametrization), then X is identical to χ2(ν), the chi-squared distribution with ν degrees of freedom. Conversely, if Q ~ χ2(ν) and c is a positive constant, then cQ ~ Gamma(ν/2, 2c).
  • If θ = 1/α, one obtains the Schulz-Zimm distribution, which is most prominently used to model polymer chain lengths.
  • If α is an integer, the gamma distribution is an Erlang distribution and is the probability distribution of the waiting time until the α-th "arrival" in a one-dimensional Poisson process with intensity 1/θ. If
XΓ(α,θ),YPois(xθ),
then
Pr(X>x)=Pr(Y<α).
X2Γ(32,2a2).

Compound gamma

[edit | edit source]

If the shape parameter of the gamma distribution is known, but the inverse-scale parameter is unknown, then a gamma distribution for the inverse scale forms a conjugate prior. The compound distribution, which results from integrating out the inverse scale, has a closed-form solution known as the compound gamma distribution.[22]

If, instead, the shape parameter is known but the mean is unknown, with the prior of the mean being given by another gamma distribution, then it results in K-distribution.

Statistical inference

[edit | edit source]

Parameter estimation

[edit | edit source]

Maximum likelihood estimation

[edit | edit source]

The likelihood function for N iid observations (x1, ..., xN) is

L(α,θ)=i=1Nf(xi;α,θ)

from which we calculate the log-likelihood function

(α,θ)=(α1)i=1Nlnxii=1NxiθNαlnθNlnΓ(α)

Finding the maximum with respect to θ by taking the derivative and setting it equal to zero yields the maximum likelihood estimator of the θ parameter, which equals the sample mean x¯ divided by the shape parameter α:

θ^=1αNi=1Nxi=x¯α

Substituting this into the log-likelihood function gives

(α)=(α1)i=1NlnxiNαNαlnixiαNNlnΓ(α)

We need at least two samples: N2, because for N=1, the function (α) increases without bounds as α. For α>0, it can be verified that (α) is strictly concave, by using inequality properties of the polygamma function. Finding the maximum with respect to α by taking the derivative and setting it equal to zero yields

lnαψ(α)=ln(1Ni=1Nxi)1Ni=1Nlnxi=lnx¯lnx

where ψ is the digamma function and lnx is the sample mean of ln x. There is no closed-form solution for α. The function is numerically very well behaved, so if a numerical solution is desired, it can be found using, for example, Newton's method. An initial value of k can be found either using the method of moments, or using the approximation

lnαψ(α)12α(1+16α+1)

If we let

s=ln(1Ni=1Nxi)1Ni=1Nlnxi=lnx¯lnx

then α is approximately

k3s+(s3)2+24s12s

which is within 1.5% of the correct value.[23] An explicit form for the Newton–Raphson update of this initial guess is:[24]

ααlnαψ(k)s1αψ(α).

At the maximum-likelihood estimate (α^,θ^), the expected values for x and lnx agree with the empirical averages: α^θ^=x¯andψ(α^)+lnθ^=lnx.

Caveat for small shape parameter
[edit | edit source]

For data, (x1,,xN), that is represented in a floating point format that underflows to 0 for values smaller than ε, the logarithms that are needed for the maximum-likelihood estimate will cause failure if there are any underflows. If we assume the data was generated by a gamma distribution with cdf F(x;α,θ), then the probability that there is at least one underflow is: Pr(underflow)=1(1F(ε;α,θ))N This probability will approach 1 for small α and large N. For example, at α=102, N=104 and ε=2.25×10308, Pr(underflow)0.9998. A workaround is to instead have the data in logarithmic format.

In order to test an implementation of a maximum-likelihood estimator that takes logarithmic data as input, it is useful to be able to generate non-underflowing logarithms of random gamma variates, when α<1. Following the implementation in scipy.stats.loggamma, this can be done as follows:[25] sample YGamma(α+1,θ) and UUniform independently. Then the required logarithmic sample is Z=ln(Y)+ln(U)/α, so that exp(Z)Gamma(k,θ).

Closed-form estimators

[edit | edit source]

There exist consistent closed-form estimators of α and θ that are derived from the likelihood of the generalized gamma distribution.[26]

The estimate for the shape α is

α^=Ni=1NxiNi=1Nxilnxii=1Nxii=1Nlnxi

and the estimate for the scale θ is

θ^=1N2(Ni=1Nxilnxii=1Nxii=1Nlnxi)

Using the sample mean of x, the sample mean of ln x, and the sample mean of the product x·ln x simplifies the expressions to:

α^=x¯θ^ θ^=xlnxx¯lnx.

If the rate parameterization is used, the estimate of λ^=1/θ^.

These estimators are not strictly maximum likelihood estimators, but are instead referred to as mixed type log-moment estimators. They have however similar efficiency as the maximum likelihood estimators.

Although these estimators are consistent, they have a small bias. A bias-corrected variant of the estimator for the scale θ is

θ~=NN1θ^

A bias correction for the shape parameter α is given as[27]

α~=α^1N(3α^23(α^1+α^)45α^(1+α^)2)

Bayesian minimum mean squared error

[edit | edit source]

With known α and unknown θ, the posterior density function for theta (using the standard scale-invariant prior for θ) is

Pr(θα,x1,,xN)1θi=1Nf(xi;α,θ)

Denoting

yi=1Nxi,Pr(θα,x1,,xN)=C(xi)θNα1ey/θ

where the C (integration) constant does not depend on θ. The form of the posterior density reveals that 1 / θ is gamma-distributed with shape parameter + 2 and rate parameter y. Integration with respect to θ can be carried out using a change of variables to find the integration constant

0θNα1+mey/θdθ=0xNα1mexydx=y(Nαm)Γ(Nαm)

The moments can be computed by taking the ratio (m by m = 0)

E[xm]=Γ(Nαm)Γ(Nα)ym

which shows that the mean ± standard deviation estimate of the posterior distribution for θ is

yNα1±y2(Nα1)2(Nα2).

Bayesian inference

[edit | edit source]

Conjugate prior

[edit | edit source]

In Bayesian inference, the gamma distribution is the conjugate prior to many likelihood distributions: the Poisson, exponential, normal (with known mean), Pareto, gamma with known shape σ, inverse gamma with known shape parameter, and Gompertz with known scale parameter.

The gamma distribution's conjugate prior is:[28]

p(α,θp,q,r,s)=1Zpα1eθ1qΓ(α)rθαs,

where Z is the normalizing constant with no closed-form solution. The posterior distribution can be found by updating the parameters as follows:

p=pixi,q=q+ixi,r=r+n,s=s+n,

where n is the number of observations, and xi is the i-th observation from the gamma distribution.

Occurrence and applications

[edit | edit source]

Consider a sequence of events, with the waiting time for each event being an exponential distribution with rate λ. Then the waiting time for the n-th event to occur is the gamma distribution with integer shape α=n. This construction of the gamma distribution allows it to model a wide variety of phenomena where several sub-events, each taking time with exponential distribution, must happen in sequence for a major event to occur.[29] Examples include the waiting time of cell-division events,[30] number of compensatory mutations for a given mutation,[31] waiting time until a repair is necessary for a hydraulic system,[32] and so on.

In biophysics, the dwell time between steps of a molecular motor like ATP synthase is nearly exponential at constant ATP concentration, revealing that each step of the motor takes a single ATP hydrolysis. If there were n ATP hydrolysis events, then it would be a gamma distribution with degree n.[33]

The gamma distribution has been used to model the size of insurance claims[34] and rainfalls.[35] This means that aggregate insurance claims and the amount of rainfall accumulated in a reservoir are modelled by a gamma process – much like the exponential distribution generates a Poisson process.

The gamma distribution is also used to model errors in multi-level Poisson regression models because a mixture of Poisson distributions with gamma-distributed rates has a known closed form distribution, called negative binomial.

In wireless communication, the gamma distribution is used to model the multi-path fading of signal power;[citation needed] see also Rayleigh distribution and Rician distribution.

In oncology, the age distribution of cancer incidence often follows the gamma distribution, wherein the shape and scale parameters predict, respectively, the number of driver events and the time interval between them.[36][37]

In neuroscience, the gamma distribution is often used to describe the distribution of inter-spike intervals.[38][39]

In bacterial gene expression where protein production can occur in bursts, the copy number of a given protein often follows the gamma distribution, where the shape and scale parameters are, respectively, the mean number of bursts per cell cycle and the mean number of protein molecules produced per burst.[40]

In genomics, the gamma distribution was applied in peak calling step (i.e., in recognition of signal) in ChIP-chip[41] and ChIP-seq[42] data analysis.

In Bayesian statistics, the gamma distribution is widely used as a conjugate prior. It is the conjugate prior for the precision (i.e. inverse of the variance) of a normal distribution. It is also the conjugate prior for the exponential distribution.

In phylogenetics, the gamma distribution is the most commonly used approach to model among-sites rate variation[43] when maximum likelihood, Bayesian, or distance matrix methods are used to estimate phylogenetic trees. Phylogenetic analyzes that use the gamma distribution to model rate variation estimate a single parameter from the data because they limit consideration to distributions where α = λ. This parameterization means that the mean of this distribution is 1 and the variance is 1/α. Maximum likelihood and Bayesian methods typically use a discrete approximation to the continuous gamma distribution.[44][45]

Random variate generation

[edit | edit source]

Given the scaling property above, it is enough to generate gamma variables with θ = 1, as we can later convert to any value of λ with a simple division.

Suppose we wish to generate random variables from Gamma(n + δ, 1), where n is a non-negative integer and 0 < δ < 1. Using the fact that a Gamma(1, 1) distribution is the same as an Exp(1) distribution, and noting the method of generating exponential variables, we conclude that if U is uniformly distributed on (0, 1], then −ln U is distributed Gamma(1, 1) (i.e. inverse transform sampling). Now, using the "α-addition" property of gamma distribution, we expand this result:

k=1nlnUkΓ(n,1)

where Uk are all uniformly distributed on (0, 1] and independent. All that is left now is to generate a variable distributed as Gamma(δ, 1) for 0 < δ < 1 and apply the "α-addition" property once more. This is the most difficult part.

Random generation of gamma variates is discussed in detail by Devroye,[46]: 401–428  noting that none are uniformly fast for all shape parameters. For small values of the shape parameter, the algorithms are often not valid.[46]: 406  For arbitrary values of the shape parameter, one can apply the Ahrens and Dieter[47] modified acceptance-rejection method Algorithm GD (shape α ≥ 1), or transformation method[48] when 0 < α < 1. Also see Cheng and Feast Algorithm GKM 3[49] or Marsaglia's squeeze method.[50]

The following is a version of the Ahrens-Dieter acceptance–rejection method:[47]

  1. Generate U, V and W as iid uniform (0, 1] variates.
  2. If Uee+δ then ξ=V1/δ and η=Wξδ1. Otherwise, ξ=1lnV and η=Weξ.
  3. If η>ξδ1eξ then go to step 1.
  4. ξ is distributed as Γ(δ, 1).

A summary of this is θ(ξi=1αlnUi)Γ(α,θ) where α is the integer part of α, ξ is generated via the algorithm above with δ = {α} (the fractional part of α) and the Uk are all independent.

While the above approach is technically correct, Devroye notes that it is linear in the value of α and generally is not a good choice. Instead, he recommends using either rejection-based or table-based methods, depending on context.[46]: 401–428 

For example, Marsaglia's simple transformation-rejection method relying on one normal variate X and one uniform variate U:[25]

  1. Set d=a13 and c=19d.
  2. Set v=(1+cX)3.
  3. If v>0 and lnU<X22+ddv+dlnv return dv, else go back to step 2.

With 1a=α generates a gamma distributed random number in time that is approximately constant with α. The acceptance rate does depend on α, with an acceptance rate of 0.95, 0.98, and 0.99 for α = 1, 2, and 4. For α < 1, one can use γα=γ1+αU1/α to boost k to be usable with this method.

In Matlab numbers can be generated using the function gamrnd(), which uses the α, θ representation.

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ a b Papoulis, Pillai, Probability, Random Variables, and Stochastic Processes, Fourth Edition
  8. ^ Jeesen Chen, Herman Rubin, Bounds for the difference between median and mean of gamma and Poisson distributions, Statistics & Probability Letters, Volume 4, Issue 6, October 1986, Pages 281–283, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., [1] Archived 2024-10-09 at the Wayback Machine.
  9. ^ Choi, K. P. "On the Medians of the Gamma Distributions and an Equation of Ramanujan" Archived 2021-01-23 at the Wayback Machine, Proceedings of the American Mathematical Society, Vol. 121, No. 1 (May, 1994), pp. 245–251.
  10. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ a b Berg, Christian and Pedersen, Henrik L. "Convexity of the median in the gamma distribution" Archived 2023-05-26 at the Wayback Machine.
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  25. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  28. ^ Fink, D. 1995 A Compendium of Conjugate Priors. In progress report: Extension and enhancement of methods for setting data quality objectives. (DOE contract 95‑831).
  29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  30. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  31. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  32. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  33. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  34. ^ p. 43, Philip J. Boland, Statistical and Probabilistic Methods in Actuarial Science, Chapman & Hall CRC 2007
  35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  37. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  38. ^ J. G. Robson and J. B. Troy, "Nature of the maintained discharge of Q, X, and Y retinal ganglion cells of the cat", J. Opt. Soc. Am. A 4, 2301–2307 (1987)
  39. ^ M.C.M. Wright, I.M. Winter, J.J. Forster, S. Bleeck "Response to best-frequency tone bursts in the ventral cochlear nucleus is governed by ordered inter-spike interval statistics", Hearing Research 317 (2014)
  40. ^ N. Friedman, L. Cai and X. S. Xie (2006) "Linking stochastic dynamics to population distribution: An analytical framework of gene expression", Phys. Rev. Lett. 97, 168302.
  41. ^ DJ Reiss, MT Facciotti and NS Baliga (2008) "Model-based deconvolution of genome-wide DNA binding", Bioinformatics, 24, 396–403
  42. ^ MA Mendoza-Parra, M Nowicka, W Van Gool, H Gronemeyer (2013) "Characterising ChIP-seq binding patterns by model-based peak shape deconvolution" Archived 2024-10-09 at the Wayback Machine, BMC Genomics, 14:834
  43. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  44. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  45. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  46. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). See Chapter 9, Section 3.
  47. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).. See Algorithm GD, p. 53.
  48. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  49. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  50. ^ Marsaglia, G. The squeeze method for generating gamma variates. Comput, Math. Appl. 3 (1977), 321–325.
[edit | edit source]