VGAM (version 1.0-4)

inv.paralogistic: Inverse Paralogistic Distribution Family Function


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


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")



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.


See CommonVGAMffArguments for information.


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


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.


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.


Run this code
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)
# }

Run the code above in your browser using DataCamp Workspace