4

Although a number of similar questions (some of them duplicates) have been asked around the interpretation of the coefficients from a beta regression, these seem to be focused on models that have used the logit link, but I am yet to find one focused on the log-log link, and I do not know if the interpretation is the same.

I have two questions ...

1.I have posted previously about computing the regression equation from a betareg model when using the log-log link which has been answered, and now I would like to understand how to interpret the coefficients. As stated in my previous question, I am familiar with interpreting the outputs from multiple regression models, which take the following form.

Assuming all other factors are held constant, a one unit increase in x is associated with an increase/decrease in y.

I would like to understand how I take the coefficients from the beta regression output using the log-log link and get to a similar outcome phrase - if such a simple phrase is possible. I have posted the example output below that I used in my previous question.

Call:
betareg(formula = y ~ x1 + x2, link = "loglog")

Standardized weighted residuals 2:
    Min      1Q  Median      3Q     Max 
-1.4901 -0.8370 -0.2718  0.2740  2.6258 

Coefficients (mean model with loglog link):
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)    1.234      1.162   1.062   0.2882  
x1            31.814     26.715   1.191   0.2337  
x2            -7.776      3.276  -2.373   0.0176 *

Phi coefficients (precision model with identity link):
      Estimate Std. Error z value Pr(>|z|)  
(phi)    24.39      10.83   2.252   0.0243 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Type of estimator: ML (maximum likelihood)
Log-likelihood: 12.06 on 4 Df
Pseudo R-squared: 0.2956
Number of iterations: 232 (BFGS) + 12 (Fisher scoring) 
  1. In multiple regression, it is possible to understand the influence of each coefficient on the model, by considering the size of the standardised coefficient. Is it possible to get a similar insight based on the outcome of the beta regression?

I would appreciate any advice.

kjetil b halvorsen
  • 63,378
  • 26
  • 142
  • 467
