Learn R Programming

VGAM (version 1.1-14)

lino: 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 = "loglink", lshape2 = "loglink", llambda = "loglink",
     ishape1 = NULL,   ishape2 = NULL,   ilambda = 1, zero = NULL)

Arguments

Value

An object of class "vglmff"

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

Details

Proposed by Libby and Novick (1982), this distribution has density $$f(y;a,b,\lambda) = \frac{\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=\lambda X/(1-(1-\lambda)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 loglink link for \(\lambda\) is used; this is the default).

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

Run this code
ldata <- data.frame(y1 = rbeta(n = 1000, exp(0.5), exp(1)))  # Std 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(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)

Run the code above in your browser using DataLab