Maximum likelihood estimation of the 2-parameter Fisk distribution.

fisk(lscale = "loglink", lshape1.a = "loglink", iscale = NULL,
    ishape1.a = NULL, imethod = 1, lss = TRUE,
    gscale = exp(-5:5), gshape1.a = seq(0.75, 4, by = 0.25),
    probs.y = c(0.25, 0.5, 0.75), zero = "shape")

Arguments

lss

See CommonVGAMffArguments for important information.

lshape1.a, lscale

Parameter link functions applied to the (positive) parameters \(a\) and scale. See Links for more choices.

iscale, ishape1.a, imethod, zero

See CommonVGAMffArguments for information. For imethod = 2 a good initial value for iscale is needed to obtain a good estimate for the other parameter.

gscale, gshape1.a

See CommonVGAMffArguments for information.

probs.y

See CommonVGAMffArguments for information.

Details

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.

Value

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

References

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

Author

T. W. Yee

Note

See the notes in genbetaII.

Examples

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
#>