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

## Description

This function computes the cumulative probability or nonexceedance probability of the Gamma distribution given parameters (α and β) computed by pargam. The cumulative distribution function has no explicit form but is expressed as an integral:

F(x) = \frac{β^{-α}}{Γ(α)}\int_0^x t^{α - 1} \exp(-t/β)\; \mbox{d}t \mbox{,}

where F(x) is the nonexceedance probability for the quantile x, α is a shape parameter, and β 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{θ^θ\, |ν|}{Γ(θ)}\int_0^x \frac{z^θ}{x}\,\mathrm{exp}(-zθ)\; \mbox{d}x \mbox{,}

where z =(x/μ)^ν, θ = 1/(σ^2\,|ν|^2) for x > 0, location parameter μ > 0, scale parameter σ > 0, and shape parameter -∞ < ν < ∞. The three parameter version is automatically triggered if the length of the para element is three and not two.

## Usage

 1 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

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34  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) 

### Example output

[1] 0.5816328
[1] "yes"


lmomco documentation built on March 14, 2020, 5:06 p.m.