benini.RdEstimating the 1-parameter Benini distribution by maximum likelihood estimation.
Positive scale parameter.
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.
Optional initial value for the shape parameter. The default is to compute the value internally.
Details at CommonVGAMffArguments.
See CommonVGAMffArguments for information.
Using "Qlink" is for quantile-links in VGAMextra.
The Benini distribution has a probability density function that can be written $$f(y) = 2 s \exp(-s[(\log(y/y_0))^2]) \log(y/y_0) / y $$ for \(0 < y_0 < y\), and shape \(s > 0\). The cumulative distribution function for \(Y\) is $$F(y) = 1 - \exp(-s[(\log(y/y_0))^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.
Kleiber, C. and Kotz, S. (2003). Statistical Size Distributions in Economics and Actuarial Sciences, Hoboken, NJ, USA: Wiley-Interscience.
Yet to do: the 2-parameter Benini distribution estimates another shape parameter \(a\) too. Hence, the code may change in the future.
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)
#> Iteration 1: loglikelihood = 179.036359
#> Iteration 2: loglikelihood = 179.036359
coef(fit, matrix = TRUE)
#> loglink(shape)
#> (Intercept) 1.976216
Coef(fit)
#> shape
#> 7.215386
fit@extra$y0
#> [1] 1
c(head(fitted(fit), 1), with(bdata, median(y))) # Should be equal
#> [1] 1.363348 1.370697