The Two-parameter Beta Distribution Family Function
Estimation of the shape parameters of the two-parameter beta distribution.
betaR(lshape1 = "loglink", lshape2 = "loglink", i1 = NULL, i2 = NULL, trim = 0.05, A = 0, B = 1, parallel = FALSE, zero = NULL)
lshape1, lshape2, i1, i2 |
Details at |
trim |
An argument which is fed into |
A, B |
Lower and upper limits of the distribution. The defaults correspond to the standard beta distribution where the response lies between 0 and 1. |
parallel, zero |
See |
The two-parameter beta distribution is given by f(y) =
(y-A)^(shape1-1) * (B-y)^(shape2-1) / [Beta(shape1,shape2) * (B-A)^(shape1+shape2-1)]
for A < y < B, and Beta(.,.) is the beta function
(see beta
).
The shape parameters are positive, and
here, the limits A and B are known.
The mean of Y is E(Y) = A + (B-A) * shape1 /
(shape1 + shape2), and these are the fitted values of the object.
For the standard beta distribution the variance of Y is shape1 * shape2 / ((1+shape1+shape2) * (shape1+shape2)^2). If σ^2= 1 / (1+shape1+shape2) then the variance of Y can be written mu*(1-mu)*sigma^2 where mu=shape1 / (shape1 + shape2) is the mean of Y.
Another parameterization of the beta distribution involving the mean
and a precision parameter is implemented in betaff
.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
rrvglm
and vgam
.
The response must have values in the interval (A, B).
VGAM 0.7-4 and prior called this function betaff
.
Thomas W. Yee
Johnson, N. L. and Kotz, S. and Balakrishnan, N. (1995). Chapter 25 of: Continuous Univariate Distributions, 2nd edition, Volume 2, New York: Wiley.
Gupta, A. K. and Nadarajah, S. (2004). Handbook of Beta Distribution and Its Applications, New York: Marcel Dekker.
bdata <- data.frame(y = rbeta(n = 1000, shape1 = exp(0), shape2 = exp(1))) fit <- vglm(y ~ 1, betaR(lshape1 = "identitylink", lshape2 = "identitylink"), data = bdata, trace = TRUE, crit = "coef") fit <- vglm(y ~ 1, betaR, data = bdata, trace = TRUE, crit = "coef") coef(fit, matrix = TRUE) Coef(fit) # Useful for intercept-only models bdata <- transform(bdata, Y = 5 + 8 * y) # From 5 to 13, not 0 to 1 fit <- vglm(Y ~ 1, betaR(A = 5, B = 13), data = bdata, trace = TRUE) Coef(fit) c(meanY = with(bdata, mean(Y)), head(fitted(fit),2))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.