[R-sig-ME] zero-inflated models in MCMCglmm

Houslay, Tom T.Houslay at exeter.ac.uk
Sat Nov 26 11:02:53 CET 2016

Hi Gustaf, just on your question of interpreting zapoisson in MCMCglmm - my recent paper uses zero-altered poisson models (for calling effort in male crickets), which might (hopefully?) help with interpretation:


I also found David Atkins' paper (and associated tutorial) on zero-altered count models helpful - paper and code at his website here:


Cheers, and good luck!



Message: 1
Date: Fri, 25 Nov 2016 14:16:30 +0100
From: Gustaf Granath <gustaf.granath at gmail.com>
To: r-sig-mixed-models at r-project.org
Subject: [R-sig-ME] zero-inflated models in MCMCglmm
Message-ID: <d4a6fd3a-151a-32e0-1fea-12ff7fe48466 at gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed

A few questions regarding zero-inflated models using MCMCglmm.

1. Odd contrasts are created when using, e.g. :
y ~ trait-1 + at.level(trait, 1):(X1+X2), family = "zipoisson" #X1 and
X2 are factors with 2 levels
at.level(trait, 1):X1lev1
at.level(trait, 1):X1lev2
at.level(trait, 1):X2lev2

It doesnt look like this in the course notes (what I can see). Is
at.level(trait, 1):X1lev1 the reference level for everything below? I
also get very high (>1000) estimates for traity, at.level(trait,
1):X1lev1 and at.level(trait, 1):X1lev2.

2. I made four models
a) y ~ X1*X2, family = "poisson"
Large overdispersion (units ~ 5) but everything looks fine (traceplots,
random effects (including units) ). Predictive checks show that the
models predict too few zeros though. And alarming is that predictions
are really bad, e.g. a treatment mean of 40 is predicted to have 300 counts.

b) y ~ trait-1 + at.level(trait, 1):(X1+X2), family = "zipoisson"
Model looks OK, but again, predictions are way too high for the higher
tretament means.

c:d) y ~ trait-1 + at.level(trait, 1):(X1+X2), family = "zapoisson" or
Predicted values are much better. But is it the same way get predictions
here? Possible to get predictions from the separate models
(poisson/binomial) in the hurdle case? (code available?)
#get e.g. treatment predictions?
predict.MCMCglmm(model, marginal = ~ random_factor, type="response",
posterior = "mean")

The "zapoisson" model performs best but I dont understand why the
"zipoisson" is so bad. Any typical things to look for when it looks like
Interpreting "zapoisson" isnt easy, any good literature/tutorials on
this model?




Gustaf Granath
Post doc
Swedish University of Agricultural Sciences

	[[alternative HTML version deleted]]

More information about the R-sig-mixed-models mailing list