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.