Learn R Programming

VGAM (version 1.0-1)

prentice74: Prentice (1974) Log-gamma Distribution

Description

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

Usage

prentice74(llocation = "identitylink", lscale = "loge", lshape = "identitylink",
           ilocation = NULL, iscale = NULL, ishape = NULL,
           zero = c("scale", "shape"))

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
Can be an integer-valued vector specifying which linear/additive predictors are modelled as intercepts-only. Then the values must be from the set {1,2,3}. See CommonVGAMffArguments for m

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 lgamma3.

Special cases: $q = 0$ is the normal distribution with standard deviation $b$, $q = -1$ is the extreme value distribution for maximums, $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

lgamma3, lgamma, gengamma.stacy.

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, shape = 1))
fit <- vglm(y ~ x2, prentice74(zero = 2:3), data = pdata, trace = TRUE)
coef(fit, matrix = TRUE)  # Note the coefficients for location

Run the code above in your browser using DataLab