| cdfgam | R Documentation |
This function computes the cumulative probability or nonexceedance probability of the Gamma distribution given parameters (\alpha and \beta) computed by pargam. The cumulative distribution function has no explicit form but is expressed as an integral:
F(x) = \frac{\beta^{-\alpha}}{\Gamma(\alpha)}\int_0^x t^{\alpha - 1}
\exp(-t/\beta)\; \mbox{d}t \mbox{,}
where F(x) is the nonexceedance probability for the quantile x, \alpha is a shape parameter, and \beta is a scale parameter.
Alternatively, a three-parameter version is available following the parameterization of the Generalized Gamma distribution used in the gamlss.dist package and is
F(x) =\frac{\theta^\theta\, |\nu|}{\Gamma(\theta)}\int_0^x \frac{z^\theta}{x}\,\mathrm{exp}(-z\theta)\; \mbox{d}x \mbox{,}
where z =(x/\mu)^\nu, \theta = 1/(\sigma^2\,|\nu|^2) for x > 0, location parameter \mu > 0, scale parameter \sigma > 0, and shape parameter -\infty < \nu < \infty. The three parameter version is automatically triggered if the length of the para element is three and not two.
cdfgam(x, para)
x |
A real value vector. |
para |
The parameters from |
Nonexceedance probability (F) for x.
W.H. Asquith
Hosking, J.R.M., 1990, L-moments—Analysis and estimation of distributions using linear combinations of order statistics: Journal of the Royal Statistical Society, Series B, v. 52, pp. 105–124.
Hosking, J.R.M., and Wallis, J.R., 1997, Regional frequency analysis—An approach based on L-moments: Cambridge University Press.
pdfgam, quagam, lmomgam, pargam
lmr <- lmoms(c(123,34,4,654,37,78))
cdfgam(50,pargam(lmr))
# A manual demonstration of a gamma parent
G <- vec2par(c(0.6333,1.579),type='gam') # the parent
F1 <- 0.25 # nonexceedance probability
x <- quagam(F1,G) # the lower quartile (F=0.25)
a <- 0.6333 # gamma parameter
b <- 1.579 # gamma parameter
# compute the integral
xf <- function(t,A,B) { t^(A-1)*exp(-t/B) }
Q <- integrate(xf,0,x,A=a,B=b)
# finish the math
F2 <- Q$val*b^(-a)/gamma(a)
# check the result
if(abs(F1-F2) < 1e-8) print("yes")
## Not run:
# 3-p Generalized Gamma Distribution and gamlss.dist package parameterization
gg <- vec2par(c(7.4, 0.2, 14), type="gam"); X <- seq(0.04,9, by=.01)
GGa <- gamlss.dist::pGG(X, mu=7.4, sigma=0.2, nu=14)
GGb <- cdfgam(X, gg) # lets compare the two cumulative probabilities
plot( X, GGa, type="l", xlab="X", ylab="PROBABILITY", col=3, lwd=6)
lines(X, GGb, col=2, lwd=2) #
## End(Not run)
## Not run:
# 3-p Generalized Gamma Distribution and gamlss.dist package parameterization
gg <- vec2par(c(4, 1.5, -.6), type="gam"); X <- seq(0,1000, by=1)
GGa <- 1-gamlss.dist::pGG(X, mu=4, sigma=1.5, nu=-.6) # Note 1-... (pGG bug?)
GGb <- cdfgam(X, gg) # lets compare the two cumulative probabilities
plot( X, GGa, type="l", xlab="X", ylab="PROBABILITY", col=3, lwd=6)
lines(X, GGb, col=2, lwd=2) #
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.