R: Singh-Maddala Distribution Family Function

sinmad {VGAM} | R Documentation

## Singh-Maddala Distribution Family Function

### Description

Maximum likelihood estimation of the 3-parameter Singh-Maddala distribution.

### Usage

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

### Arguments

`lss` | See `CommonVGAMffArguments` for important information.
`lshape1.a, lscale, lshape3.q` | Parameter link functions applied to the (positive) parameters a, `scale`, and q. See `Links` for more choices.
`iscale, ishape1.a, ishape3.q, imethod, zero` | See `CommonVGAMffArguments` for information. For `imethod = 2` a good initial value for `ishape3.q` is needed to obtain good estimates for the other parameters.
`gscale, gshape1.a, gshape3.q` | See `CommonVGAMffArguments` for information.
`probs.y` | See `CommonVGAMffArguments` for information.

### Details

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 >= 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.

### Value

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

### Note

See the notes in `genbetaII`.

### Author(s)

T. W. Yee

### References

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

### See Also

`Sinmad`, `genbetaII`, `betaII`, `dagum`, `fisk`, `inv.lomax`, `lomax`, `paralogistic`, `inv.paralogistic`, `simulate.vlm`.

### Examples

    sdata <- data.frame(y = rsinmad(n = 1000, shape1 = exp(1),
                        scale = exp(2), shape3 = exp(0)))
    fit <- vglm(y ~ 1, sinmad(lss = FALSE), data = sdata, trace = TRUE)
    fit <- vglm(y ~ 1, sinmad(lss = FALSE, ishape1.a = exp(1)),
                data = 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), data = sdata, trace = TRUE)
      fit1 <- vglm(y1 ~ 1, sinmad(lss = FALSE), data = 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)

[Package VGAM version 1.1-3 Index]