betaff {VGAM}R Documentation

The Two-parameter Beta Distribution Family Function

Description

Estimation of the mean and precision parameters of the beta distribution.

Usage

betaff(A = 0, B = 1, lmu = "logitlink", lphi = "loglink",
       imu = NULL, iphi = NULL,
       gprobs.y = ppoints(8), gphi  = exp(-3:5)/4, zero = NULL)

Arguments

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.

lmu, lphi

Link function for the mean and precision parameters. The values AA and BB are extracted from the min and max arguments of extlogitlink. Consequently, only extlogitlink is allowed.

imu, iphi

Optional initial value for the mean and precision parameters respectively. A NULL value means a value is obtained in the initialize slot.

gprobs.y, gphi, zero

See CommonVGAMffArguments for more information.

Details

The two-parameter beta distribution can be written f(y)=f(y) =

(yA)μ1ϕ1×(By)(1μ1)ϕ1/[beta(μ1ϕ,(1μ1)ϕ)×(BA)ϕ1](y-A)^{\mu_1 \phi-1} \times (B-y)^{(1-\mu_1) \phi-1} / [beta(\mu_1 \phi,(1-\mu_1) \phi) \times (B-A)^{\phi-1}]

for A<y<BA < y < B, and beta(.,.)beta(.,.) is the beta function (see beta). The parameter μ1\mu_1 satisfies μ1=(μA)/(BA)\mu_1 = (\mu - A) / (B-A) where μ\mu is the mean of YY. That is, μ1\mu_1 is the mean of of a standard beta distribution: E(Y)=A+(BA)×μ1E(Y) = A + (B-A) \times \mu_1, and these are the fitted values of the object. Also, ϕ\phi is positive and A<μ<BA < \mu < B. Here, the limits AA and BB are known.

Another parameterization of the beta distribution involving the raw shape parameters is implemented in betaR.

For general AA and BB, the variance of YY is (BA)2×μ1×(1μ1)/(1+ϕ)(B-A)^2 \times \mu_1 \times (1-\mu_1) / (1+\phi). Then ϕ\phi can be interpreted as a precision parameter in the sense that, for fixed μ\mu, the larger the value of ϕ\phi, the smaller the variance of YY. Also, μ1=shape1/(shape1+shape2)\mu_1 = shape1/(shape1+shape2) and ϕ=shape1+shape2\phi = shape1+shape2. Fisher scoring is implemented.

Value

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

Note

The response must have values in the interval (AA, BB). The user currently needs to manually choose lmu to match the input of arguments A and B, e.g., with extlogitlink; see the example below.

Author(s)

Thomas W. Yee

References

Ferrari, S. L. P. and Francisco C.-N. (2004). Beta regression for modelling rates and proportions. Journal of Applied Statistics, 31, 799–815.

See Also

betaR, Beta, dzoabeta, genbetaII, betaII, betabinomialff, betageometric, betaprime, rbetageom, rbetanorm, kumar, extlogitlink, simulate.vlm.

Examples

bdata <- data.frame(y = rbeta(nn <- 1000, shape1 = exp(0),
                              shape2 = exp(1)))
fit1 <- vglm(y ~ 1, betaff, data = bdata, trace = TRUE)
coef(fit1, matrix = TRUE)
Coef(fit1)  # Useful for intercept-only models

# General A and B, and with a covariate
bdata <- transform(bdata, x2 = runif(nn))
bdata <- transform(bdata, mu = logitlink(0.5 - x2, inverse = TRUE),
                          prec = exp(3.0 + x2))  # prec == phi
bdata <- transform(bdata, shape2 = prec * (1 - mu),
                          shape1 = mu * prec)
bdata <- transform(bdata,
                   y = rbeta(nn, shape1 = shape1, shape2 = shape2))
bdata <- transform(bdata, Y = 5 + 8 * y)  # From 5--13, not 0--1
fit <- vglm(Y ~ x2, data = bdata, trace = TRUE,
   betaff(A = 5, B = 13, lmu = extlogitlink(min = 5, max = 13)))
coef(fit, matrix = TRUE)

[Package VGAM version 1.1-11 Index]