[R-sig-ME] mixed mutlinomial regression for count data with, overdisperion & zero-inflation
Highland Statistics Ltd
highstat at highstat.com
Tue May 17 12:08:39 CEST 2016
> Message: 1
> Date: Tue, 17 May 2016 08:28:42 +0200
> From: St?phanie P?riquet <stephanie.periquet at gmail.com>
> To: Ben Bolker <bbolker at gmail.com>
> Cc: r-sig-mixed-models at r-project.org
> Subject: Re: [R-sig-ME] Mixed mutlinomial regression for count data
> with overdisperion & zero-inflation
> <CAMKTVFXZnvS1g-FaNVQ1FQUj5u84S-fd=k4u_6x5PwJUZ2R+bQ at mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
> Hi Ben,
> Thank you very much for your answer!
> I am aware that a lot of zero doesn't mean zero inflation, but if my
> understanding is correct the only way to check for ZI would be to compare
> one model take doesn't take it into account and another one that does right?
1. Calculate the percentage of zeros for your observed data.
2. Fit a model....this can be a model without zero inflation stuff.
3. Simulate 1000 data sets from your model and for each simulated data
set assess the percentage of zeros.
4. Compare the results in 3 with those in 1.
5. Even nicer....
5a. Plot a simple frequency table for the original data
(plot(table(Response), type = "h").
5b. Calculate a table() for each of your simulated data.
5c. Calculate the average frequency table.
5d. Compare 5a and 5c.
For a nice example and R code, see:
A protocol for conducting and presenting results of regression-type
analyses. Zuur & Ieno
Methods in Ecology and Evolution 2016
Comes out in 2 weeks or so.
> With the model example I gave (count~item+item:season+item:
> moon+offset(logduration)+(1+indiv)+(1|obs)) glmmADMB doesn't run but I'm
> gonna dig a bit more into this ans come back t you if I can't figure it out.
> On 17 May 2016 at 00:41, Ben Bolker <bbolker at gmail.com> wrote:
>> St?phanie P?riquet <stephanie.periquet at ...> writes:
>>> Dear list members,
>>> First sorry for this very long first post ?
>> That's OK. I'm only going to answer part of it, because it's long.
>>> I am looking for advises to fit a mixed multinomial regression on count
>>> data that are overdispersed and zero-inflated. My question is to evaluate
>>> the effect of season and moonlight on diet composition of bat-eared
>>> My dataset is composed of 14 possible prey item, 20 individual foxes
>>> observed, 4 seasons and a moon illumination index ranging from 0 to 1 by
>>> 0.1 implements (considered as a continuous variable even if takes only 11
>>> values). For each unique combination of individual*season*moon, I thus
>>> 14 lines, one for the count of each prey item.
>>> From what I gathered, it would be possible to use
>>> a standard glmm model of
>>> the following form to answer my question (ie a multinomial regression):
>>> (1|id), family=poisson)
>> Yes, but I don't know if this will account for the possible dependence
>> *among* prey types.
>>> where count is the number of prey of a given type recorded eaten;
>>> item is the prey type;
>>> logduration is the log(total time observed for a given combination of
>>> obs is a unique id for each combination of individual*season*moon,
>>> so each
>>> obs value regroups 14 lines (one for each prey item) with the same
>>> id is a unique id for each line to account for overdispersion (as
>>> quasi-poisson or negative binomial distributions are not implemented in
>>> lme4, Elston et al. 2001).
>> Seems about right.
>> There is glmer.nb now, but you might not want it; it tends to
>> be slower and more fragile, and you'd still have to deal with
>>> However, they are a lot of zeros in my data i.e. lot of prey items has
>>> never been observed being eaten for mane combinations of
>> That doesn't *necessarily* mean you need zero-inflation. Large
>> numbers of zeros might just reflect low probabilities, not ZI per se.
>>> Following Ben Bolker wiki (http://glmm.wikidot.com/faq) I summarize
>> that I
>>> should use of the following methods to answer my question
>>> - ? glmmADMB, with family=nbinom
>>> - ? MCMCglmm, with family=zipoisson
>>> - ? "expectation-maximization (EM) algorithm" in lme4
>> Note there's a marginally newer version at
>> Another, newer choice is glmmTMB (available on Github) with
>>> Here come the questions:
>>> 1. 1. Is it correct to assume that I could use the same model
>>> in glmmADMB or MCMCglmm to answer my question ?
>> glmmADMB or glmmTMB, yes: I'm not sure about MCMCglmm
>>> 2. I then wouldn't need the (1|id) to correct for overdispersion as
>>> methods would already account for it, correct?
>> That's right, I think.
>>> 3. I am totally new to MCMCglmm, so ...
>> I'm going to let Jarrod Hadfield, or someone else, answer this one.
>>> 4. 4. If I were to use the EM algorithm method,
>>> how should the results
>>> be interpreted?
>> The result is composed of two models -- a 'binary' (structural zero vs
>> non-structural zero) and a 'conditional' (count) part.
>> R-sig-mixed-models at r-project.org mailing list
Dr. Alain F. Zuur
First author of:
1. Beginner's Guide to GAMM with R (2014).
2. Beginner's Guide to GLM and GLMM with R (2013).
3. Beginner's Guide to GAM with R (2012).
4. Zero Inflated Models and GLMM with R (2012).
5. A Beginner's Guide to R (2009).
6. Mixed effects models and extensions in ecology with R (2009).
7. Analysing Ecological Data (2007).
Highland Statistics Ltd.
9 St Clair Wynd
UK - AB41 6DZ Newburgh
Tel: 0044 1358 788177
Email: highstat at highstat.com
[[alternative HTML version deleted]]
More information about the R-sig-mixed-models