Learn R Programming

VGAM (version 0.9-3)

prentice74: Prentice (1974) Log-gamma Distribution

Description

Estimation of a 3-parameter log-gamma distribution described by Prentice (1974).

Usage

prentice74(llocation = "identity", lscale = "loge", lshape = "identity",
           ilocation = NULL, iscale = NULL, ishape = NULL, zero = 2:3)

Arguments

llocation, lscale, lshape
Parameter link function applied to the location parameter $a$, positive scale parameter $b$ and the shape parameter $q$, respectively. See Links for more choices.
ilocation, iscale
Initial value for $a$ and $b$, respectively. The defaults mean an initial value is determined internally for each.
ishape
Initial value for $q$. If failure to converge occurs, try some other value. The default means an initial value is determined internally.
zero
An integer-valued vector specifying which linear/additive predictors are modelled as intercepts-only. The values must be from the set {1,2,3}. See CommonVGAMffArguments for more informat

Value

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

Warning

The special case $q = 0$ is not handled, therefore estimates of $q$ too close to zero may cause numerical problems.

Details

The probability density function is given by $$f(y;a,b,q) = |q|\,\exp(w/q^2 - e^w) / (b \, \Gamma(1/q^2)),$$ for shape parameter $q \ne 0$, positive scale parameter $b > 0$, location parameter $a$, and all real $y$. Here, $w = (y-a)q/b+\psi(1/q^2)$ where $\psi$ is the digamma function, digamma. The mean of $Y$ is $a$ (returned as the fitted values). This is a different parameterization compared to lgamma3ff.

Special cases: $q = 0$ is the normal distribution with standard deviation $b$, $q = -1$ is the extreme value distribution for maxima, $q = 1$ is the extreme value distribution for minima (Weibull). If $q > 0$ then the distribution is left skew, else $q < 0$ is right skew.

References

Prentice, R. L. (1974) A log gamma model and its maximum likelihood estimation. Biometrika, 61, 539--544.

See Also

lgamma3ff, lgamma, gengamma.

Examples

Run this code
pdata <- data.frame(x2 = runif(nn <- 1000))
pdata <- transform(pdata, loc = -1 + 2*x2, Scale = exp(1))
pdata <- transform(pdata, y = rlgamma(nn, loc = loc, scale = Scale, k = 1))
fit <- vglm(y ~ x2, prentice74(zero = 2:3), pdata, trace = TRUE)
coef(fit, matrix = TRUE)  # Note the coefficients for location

Run the code above in your browser using DataLab