R: Generalized Beta Distribution Family Function

lino {VGAM} | R Documentation

## Generalized Beta Distribution Family Function

### Description

Maximum likelihood estimation of the 3-parameter generalized beta distribution as proposed by Libby and Novick (1982).

### Usage

    lino(lshape1 = "loge", lshape2 = "loge", llambda = "loge",
         ishape1 = NULL,   ishape2 = NULL,   ilambda = 1, zero = NULL)

### Arguments

`lshape1, lshape2` | Parameter link functions applied to the two (positive) shape parameters a and b. See `Links` for more choices.
`llambda` | Parameter link function applied to the parameter lambda. See `Links` for more choices.
`ishape1, ishape2, ilambda` | Initial values for the parameters. A `NULL` value means one is computed internally. The argument `ilambda` must be numeric, and the default corresponds to a standard beta distribution.
`zero` | Can be an integer-valued vector specifying which linear/additive predictors are modelled as intercepts only. Here, the values must be from the set {1,2,3} which correspond to a, b, lambda, respectively. See `CommonVGAMffArguments` for more information.

### Details

Proposed by Libby and Novick (1982), this distribution has density

f(y;a,b,lambda) = lambda^a y^(a-1) (1-y)^(b-1) / [B(a,b) (1 - (1-lambda)*y)^(a+b)]

for a > 0, b > 0, lambda > 0, 0 < y < 1. Here B is the beta function (see `beta`). The mean is a complicated function involving the Gauss hypergeometric function. If X has a `lino` distribution with parameters `shape1`, `shape2`, `lambda`, then Y = λ*X / (1 - (1-λ)*X) has a standard beta distribution with parameters `shape1`, `shape2`.

Since log(lambda)=0 corresponds to the standard beta distribution, a `summary` of the fitted model performs a t-test for whether the data belongs to a standard beta distribution (provided the `loge` link for lambda is used; this is the default).

### Value

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

### Note

The fitted values, which is usually the mean, have not been implemented yet. Currently the median is returned as the fitted values.

Although Fisher scoring is used, the working weight matrices are positive-definite only in a certain region of the parameter space. Problems with this indicate poor initial values or an ill-conditioned model or insufficient data etc.

This model is can be difficult to fit. A reasonably good value of `ilambda` seems to be needed so if the self-starting initial values fail, try experimenting with the initial value arguments. Experience suggests `ilambda` is better a little larger, rather than smaller, compared to the true value.

### Author(s)

T. W. Yee

### References

Libby, D. L. and Novick, M. R. (1982) Multivariate generalized beta distributions with applications to utility assessment. Journal of Educational Statistics, 7, 271–294.

Gupta, A. K. and Nadarajah, S. (2004) Handbook of Beta Distribution and Its Applications, NY: Marcel Dekker, Inc.

### See Also

`Lino`, `genbetaII`.

### Examples

    ldata <- data.frame(y1 = rbeta(n = 1000, exp(0.5), exp(1)))  # ~ standard beta
    fit <- vglm(y1 ~ 1, lino, data = ldata, trace = TRUE)
    coef(fit, matrix = TRUE)
    Coef(fit)
    head(fitted(fit))
    summary(fit)

    # Nonstandard beta distribution
    ldata <- transform(ldata, y2 = rlino(n = 1000, shape1 = exp(1),
                                         shape2 = exp(2), lambda = exp(1)))
    fit2 <- vglm(y2 ~ 1, lino(lshape1 = "identitylink", lshape2 = "identitylink",
                 ilamb = 10), data = ldata, trace = TRUE)
    coef(fit2, matrix = TRUE)

[Package VGAM version 1.0-3 Index]