betareg {betareg}R Documentation

Beta Regression for Rates and Proportions

Description

Fit beta regression models for rates and proportions via maximum likelihood using a parametrization with mean (depending through a link function on the covariates) and dispersion parameter (called phi).

Usage

betareg(formula, data, subset, na.action, weights, offset,
  link = c("logit", "probit", "cloglog"),
  control = betareg.control(...),
  model = TRUE, y = TRUE, x = FALSE, ...)

betareg.fit(x, y, weights = NULL, offset = NULL,
  link = "logit", control = betareg.control())

Arguments

formula symbolic description of the model (of type y ~ x).
data, subset, na.action arguments controlling formula processing via model.frame.
weights optional numeric vector of weights.
offset optional numeric vector with an a priori known component to be included in the linear predictor.
link character specification of link function.
control a list of control arguments specified via betareg.control.
model, y, x logicals. If TRUE the corresponding components of the fit (model frame, response, model matrix) are returned. For betareg.fit, x should be a numeric regressor matrix and y should be the numeric response vector (with values in (0,1)).
... arguments passed to betareg.control.

Details

Beta regression as suggested by Ferrari and Cribari-Neto (2004) is implemented in betareg. It is useful in situations where the dependent variable is continuous and restricted to the unit interval (0, 1), e.g., resulting from rates or proportions. It is modeled to be beta-distributed with parametrization using mean and precision/dispersion parameter (called phi). The mean is linked, as in generalized linear models (GLMs), to the responses through a link function and a linear predictor. Estimation is performed by maximum likelihood (ML) via optim using analytical gradients and (by default) starting values from an auxiliary linear regression of the transformed response.

The main parameters of interest are the coefficients in the linear predictor and the additional precision/dispersion parameter phi which can either be treated as a full model parameter (default) or as a nuisance parameter. In the latter case the estimation does not change, only the reported information in output from print, summary, or coef (among others) will be different. See also betareg.control.

A set of standard extractor functions for fitted model objects is available for objects of class "betareg", including methods to the generic functions print, summary, plot, coef, vcov, logLik, residuals, predict, terms, model.frame, model.matrix, cooks.distance and hatvalues (see influence.measures), gleverage (new generic), estfun and bread (from the sandwich package), and coeftest (from the lmtest package).

See predict.betareg, residuals.betareg, plot.betareg, and summary.betareg for more details on all methods.

Value

betareg returns an object of class "betareg", i.e., a list with components as follows. betareg.fit returns an unclassed list with components up to converged.

coefficients vector with estimated regression coefficients and dispersion (or precision) parameter phi,
residuals a vector of raw residuals (observed - fitted),
fitted.values a vector of fitted means,
optim output from the optim call for maximizing the log-likelihood(s),
method the method argument passed to the optim call,
control the control arguments passed to the optim call,
start the starting values for the parameters passed to the optim call,
weights the weights used (if any),
offset the offset vector used (if any),
n number of observations,
df.null residual degrees of freedom for the null model (= n - 2),
df.residual residual degrees of freedom for fitted model,
phi logical indicating whether phi will be treated as a full model parameter or a nuisance parameter in subsequent calls to print, summary, coef etc.,
loglik log-likelihood of the fitted model,
vcov covariance matrix of all parameters in the model (including phi),
pseudo.R.squared pseudo R-squared value (squared correlation of linear predictor and link-transformed response),
link link object used,
converged logical indicating successful convergence of optim,
call the original function call,
formula the original formula,
terms the terms object used,
levels levels of the categorical regressors,
contrasts contrasts corresponding to levels,
model the full model frame (if model = TRUE),
y the response proportion vector (if y = TRUE),
x the model matrix (if x = TRUE).

References

Ferrari, S.L.P., and Cribari-Neto, F. (2004). Beta Regression for Modeling Rates and Proportions. Journal of Applied Statistics, 31(7), 799–815.

See Also

summary.betareg, predict.betareg, residuals.betareg

Examples

## Section 4 from Ferrari and Cribari-Neto (2004)
data("GasolineYield", package = "betareg")
data("FoodExpenditure", package = "betareg")

## Table 1
gy <- betareg(yield ~ batch + temp, data = GasolineYield)
summary(gy)

## Table 2
fe_lin <- lm(I(food/income) ~ income + persons, data = FoodExpenditure)
library("lmtest")
bptest(fe_lin)
fe_beta <- betareg(I(food/income) ~ income + persons, data = FoodExpenditure)
summary(fe_beta)

## nested model comparisons via Wald and LR tests
fe_beta2 <- betareg(I(food/income) ~ income, data = FoodExpenditure)
lrtest(fe_beta, fe_beta2)
waldtest(fe_beta, fe_beta2)

[Package betareg version 2.0-0 Index]