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 = "loglink", lshape2 = "loglink", llambda = "loglink",
ishape1 = NULL, ishape2 = NULL, ilambda = 1, zero = NULL)
Arguments
lshape1 , lshape2 |
Parameter link functions applied to the two
(positive) shape parameters |
llambda |
Parameter link function applied to the
parameter |
ishape1 , ishape2 , ilambda |
Initial values for the parameters. A |
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 |
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).
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
Examples
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)