Tim
  • 51
  • 5
  • Note that you interpretation from multiple regression isn't quite right. The interpretation should be that a one-unit increase in x is associated with a one-unit increase in $y$, **on average**, all other factors being equal. – StatsStudent Dec 14 '18 at 15:07
  • Yes, you are correct. I will update the question to reflect that. – Tim Dec 14 '18 at 15:58
  • I think you are missing one of the most important points: A one unit increase in $x$ doesn't lead to a one-unit increase in $y$. It only does so *on average*. I know this is subtle, but it's an important point. – StatsStudent Dec 14 '18 at 16:10
  • 1
    Noted. I'll keep the phrase like so until the question is addressed, but I do appreciate your comments on this point and will take this on board. Thanks. – Tim Dec 14 '18 at 16:13
  • 1
    Your previous question wasn't actually answered: it appears that the comments have caused you to change the question. To do that, please just edit your previous one. Otherwise we are left with two threads about the same topic, which is a bit of a mess. – whuber Dec 14 '18 at 16:18
  • 1
    @Stats I believe the point is much subtler than that: exactly what do you mean by "on average"? That has a clear meaning in ordinary regression, but it's not so clear here. In fact, the phrase "on average" may be misleading the reader concerning the model and how to interpret it. – whuber Dec 14 '18 at 16:20
  • @whuber, fair point, but my remarks were in relation to his comment on his understanding of the one unit increase in $x$ as it relates to ordinary regression (his comment was with regard to ordinary regression, not beta regression). Admittedly though, we haven't addressed his concerns on how to interpret the estimated coefficients in his beta model. I can see how this may have confused the OP. – StatsStudent Dec 14 '18 at 16:35
  • 1
    @Stats Thank you for clarifying that--I didn't properly understand the scope of your original remark. – whuber Dec 14 '18 at 16:37
  • @whuber my previous question was solely focussed on creating the regression equation using the log-log link. I thought the combined answer provided by yourself and Henry was correct and I have successfully implemented onto my dataset. I didn't want to ask any follow-up questions as I thought it would be a useful resource to others and didn't want to confuse the thread, hence the new question. I also have another question about standardised coefficients, but again, I was going to post this in a separate thread. Would you suggest I combine them all together into a single thread with 3 questions? – Tim Dec 14 '18 at 17:07
  • I'm suggesting you combine this current thread with the previous one. There is no official answer posted in the previous one. (Comments don't count.) – whuber Dec 14 '18 at 19:24
  • @whuber I considered it answered. But I don't have the option to accept the answer yet. Sorry for the confusion perhaps this is as I am new to cross-validated? Are you able to help answer this question? I will edit it above to include the additional question about standardised coefficients as well. – Tim Dec 14 '18 at 21:27
  • 1
    I don't know of a particularly intuitive _ceteris paribus_ interpretation for the loglog link. As recommended in one of the other posts you linked I usually visualize effect displays, e.g., `predict(..., type = "quantile", at = c(0.05, 0.5, 0.95))` where `x1` varies and `x2` is fixed at a typical value (e.g., the mean) or vice versa. See also the `lsmeans` package for similar displays. – Achim Zeileis Dec 14 '18 at 22:42
  • No answer has (yet) been posted to your original question, Tim. We sharply distinguish *comments* (which we have been exchanging extensively) from *answers.* You cannot accept a comment as an answer. Welcome, @Achim! You're definitely the right person to be commenting here. :-) – whuber Dec 14 '18 at 23:13
  • Thanks @whuber. I just commented rather than answered because I'm not sure whether a good answer to the question exists. And the advice from my comment is really the advice from other posts on this topic... – Achim Zeileis Dec 15 '18 at 00:37
  • 1
    Thanks @AchimZeileis. I have not come across an effect display before, is it also termed an interaction plot? I have been reading "Effect Displays in R for Multinomial and Proportional-Odds Logit Models" which discusses the effects package which seems useful. Could you please explain what the quantiles represent, and how I could integrate them into a plot with X1 and x2? – Tim Dec 15 '18 at 08:29
  • @whuber thanks for clairfiyng the difference between comments and a question. Very helpful :) – Tim Dec 15 '18 at 08:31

2 Answers2

5

The interpretation with the log-log link function is not the same, and, indeed there is no easy way to use it to really interpret the effect like you do for linear regression or with other link functions in generalized linear models. To be sure, assume, WLOG that you are interested in studying a $c$-unit increase in the predictor $X_1$. Then under the original link function, before any increase you would have:

\begin{eqnarray*} -\log(\log(p)) & = & X^{\top}\boldsymbol{\beta} \end{eqnarray*}

and after a $c$-unit increase in $X_1$ you have:

\begin{equation} \begin{alignedat}{2} \Rightarrow\quad && \ -\log(-\log(p^*)) &= X^{\top}\boldsymbol{\beta}+c\beta_{1} \\ \Rightarrow\quad && -\log(-\log(p^*)) &= -\log(-\log(p))+c\beta_{1} \\ \Rightarrow\quad && \log(-\log(p))-\log(-\log(p^*)) &= c\beta_{1} \\ \Rightarrow\quad && \log\left(\frac{-\log(p)}{-\log(p^*)}\right) &= c\beta_{1} \\ \Rightarrow\quad && \frac{\log(p)}{\log(p^*)} &= e^{c\beta_{1}} \\ && \end{alignedat} \end{equation}

By examining the last terms, you see there really doesn't appear to be a nice way to describe, in words, a $c$-unit increase in a predictor at least in any comprehensible way.

This is generally why, for example, folks like Hosmer, Lemeshow, and Sturdivant, recommend using specific link functions when attempting to interpret parameters and different link functions all together when the primary goal is to calculate estimates of the proportion. They write:

"If the goal of the analysis is to obtain estimates of the probability (proportion) of the outcome and estimates of effect for individual model covariates are, at best, of secondary importance, then we recommend that one consider the Probit, complementary log-log or log-log link models... If the goal of the analysis is to provide an alternative to the odds ratio as a measure of the effects of model covariates then we recommend using either the log link or identity link" (p. 436).

