Generalized Beta Distribution Family Function
Maximum likelihood estimation of the 3-parameter generalized beta distribution as proposed by Libby and Novick (1982).
lino(lshape1 = "loglink", lshape2 = "loglink", llambda = "loglink", ishape1 = NULL, ishape2 = NULL, ilambda = 1, zero = NULL)
lshape1, lshape2 |
Parameter link functions applied to the two
(positive) shape parameters a and b.
See |
llambda |
Parameter link function applied to the
parameter lambda.
See |
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
a, b, lambda, respectively.
See |
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 loglink
link for lambda is used;
this is the default).
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
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.
T. W. Yee
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.
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.