Gamma-Poisson distribution
Probability mass function and random generation for the gamma-Poisson distribution.
dgpois(x, shape, rate, scale = 1/rate, log = FALSE)
pgpois(q, shape, rate, scale = 1/rate, lower.tail = TRUE, log.p = FALSE)
rgpois(n, shape, rate, scale = 1/rate)
Arguments
-
x, q
: vector of quantiles.
-
shape, scale
: shape and scale parameters. Must be positive, scale strictly.
-
rate
: an alternative way to specify the scale.
-
log, log.p
: logical; if TRUE, probabilities p are given as log(p).
-
lower.tail
: logical; if TRUE (default), probabilities are P[X≤x]
otherwise, P[X>x].
-
n
: number of observations. If length(n) > 1
, the length is taken to be the number required.
Details
Gamma-Poisson distribution arises as a continuous mixture of Poisson distributions, where the mixing distribution of the Poisson rate λ is a gamma distribution. When X Poisson(λ)
and λ Gamma(α,β), then X Gamma−Poisson(α,β).
Probability mass function
f(x)=x!Γ(α)Γ(α+x)(1+ββ)x(1−1+ββ)\alphaf(x)=Γ(α+x)/(x!∗Γ(α))∗(β/(1+β))x∗(1−β/(1+β))α
Cumulative distribution function is calculated using recursive algorithm that employs the fact that Γ(x)=(x−1)!. This enables re-writing probability mass function as
f(x)=x!Γ(α)(α+x−1)!(1+ββ)x(1−1+ββ)\alphaf(x)=((α+x−1)!)/(x!∗Γ(α))∗(β/(1+β))x∗(1−β/(1+β))α
what makes recursive updating from x to x+1 easy using the properties of factorials
f(x+1)=x!(x+1)Γ(α)(α+x−1)!(α+x)(1+ββ)x(1+ββ)(1−1+ββ)\alphaf(x+1)=((α+x−1)!∗(α+x))/(x!∗(x+1)∗Γ(α))∗(β/(1+β))x∗(β/(1+β))∗(1−β/(1+β))α
and let's us efficiently calculate cumulative distribution function as a sum of probability mass functions
F(x)=k=0∑xf(k)F(x)=f(0)+...+f(x)
Examples
x <- rgpois(1e5, 7, 0.002)
xx <- seq(0, 12000, by = 1)
hist(x, 100, freq = FALSE)
lines(xx, dgpois(xx, 7, 0.002), col = "red")
hist(pgpois(x, 7, 0.002))
xx <- seq(0, 12000, by = 0.1)
plot(ecdf(x))
lines(xx, pgpois(xx, 7, 0.002), col = "red", lwd = 2)
See Also
Gamma
, Poisson