Control Parameters for Beta Regression

Description

Various parameters that control fitting of beta regression models using betareg.

Usage

betareg.control(phi = TRUE, method = "BFGS", maxit = 5000,
  gradient = NULL, hessian = FALSE, trace = FALSE, start = NULL,
  fsmaxit = 200, fstol = 1e-8, quad = 20, ...)

Arguments

phi logical indicating whether the precision parameter phi should be treated as a full model parameter (TRUE, default) or as a nuisance parameter.
method characters string specifying the method argument passed to optim. Additionally, method = “nlminb” can be used to employ nlminb, instead.
maxit integer specifying the maxit argument (maximal number of iterations) passed to optim.
trace logical or integer controlling whether tracing information on
the progress of the optimization should be produced (passed to optim).
gradient logical. Should the analytical gradient be used for optimizing the log-likelihood? If set to FALSE a finite-difference approximation is used instead. The default of NULL signals that analytical gradients are only used for the classical “beta” distribution but not for “xbetax” or “xbeta”.
hessian logical. Should the numerical Hessian matrix from the optim output be used for estimation of the covariance matrix? By default the analytical solution is employed. For details see below.
start an optional vector with starting values for all parameters (including phi).
fsmaxit integer specifying maximal number of additional (quasi) Fisher scoring iterations. For details see below.
fstol numeric tolerance for convergence in (quasi) Fisher scoring. For details see below.
quad numeric. The number of quadrature points for numeric integration in case of dist = “xbetax” is used in the beta regression.
arguments passed to optim.

Details

All parameters in betareg are estimated by maximum likelihood using optim with control options set in betareg.control. Most arguments are passed on directly to optim, and start controls how optim is called.

After the optim maximization, an additional (quasi) Fisher scoring can be perfomed to further enhance the result or to perform additional bias reduction. If fsmaxit is greater than zero, this additional optimization is performed and it converges if the threshold fstol is attained for the cross-product of the step size.

Starting values can be supplied via start or estimated by lm.wfit, using the link-transformed response. Covariances are in general derived analytically. Only if type = “ML” and hessian = TRUE, they are determined numerically using the Hessian matrix returned by optim. In the latter case no Fisher scoring iterations are performed.

The main parameters of interest are the coefficients in the linear predictor of the model and the additional precision 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 examples.

Value

A list with the arguments specified.

See Also

betareg

Examples

library("betareg")

options(digits = 4)

data("GasolineYield", package = "betareg")

## regression with phi as full model parameter
gy1 <- betareg(yield ~ batch + temp, data = GasolineYield)
gy1

Call:
betareg(formula = yield ~ batch + temp, data = GasolineYield)

Coefficients (mean model with logit link):
(Intercept)       batch1       batch2       batch3       batch4       batch5  
     -6.160        1.728        1.323        1.572        1.060        1.134  
     batch6       batch7       batch8       batch9         temp  
      1.040        0.544        0.496        0.386        0.011  

Phi coefficients (precision model with identity link):
(phi)  
  440  
## regression with phi as nuisance parameter
gy2 <- betareg(yield ~ batch + temp, data = GasolineYield, phi = FALSE)
gy2

Call:
betareg(formula = yield ~ batch + temp, data = GasolineYield, phi = FALSE)

Coefficients (mean model with logit link):
(Intercept)       batch1       batch2       batch3       batch4       batch5  
     -6.160        1.728        1.323        1.572        1.060        1.134  
     batch6       batch7       batch8       batch9         temp  
      1.040        0.544        0.496        0.386        0.011  
## compare reported output
coef(gy1)
(Intercept)      batch1      batch2      batch3      batch4      batch5 
   -6.15957     1.72773     1.32260     1.57231     1.05971     1.13375 
     batch6      batch7      batch8      batch9        temp       (phi) 
    1.04016     0.54369     0.49590     0.38579     0.01097   440.27839 
coef(gy2)
(Intercept)      batch1      batch2      batch3      batch4      batch5 
   -6.15957     1.72773     1.32260     1.57231     1.05971     1.13375 
     batch6      batch7      batch8      batch9        temp 
    1.04016     0.54369     0.49590     0.38579     0.01097 
summary(gy1)

Call:
betareg(formula = yield ~ batch + temp, data = GasolineYield)

Quantile residuals:
   Min     1Q Median     3Q    Max 
-2.140 -0.570  0.120  0.704  1.751 

Coefficients (mean model with logit link):
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -6.159571   0.182325  -33.78  < 2e-16 ***
batch1       1.727729   0.101229   17.07  < 2e-16 ***
batch2       1.322597   0.117902   11.22  < 2e-16 ***
batch3       1.572310   0.116105   13.54  < 2e-16 ***
batch4       1.059714   0.102360   10.35  < 2e-16 ***
batch5       1.133752   0.103523   10.95  < 2e-16 ***
batch6       1.040162   0.106036    9.81  < 2e-16 ***
batch7       0.543692   0.109127    4.98  6.3e-07 ***
batch8       0.495901   0.108926    4.55  5.3e-06 ***
batch9       0.385793   0.118593    3.25   0.0011 ** 
temp         0.010967   0.000413   26.58  < 2e-16 ***

Phi coefficients (precision model with identity link):
      Estimate Std. Error z value Pr(>|z|)    
(phi)      440        110       4  6.3e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Type of estimator: ML (maximum likelihood)
Log-likelihood: 84.8 on 12 Df
Pseudo R-squared: 0.962
Number of iterations: 51 (BFGS) + 3 (Fisher scoring) 
summary(gy2)

Call:
betareg(formula = yield ~ batch + temp, data = GasolineYield, phi = FALSE)

Quantile residuals:
   Min     1Q Median     3Q    Max 
-2.140 -0.570  0.120  0.704  1.751 

Coefficients (mean model with logit link):
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -6.159571   0.182325  -33.78  < 2e-16 ***
batch1       1.727729   0.101229   17.07  < 2e-16 ***
batch2       1.322597   0.117902   11.22  < 2e-16 ***
batch3       1.572310   0.116105   13.54  < 2e-16 ***
batch4       1.059714   0.102360   10.35  < 2e-16 ***
batch5       1.133752   0.103523   10.95  < 2e-16 ***
batch6       1.040162   0.106036    9.81  < 2e-16 ***
batch7       0.543692   0.109127    4.98  6.3e-07 ***
batch8       0.495901   0.108926    4.55  5.3e-06 ***
batch9       0.385793   0.118593    3.25   0.0011 ** 
temp         0.010967   0.000413   26.58  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Type of estimator: ML (maximum likelihood)
Log-likelihood: 84.8 on 12 Df
Pseudo R-squared: 0.962
Number of iterations: 51 (BFGS) + 3 (Fisher scoring)