gammaR: 2-parameter Gamma Regression Family Function

View source: R/family.univariate.R

gammaRR Documentation

2-parameter Gamma Regression Family Function

Description

Estimates the 2-parameter gamma distribution by maximum likelihood estimation.

Usage

gammaR(lrate = "loglink", lshape = "loglink", irate = NULL,
       ishape = NULL, lss = TRUE, zero = "shape")

Arguments

lrate, lshape

Link functions applied to the (positive) rate and shape parameters. See Links for more choices.

irate, ishape

Optional initial values for rate and shape. A NULL means a value is computed internally. If a failure to converge occurs, try using these arguments.

zero, lss

Details at CommonVGAMffArguments.

Details

The density function is given by

f(y; rate, shape) = \exp(-rate \times y) \times y^{shape-1} \times rate^{shape} / \Gamma(shape)

for shape > 0, rate > 0 and y > 0. Here, \Gamma(shape) is the gamma function, as in gamma. The mean of Y is \mu = shape/rate (returned as the fitted values) with variance \sigma^2 = \mu^2 /shape = shape/rate^2. By default, the two linear/additive predictors are \eta_1 = \log(rate) and \eta_2 = \log(shape).

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm and vgam.

Note

The parameters rate and shape match with the arguments rate and shape of rgamma. The order of the arguments agree too. Here, scale = 1/rate is used, so one can use negloglink. Multiple responses are handled.

If rate = 1 use the family function gamma1 to estimate shape.

The reciprocal of a 2-parameter gamma random variate has an inverse gamma distribution. One might write a VGAM family function called invgammaR() to estimate this, but for now, just feed in the reciprocal of the response.

Author(s)

T. W. Yee

References

Most standard texts on statistical distributions describe the 2-parameter gamma distribution, e.g.,

Forbes, C., Evans, M., Hastings, N. and Peacock, B. (2011). Statistical Distributions, Hoboken, NJ, USA: John Wiley and Sons, Fourth edition.

See Also

gamma1 for the 1-parameter gamma distribution, gamma2 for another parameterization of the 2-parameter gamma distribution, bigamma.mckay for a bivariate gamma distribution, gammaff.mm for another, expexpff, simulate.vlm, rgamma, negloglink.

Examples

# Essentially a 1-parameter gamma
gdata <- data.frame(y1 = rgamma(n <- 100, shape =  exp(1)))
fit1 <- vglm(y1 ~ 1, gamma1, data = gdata, trace = TRUE)
fit2 <- vglm(y1 ~ 1, gammaR, data = gdata, trace = TRUE, crit = "coef")
coef(fit2, matrix = TRUE)
Coef(fit2)

# Essentially a 2-parameter gamma
gdata <- data.frame(y2 = rgamma(n = 500, rate = exp(1), shape = exp(2)))
fit2 <- vglm(y2 ~ 1, gammaR, data = gdata, trace = TRUE, crit = "coef")
coef(fit2, matrix = TRUE)
Coef(fit2)
summary(fit2)

VGAM documentation built on Sept. 18, 2024, 9:09 a.m.