Learn R Programming

VGAM (version 0.9-0)

benini: Benini Distribution Family Function

Description

Estimating the 1-parameter Benini distribution by maximum likelihood estimation.

Usage

benini(y0 = stop("argument 'y0' must be specified"), lshape = "loge",
       ishape = NULL, imethod = 1, zero = NULL)

Arguments

y0
Positive scale parameter.
lshape
Parameter link function and extra argument of the parameter $b$, which is the shape parameter. See Links for more choices. A log link is the default because $b$ is positive.
ishape
Optional initial value for the shape parameter. The default is to compute the value internally.
imethod, zero

Value

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

Details

The Benini distribution has a probability density function that can be written $$f(y) = 2 b \exp(-b[(\log(y/y_0))^2]) \log(y/y_0) / y$$ for $0 < y_0 < y$, and $b > 0$. The cumulative distribution function for $Y$ is $$F(y) = 1 - \exp(-b[(\log(y/y_0))^2]).$$ Here, Newton-Raphson and Fisher scoring coincide. The median of $Y$ is now returned as the fitted values. This VGAM family function can handle a multiple responses, which is inputted as a matrix.

On fitting, the extra slot has a component called y0 which contains the value of the y0 argument.

References

Kleiber, C. and Kotz, S. (2003) Statistical Size Distributions in Economics and Actuarial Sciences, Hoboken, NJ, USA: Wiley-Interscience.

See Also

Benini.

Examples

Run this code
y0 <- 1; nn <- 3000
bdata <- data.frame(y  = rbenini(nn, y0 = y0, shape = exp(2)))
fit <- vglm(y ~ 1, benini(y0 = y0), bdata, trace = TRUE, crit = "coef")
coef(fit, matrix = TRUE)
Coef(fit)
fit@extra$y0
c(head(fitted(fit), 1), with(bdata, median(y))) # Should be equal

Run the code above in your browser using DataLab