how to interpret output from brms hurdle models?

2,200 views
Skip to first unread message

Emily Butler

unread,
Apr 27, 2017, 8:24:04 PM4/27/17
to brms-users
I am very excited about the capability provided by brms - thanks to the author of the package for his effort! I am hoping someone can help me with interpreting the output from a hurdle model. For example, if I fit a very simple intercept-only hurdle_gamma model (e.g., brm(bf(demandCount ~ 1 + (1 | Dyad)), data = data, family = hurdle_gamma()) I get the following output:

Population-Level Effects:
          Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
Intercept     1.16      0.11     0.95     1.37       2052    1

Family Specific Parameters:
      Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
shape     3.90      0.97     2.29     6.08       2118    1
hu        0.23      0.05     0.14     0.32       6000    1

What are the appropriate back-transformations (if any) for the population-level intercept and the shape and hu estimates, and how are they interpreted with respect to two sub-models (the logistic model for the zeros and the gamma model for the non-zeros)?? Any help will be much appreciated since this output doesn't seem to match any documentation about hurdle models that I can find.

Ruben Arslan

unread,
Apr 28, 2017, 3:39:41 AM4/28/17
to brms-users
Hi Emily,

caveat: I know nothing about hurdle_gamma but I think Paul is finishing his thesis atm, so maybe this will still help.
with bf, you can specify separate formulae for the hurdle and the gamma part, like so:
brm(bf(
demandCount ~ 1 + (1 | Dyad),
hu ~ 1 + (1 | Dyad)), data = data, family = hurdle_gamma())

Here's a worked example of mine for a hurdle poisson model: https://rubenarslan.github.io/paternal_age_fitness/2_ddb_main_models.html#model-summary-2 

As for the back-transformations, I usually use the marginal_effects(model) function to visualise my effects, or the predict function if I need something more specific.
I've never needed more, but your mileage may vary :-)

Best,
Ruben

Emily Butler

unread,
Apr 28, 2017, 12:25:56 PM4/28/17
to brms-users
Thank you Ruben! And best of luck to Paul finishing his thesis!

This is a helpful example. If you don't mind my harassing you some more, in your example, how would you interpret the parameters - for example, let's consider just 4 of your parameters: Intercept, paternalage, hu_intercept and hu_paternalage. Is the Intercept (once appropriately transformed - I think I can figure that part out) the estimate of the number of children across all observations (e.g. including the zeros and non-zero values)? Or only for the non-zero values? And similarly, is "paternalage" (once transformed) the effect of paternalage on the number of children across all observations or only non-zero observations? And is hu_intercept the probability of having children and hu_paternalage the effect of paternalage on the probability of having children?? Or am I completely off base here?......

Thank you for taking the time to respond :)

Cheers, Emily

Ruben Arslan

unread,
Apr 28, 2017, 12:36:37 PM4/28/17
to Emily Butler, brms-users
Hi Emily,

I think you can see the hurdle model as a two-part model, one for the question zero or zon-zero, one for the non-zeroes.
 
Intercept
intercept for non-zero values (in this case a rate, since poisson)
 
, paternalage

change in non-zero values (intercept rate ratio) 
, hu_intercept
 odds of zero values (not having children)
and hu_paternalage
odds ratio of zero values.


when I wanted to construct one effect size for paternal age ignoring hurdle complication, I did this. https://rubenarslan.github.io/paternal_age_fitness/0__helpers.html#compute-effect-of-10-years-of-paternal-age 

have a nice weekend,

Ruben
 
--
You received this message because you are subscribed to the Google Groups "brms-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brms-users+...@googlegroups.com.
To post to this group, send email to brms-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/brms-users/6b189d3d-2443-48cd-beca-5aa98a72517c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Ruben C. Arslan

Georg August University Göttingen
Biological Personality Psychology
Georg Elias Müller Institute of Psychology
Goßlerstr. 14
37073 Göttingen
Germany

Emily Butler

unread,
Apr 28, 2017, 12:45:58 PM4/28/17
to brms-users, emily.a...@gmail.com
Many thanks Ruben!!! This confirmation of my understanding is just what I needed. And thank you for reminding me about plotting the marginal effects - that will provide a good reality check. Hope you have a good weekend too. Cheers, Emily

Paul Buerkner

unread,
Apr 28, 2017, 1:06:29 PM4/28/17
to brms-users, emily.a...@gmail.com
Hi Emily,

just a quick follow up. I think looking at the vignette("brms_families") and vignette("brms_distreg") as well as at help("brmsformula") and help("brmsfamily") should help you with zero-inflated and hurdle models in general.

Best,
Paul
Reply all
Reply to author
Forward
0 new messages