# cdfgam: Cumulative Distribution Function of the Gamma Distribution In lmomco: L-Moments, Censored L-Moments, Trimmed L-Moments, L-Comoments, and Many Distributions

 cdfgam R Documentation

## Cumulative Distribution Function of the Gamma Distribution

### Description

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.

### Usage

cdfgam(x, para)


### Arguments

 x A real value vector. para The parameters from pargam or vec2par.

### Value

Nonexceedance probability (F) for x.

W.H. Asquith

### References

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

### Examples

  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)


lmomco documentation built on May 29, 2024, 10:06 a.m.