Achim Zeileis
  • 13,510
  • 1
  • 29
  • 53
StatsStudent
  • 10,205
  • 4
  • 37
  • 68
5

As discussed by @StatsStudent and in the comments: There is no simple and intuitive ceteris paribus interpretation for log-log links. The easiest link that still assures predictions are in $(0, 1)$ is the logit link, see: interpretation of betareg coef However, even in that case it takes some practice to quickly process the meaning of coefficients.

Hence, in general I recommend to complement other analyses by looking at predictions and discrete changes for regressor combinations of interest. I typically set up some new dummy data set that contains combinations of regressor values that I'm interest in and then I look at predictions, e.g., of means, variances, medians, or other quantiles.

As a simple example, consider your artificial data:

d <- data.frame(
  x1 = c(0.051, 0.049, 0.046, 0.042, 0.042, 0.041, 0.038, 0.037, 0.043, 0.031),
  x2 = c(0.11, 0.12, 0.09, 0.21, 0.18, 0.11, 0.13, 0.11, 0.08, 0.10),
  y  = c(0.97, 0.87, 0.77, 0.65, 0.77, 0.84, 0.76, 0.73, 0.82, 0.90)
)
m <- betareg(y ~ x1 + x2, data = d, link = "loglog")

Then, we create a new dummy data set that fixed x1 at its mean and lets x2 vary across its range:

nd <- data.frame(x1 = 0.042, x2 = 8:21/100)

To this data set we can then add the predicted means which show what a 0.01 unit change in x2 does:

nd$mean <- predict(m, nd, type = "response")
nd
##       x1   x2      mean
## 1  0.042 0.08 0.8671101
## 2  0.042 0.09 0.8571699
## 3  0.042 0.10 0.8465540
## 4  0.042 0.11 0.8352276
## 5  0.042 0.12 0.8231556
## 6  0.042 0.13 0.8103037
## 7  0.042 0.14 0.7966381
## 8  0.042 0.15 0.7821265
## 9  0.042 0.16 0.7667387
## 10 0.042 0.17 0.7504468
## 11 0.042 0.18 0.7332267
## 12 0.042 0.19 0.7150583
## 13 0.042 0.20 0.6959266
## 14 0.042 0.21 0.6758232

Clearly the effect of a 0.01 unit change in x2 leads to different predicted changes in the expectation of y:

summary(diff(nd$mean))
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.02010 -0.01722 -0.01451 -0.01471 -0.01207 -0.00994 

The changes can also be brought out graphically. The code below shows the mean (solid) along with the corresponding 5%, 50%, and 95% quantile (dashed) of the predicted beta distribution. Also, the observations from d are added:

plot(mean ~ x2, data = nd, type = "l")
lines(nd$x2, predict(m, nd, type = "quantile", at = 0.5), lty = 2)
lines(nd$x2, predict(m, nd, type = "quantile", at = 0.05), lty = 2)
lines(nd$x2, predict(m, nd, type = "quantile", at = 0.95), lty = 2)
points(y ~ x2, data = d)

beta regression plot

Note, however, that in the actual data d the variable x1 varies along with x2 while in the new dummy data nd the variable x1 is fixed. More generally plotting something like partial residuals would be better than actual observations.

A more formal way of looking at such "effects" displays is provided in packages effects (see http://doi.org/10.18637/jss.v087.i09 and the earlier references therein) or lsmeans (see https://doi.org/10.18637/jss.v069.i01).

Achim Zeileis
  • 13,510
  • 1
  • 29
  • 53
  • 2
    I too often conduct the very same "complementary" analysis by looking at predictions and discrete changes for combinations of relevant predictors. I find this to be very helpful and I think OP. +1 – StatsStudent Dec 17 '18 at 00:52