Solved – How to report results from a Beta Regression (R output)

beta-regressionrreporting

I am looking for advice/input on how to report results from a beta regression output. My data is bound between 0 and 1, as ratios, and I am looking at a simple relationship between the response variable (D_Ratio), and predictor (body length, or BL) variable which is continuous. I used the betareg function from the betareg package in R.

For example, here is my R output:

Call:
    betareg(formula = D_Ratio ~ BL, data = wild, link = c("cloglog"))

    Standardized weighted residuals 2:
        Min      1Q  Median      3Q     Max 
     -1.4137 -0.6463 -0.1782  0.3970  2.6160 

Coefficients (mean model with cloglog link):
            Estimate Std. Error z value Pr(>|z|)    
(Intercept) -2.14147    0.51930  -4.124 3.73e-05 ***
     BL      0.05252    0.01673   3.139  0.00169 ** 

Phi coefficients (precision model with identity link): 

    Estimate Std. Error z value Pr(>|z|)
(phi)1.9522     0.2969   6.576 4.82e-11 ***
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Type of estimator: ML (maximum likelihood)
Log-likelihood: 8.766 on 3 Df
Pseudo R-squared: 0.2058
Number of iterations: 13 (BFGS) + 1 (Fisher scoring) 

Firstly, I noticed that there are two tables to consider; the coefficients from the mean model link and the coefficients from the precision model. Which coefficients do I report?
I am finding different answers in other threads… Right now I am thinking it should be the pseudo R squared, Z value, P value from the mean model…Or does the "Estimate" coefficient term mean something significant, like slope? I ask because I am under the impression that this relationship is not a straight line.

Unfortunately, I am a relatively new R user so if there is a coding issue here, please let me know.

Best Answer

The beta regression model can have two submodels: (1) a regression model for the mean - similar to a linear regression model or a binary regression model; (2) a regression model for the precision parameter - similar to the inverse of a variance in a linear regression model or the dispersion in a GLM.

So far you have just used regressors in (1) but just a constant in (2). I would encourage you to check whether the model D_Ratio ~ BL | BL with the regressor BL in both parts leads to an improved fit.

If not, then you can probably best report the coefficients from the mean equation as you would for a binary regression model. And then you can add the precision parameter estimate (as you would in a linear regression), the pseudo-R-squared and/or log-likelihood and/or AIC/BIC.

If the regressor plays a role in both parts of the model, then probably report both sets of coefficients.

You can also use the function mtable(betareg_object,...) from the memisc package to generate such a table. Export to LaTeX is also available. Furthermore, you might consider a scatterplot of D_RATIO ~ BL with the fitted mean regression line plus possibly some quantiles (e.g., 5% and 95%). The vignette("betareg", package = "betareg") has some examples like that.

Related Question