View source: R/family.actuary.R
| sinmad | R Documentation |
Maximum likelihood estimation of the 3-parameter Singh-Maddala distribution.
sinmad(lscale = "loglink", lshape1.a = "loglink", lshape3.q = "loglink",
iscale = NULL, ishape1.a = NULL, ishape3.q = NULL, imethod = 1,
lss = TRUE, gscale = exp(-5:5), gshape1.a = exp(-5:5),
gshape3.q = exp(-5:5), probs.y = c(0.25, 0.5, 0.75),
zero = "shape")
lss |
See |
lshape1.a, lscale, lshape3.q |
Parameter link functions applied to the
(positive) parameters |
iscale, ishape1.a, ishape3.q, imethod, zero |
See |
gscale, gshape1.a, gshape3.q |
See |
probs.y |
See |
The 3-parameter Singh-Maddala distribution is the 4-parameter
generalized beta II distribution with shape parameter p=1.
It is known under various other names, such as the Burr XII (or
just the Burr distribution), Pareto IV,
beta-P, and generalized log-logistic distribution.
More details can be found in Kleiber and Kotz (2003).
Some distributions which are special cases of the 3-parameter
Singh-Maddala are the Lomax (a=1), Fisk (q=1), and
paralogistic (a=q).
The Singh-Maddala distribution has density
f(y) = aq y^{a-1} / [b^a \{1 + (y/b)^a\}^{1+q}]
for a > 0, b > 0, q > 0, y \geq 0.
Here, b is the scale parameter scale,
and the others are shape parameters.
The cumulative distribution function is
F(y) = 1 - [1 + (y/b)^a]^{-q}.
The mean is
E(Y) = b \, \Gamma(1 + 1/a) \, \Gamma(q - 1/a) / \Gamma(q)
provided -a < 1 < aq; 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.
See the notes in genbetaII.
T. W. Yee
Kleiber, C. and Kotz, S. (2003). Statistical Size Distributions in Economics and Actuarial Sciences, Hoboken, NJ, USA: Wiley-Interscience.
Sinmad,
genbetaII,
betaII,
dagum,
fisk,
inv.lomax,
lomax,
paralogistic,
inv.paralogistic,
simulate.vlm.
## Not run:
sdata <- data.frame(y = rsinmad(n = 1000, shape1 = exp(1),
scale = exp(2), shape3 = exp(0)))
fit <- vglm(y ~ 1, sinmad(lss = FALSE), sdata, trace = TRUE)
fit <- vglm(y ~ 1, sinmad(lss = FALSE, ishape1.a = exp(1)),
sdata, trace = TRUE)
coef(fit, matrix = TRUE)
Coef(fit)
summary(fit)
# Harder problem (has the shape3.q parameter going to infinity)
set.seed(3)
sdata <- data.frame(y1 = rbeta(1000, 6, 6))
# hist(with(sdata, y1))
if (FALSE) {
# These struggle
fit1 <- vglm(y1 ~ 1, sinmad(lss = FALSE), sdata, trace = TRUE)
fit1 <- vglm(y1 ~ 1, sinmad(lss = FALSE), sdata, trace = TRUE,
crit = "coef")
Coef(fit1)
}
# Try this remedy:
fit2 <- vglm(y1 ~ 1, data = sdata, trace = TRUE, stepsize = 0.05, maxit = 99,
sinmad(lss = FALSE, ishape3.q = 3, lshape3.q = "logloglink"))
coef(fit2, matrix = TRUE)
Coef(fit2)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.