fisk.RdMaximum likelihood estimation of the 2-parameter Fisk distribution.
See CommonVGAMffArguments for
important information.
Parameter link functions applied to the
(positive) parameters \(a\) and scale.
See Links for more choices.
See CommonVGAMffArguments for information.
For imethod = 2 a good initial value for
iscale is needed to obtain a good estimate for
the other parameter.
See CommonVGAMffArguments for information.
See CommonVGAMffArguments for information.
The 2-parameter Fisk (aka log-logistic) distribution is the 4-parameter generalized beta II distribution with shape parameter \(q=p=1\). It is also the 3-parameter Singh-Maddala distribution with shape parameter \(q=1\), as well as the Dagum distribution with \(p=1\). More details can be found in Kleiber and Kotz (2003).
The Fisk distribution has density
$$f(y) = a y^{a-1} / [b^a \{1 + (y/b)^a\}^2]$$
for \(a > 0\), \(b > 0\), \(y \geq 0\).
Here, \(b\) is the scale parameter scale,
and \(a\) is a shape parameter.
The cumulative distribution function is
$$F(y) = 1 - [1 + (y/b)^a]^{-1} = [1 + (y/b)^{-a}]^{-1}.$$
The mean is
$$E(Y) = b \, \Gamma(1 + 1/a) \, \Gamma(1 - 1/a)$$
provided \(a > 1\); these are returned as the fitted values.
This family function handles multiple responses.
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.
See the notes in genbetaII.
fdata <- data.frame(y = rfisk(200, shape = exp(1), exp(2)))
fit <- vglm(y ~ 1, fisk(lss = FALSE), data = fdata, trace = TRUE)
#> Iteration 1: loglikelihood = -608.46796
#> Iteration 2: loglikelihood = -608.4654
#> Iteration 3: loglikelihood = -608.4654
#> Iteration 4: loglikelihood = -608.4654
fit <- vglm(y ~ 1, fisk(ishape1.a = exp(2)), fdata, trace = TRUE)
#> Iteration 1: loglikelihood = -687.36478
#> Iteration 2: loglikelihood = -623.52871
#> Iteration 3: loglikelihood = -609.01805
#> Iteration 4: loglikelihood = -608.46695
#> Iteration 5: loglikelihood = -608.4654
#> Iteration 6: loglikelihood = -608.4654
coef(fit, matrix = TRUE)
#> loglink(scale) loglink(shape1.a)
#> (Intercept) 1.95921 0.947105
Coef(fit)
#> scale shape1.a
#> 7.093721 2.578235
summary(fit)
#>
#> Call:
#> vglm(formula = y ~ 1, family = fisk(ishape1.a = exp(2)), data = fdata,
#> trace = TRUE)
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept):1 1.95921 0.04751 41.24 <2e-16 ***
#> (Intercept):2 0.94710 0.05913 16.02 <2e-16 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Names of linear predictors: loglink(scale), loglink(shape1.a)
#>
#> Log-likelihood: -608.4654 on 398 degrees of freedom
#>
#> Number of Fisher scoring iterations: 6
#>
#> No Hauck-Donner effect found in any of the estimates
#>