0
$\begingroup$

I envisage to employ a hurdle model in R, as for instance described here.

Question: how I can derive marginal effects from the hurdle model?

With linear regression, it is easy to get a marginal effect, as for instance, increasing healthpoor by one unit in the regression below, will increase visits by 1.84532 units. Or gendermale is associated with a decrease of visits by -0.63185 (other things equal).

I wonder how to derive such marginal effects in a hurdle model.

library(AER)
library(pscl)

data("NMES1988")
nmes <- NMES1988[, c(1, 6:8, 13, 15, 18)]  # select certain columns; Col 1 is number of visits
plot(table(nmes$visits))

ols <- lm(visits ~ ., data = nmes)
summary(ols)

---
Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
(Intercept)      1.63203    0.33480   4.875 1.13e-06 ***
hospital         1.61976    0.13264  12.211  < 2e-16 ***
healthpoor       1.84532    0.31234   5.908 3.72e-09 ***
healthexcellent -1.33140    0.36257  -3.672 0.000243 ***
chronic          0.94440    0.07693  12.276  < 2e-16 ***
gendermale      -0.63185    0.19454  -3.248 0.001171 ** 
school           0.14345    0.02726   5.262 1.49e-07 ***
insuranceyes     1.10397    0.24362   4.532 6.01e-06 ***
---

Here is an example of a hurdle model and the model summary.

I understand that the lower part of the output (Zero hurdle model) is the binary model to identify $(0,1)$, so I suppose a simple logistic regression.

However, I'm interested in interpreting the upper part (Count model) in the way like marginal effects as described above. The log-link hints that an interpretation as in the linear regression case is not valid.

How can I calculate marginal effects from the Count model?

I know that Stata has built-in functions to derive marginal effects from log-link models. Is there a way to do this in R as well?

mod.hurdle.nb <- hurdle(visits ~ ., data = nmes, dist = "negbin")
summary(mod.hurdle.nb)

---
Count model coefficients (truncated negbin with log link):
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)      1.197699   0.058973  20.309  < 2e-16 ***
hospital         0.211898   0.021396   9.904  < 2e-16 ***
healthpoor       0.315958   0.048056   6.575 4.87e-11 ***
healthexcellent -0.331861   0.066093  -5.021 5.14e-07 ***
chronic          0.126421   0.012452  10.152  < 2e-16 ***
gendermale      -0.068317   0.032416  -2.108   0.0351 *  
school           0.020693   0.004535   4.563 5.04e-06 ***
insuranceyes     0.100172   0.042619   2.350   0.0188 *  
Log(theta)       0.333255   0.042754   7.795 6.46e-15 ***

Zero hurdle model coefficients (binomial with logit link):
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)      0.043147   0.139852   0.309 0.757688    
hospital         0.312449   0.091437   3.417 0.000633 ***
healthpoor      -0.008716   0.161024  -0.054 0.956833    
healthexcellent -0.289570   0.142682  -2.029 0.042409 *  
chronic          0.535213   0.045378  11.794  < 2e-16 ***
gendermale      -0.415658   0.087608  -4.745 2.09e-06 ***
school           0.058541   0.011989   4.883 1.05e-06 ***
insuranceyes     0.747120   0.100880   7.406 1.30e-13 ***
---
$\endgroup$
  • $\begingroup$ Visits range from 0-89. Despite mod.hurdle.nb$model, does that look like a glm binomial family regression? $\endgroup$ – Richard Careaga Nov 7 at 5:41
  • $\begingroup$ my question is about plain interpretation of effects. The model is just a minimal example on playdata $\endgroup$ – Peter Nov 7 at 6:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.