dagum.RdMaximum likelihood estimation of the 3-parameter Dagum distribution.
See CommonVGAMffArguments for
important information.
Parameter link functions applied to the
(positive) parameters a, scale, and p.
See Links for more choices.
See CommonVGAMffArguments for information.
For imethod = 2 a good initial value for
ishape2.p is needed to obtain a good estimate for
the other parameter.
See CommonVGAMffArguments for information.
See CommonVGAMffArguments for information.
The 3-parameter Dagum distribution is the 4-parameter generalized beta II distribution with shape parameter \(q=1\). It is known under various other names, such as the Burr III, inverse Burr, beta-K, and 3-parameter kappa distribution. It can be considered a generalized log-logistic distribution. Some distributions which are special cases of the 3-parameter Dagum are the inverse Lomax (\(a=1\)), Fisk (\(p=1\)), and the inverse paralogistic (\(a=p\)). More details can be found in Kleiber and Kotz (2003).
The Dagum distribution has a cumulative distribution function
$$F(y) = [1 + (y/b)^{-a}]^{-p}$$
which leads to a probability density function
$$f(y) = ap y^{ap-1} / [b^{ap} \{1 + (y/b)^a\}^{p+1}]$$
for \(a > 0\), \(b > 0\), \(p > 0\), \(y \geq 0\).
Here, \(b\) is the scale parameter scale,
and the others are shape parameters.
The mean is
$$E(Y) = b \, \Gamma(p + 1/a) \, \Gamma(1 - 1/a) / \Gamma(p)$$
provided \(-ap < 1 < a\); 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.
From Kleiber and Kotz (2003), the MLE is rather sensitive to isolated observations located sufficiently far from the majority of the data. Reliable estimation of the scale parameter require \(n>7000\), while estimates for \(a\) and \(p\) can be considered unbiased for \(n>2000\) or 3000.
if (FALSE) { # \dontrun{
ddata <- data.frame(y = rdagum(n = 3000, scale = exp(2),
shape1 = exp(1), shape2 = exp(1)))
fit <- vglm(y ~ 1, dagum(lss = FALSE), data = ddata, trace = TRUE)
fit <- vglm(y ~ 1, dagum(lss = FALSE, ishape1.a = exp(1)),
data = ddata, trace = TRUE)
coef(fit, matrix = TRUE)
Coef(fit)
summary(fit)
} # }