Learn R Programming

VGAM (version 1.0-3)

inv.paralogistic: Inverse Paralogistic Distribution Family Function

Description

Maximum likelihood estimation of the 2-parameter inverse paralogistic distribution.

Usage

inv.paralogistic(lscale = "loge", lshape1.a = "loge", 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 ishape1.a is needed to obtain a good estimate for the other parameter.

gscale, gshape1.a

See CommonVGAMffArguments for information.

probs.y

See CommonVGAMffArguments for information.

Value

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

Details

The 2-parameter inverse paralogistic distribution is the 4-parameter generalized beta II distribution with shape parameter \(q=1\) and \(a=p\). It is the 3-parameter Dagum distribution with \(a=p\). More details can be found in Kleiber and Kotz (2003).

The inverse paralogistic distribution has density $$f(y) = a^2 y^{a^2-1} / [b^{a^2} \{1 + (y/b)^a\}^{a+1}]$$ for \(a > 0\), \(b > 0\), \(y \geq 0\). Here, \(b\) is the scale parameter scale, and \(a\) is the shape parameter. The mean is $$E(Y) = b \, \Gamma(a + 1/a) \, \Gamma(1 - 1/a) / \Gamma(a)$$ provided \(a > 1\); these are returned as the fitted values. This family function handles multiple responses.

References

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

See Also

Inv.paralogistic, genbetaII, betaII, dagum, sinmad, fisk, inv.lomax, lomax, paralogistic, simulate.vlm.

Examples

Run this code
# NOT RUN {
idata <- data.frame(y = rinv.paralogistic(n = 3000, exp(1), scale = exp(2)))
fit <- vglm(y ~ 1, inv.paralogistic(lss = FALSE), data = idata, trace = TRUE)
fit <- vglm(y ~ 1, inv.paralogistic(imethod = 2, ishape1.a = 4),
            data = idata, trace = TRUE, crit = "coef")
coef(fit, matrix = TRUE)
Coef(fit)
summary(fit)
# }

Run the code above in your browser using DataLab