Benini Distribution Family Function
Estimating the 1-parameter Benini distribution by maximum likelihood estimation.
benini1(y0 = stop("argument 'y0' must be specified"), lshape = "loglink", ishape = NULL, imethod = 1, zero = NULL, parallel = FALSE, type.fitted = c("percentiles", "Qlink"), percentiles = 50)
y0 |
Positive scale parameter. |
lshape |
Parameter link function and extra argument of the parameter b,
which is the shape parameter.
See |
ishape |
Optional initial value for the shape parameter. The default is to compute the value internally. |
imethod, zero, parallel |
Details at |
type.fitted, percentiles |
See |
The Benini distribution has a probability density function that can be written
f(y) = 2*s*exp(-s * [(log(y/y0))^2]) * log(y/y0) / y
for 0 < y0 < y, and shape s > 0. The cumulative distribution function for Y is
F(y) = 1 - exp(-s * [(log(y / y0))^2]).
Here, Newton-Raphson and Fisher scoring coincide. The median of Y is now returned as the fitted values, by default. 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.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
Yet to do: the 2-parameter Benini distribution estimates another shape parameter a too. Hence, the code may change in the future.
T. W. Yee
Kleiber, C. and Kotz, S. (2003). Statistical Size Distributions in Economics and Actuarial Sciences, Hoboken, NJ, USA: Wiley-Interscience.
y0 <- 1; nn <- 3000 bdata <- data.frame(y = rbenini(nn, y0 = y0, shape = exp(2))) fit <- vglm(y ~ 1, benini1(y0 = y0), data = bdata, trace = TRUE) coef(fit, matrix = TRUE) Coef(fit) fit@extra$y0 c(head(fitted(fit), 1), with(bdata, median(y))) # Should be equal
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.