[R] Zero inflated: is there a limit to the level of inflation
Stephanie L. Simek
ssimek at CFR.MsState.Edu
Tue Jun 26 23:50:01 CEST 2012
Thank you both for your quick response and input. I will consider all of
your points and see what we are able to derive from there.
Thank you again for your time and expertise.
-Stephanie
-------------------------------------------------------
Stephanie L. Simek
Carnivore Ecology Lab
Forest and Wildlife Research Center
Mississippi State University
Box 9690
Mississippi State, MS 39762
Cell: (850) 591-1430
Email: ssimek at cfr.msstate.edu
-----Original Message-----
From: Achim Zeileis [mailto:Achim.Zeileis at uibk.ac.at]
Sent: Tuesday, June 26, 2012 4:46 PM
To: Marc Schwartz
Cc: Stephanie L. Simek; r-help at r-project.org
Subject: Re: [R] Zero inflated: is there a limit to the level of
inflation
On Tue, 26 Jun 2012, Marc Schwartz wrote:
> On Jun 26, 2012, at 2:10 PM, SSimek wrote:
>
>> Hello,
>>
>> I have count data that illustrate the presence or absence of
>> individuals in my study population. I created a grid cell across the
>> study area and calcuated a count value for each individual per season
>> per year for each grid cell. The count value is the number of time an
>> individual was present in each grid cell. For illustration my data
>> columns look something like this and are repeated for each
individual:
>>
>> Cell_ID Param1 Param2 Param3 Param4 COUNT Name Year
Season Cov
>> 1 160.565994 729.08 1503 7930.3 0 AA 2010
AUT Open
>> 1 160.565994 729.08 1503 7930.3 22 AA 2011
SPR Open
>> 1 160.565994 729.08 1503 7930.3 12 AA 2009
SUM Open
>> 1 160.565994 729.08 1503 7930.3 0 AA 2010
SUM Open
>> 2 169.427001 491.87 1503.31 5101.09 0 AA 2010
AUT oldHard
>> 2 169.427001 491.87 1503.31 5101.09 16 AA 2011
SPR oldHard
>> 2 169.427001 491.87 1503.31 5101.09 0 AA 2009
SUM oldHard
>> 2 169.427001 491.87 1503.31 5101.09 0 AA 2010
SUM oldHard
>> ?
>> 563 86.777099 612.69 977 4474.6 62 AA 2010
AUT Water
>> 563 86.777099 612.69 977 4474.6 12 AA 2011
SPR Water
>> 563 86.777099 612.69 977 4474.6 55 AA 2009
SUM Water
>>
>>
>> 1 160.565994 729.08 1503 7930.3 0 BB 2010
SUM Open
>> 2 169.427001 491.87 1503.31 5101.09 72 BB 2010
SUM oldHard
>> 5 160.75 614.95 1503.31 2878.98 16 BB 2010 SUM
medHard
>> 6 170.404998 510.58 1489.44 743.14 0 BB 2010
SUM Water
>> ?
>> 563 86.777099 612.69 977 4474.6 0 BB 2010
SUM Water
>>
>>
>> 1 160.565994 729.08 1503 7930.3 14 C 2005
AUT Open
>> 1 160.565994 729.08 1503 7930.3 0 C 2006
AUT Open
>> 1 160.565994 729.08 1503 7930.3 0 C 2006
SPR Open
>> 1 160.565994 729.08 1503 7930.3 56 C 2007
SPR Open
>> 1 160.565994 729.08 1503 7930.3 0 C 2006
SUM Open
>> 2 169.427001 491.87 1503.31 5101.09 124 C 2005
AUT oldHard
>> 2 169.427001 491.87 1503.31 5101.09 231 C 2006
AUT oldHard
>> 2 169.427001 491.87 1503.31 5101.09 889 C 2006
SPR oldHard
>> 2 169.427001 491.87 1503.31 5101.09 0 C 2007
SPR oldHard
>> ?
>> 563 86.777099 612.69 977 4474.6 0 C
2005 AUT Water
>> 563 86.777099 612.69 977 4474.6 231 C
2006 AUT Water
>> 563 86.777099 612.69 977 4474.6 185 C
2006 SPR Water
>> 563 86.777099 612.69 977 4474.6 123 C
2007 SPR Water
>> 563 86.777099 612.69 977 4474.6 52 C
2006 SUM Water
>>
>>
>>
>> I have 563 grid cells across my study area and each individual has
>> 1-563 cells associated for each year and each season the individual
was monitored.
>> Therefore my grid cells are repeated. I end up with 71,000 records
>> and 925 records have a Count value >0; which means 70,075 records
>> have a Count value = 0.
>>
>> I wanted to run a zero inflated poisson model to determine mixed
>> effects (of
>> parameters) with individual as the random effect. But I have been
>> advised two things:
>>
>> 1. I cannot run a zero inflated poisson model because my data are too
>> "extremely" inflated (i.e. 70,075 vs 925) and
>>
>> 2. I cannot run the model with each cell repeated for each
>> individual. I am told the model doesn't recognize that Cell_ID #1 for
>> individual "A" is the same Cell_ID #1 for individual "B".
>>
>> Does anyone know if either or both of these points are true? I would
>> appreciate any thoughts, advice, or suggestions.
>>
>> Thanks!
>>
>> -Stephanie
>
>
> Hi Stephanie,
>
> Some comments:
>
> 1. You should think about or at least be open to a zero inflated
negative binomial distribution rather than zero inflated poisson.
>
> 2. You should at least review the vignette for the pscl CRAN package,
which provides standard fixed effects models and related functions for
count based data and importantly, some good conceptual content:
>
> http://cran.r-project.org/web/packages/pscl/vignettes/countreg.pdf
>
> 3. Given the repeated measures framework and correlation issues you
likely have, you should subscribe to and re-post your query to the
R-sig-mixed-models list:
>
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>
> which will avail you of experts in the field.
>
> 4. There is also a draft FAQ for mixed models here:
>
> http://glmm.wikidot.com/faq
>
> which I believe is maintained by Ben Bolker, who actively participates
in the above list. Based upon the content there, I suspect that you will
be pointed to the glmmADMB package which is on R-Forge
(http://glmmadmb.r-forge.r-project.org/) and can handle zero inflated
mixed effects models of at least some types.
>
> 5. If all else fails, just to plant a seed, you might want to consider
> a mixed effects logistic regression model with a binary response,
> since you appear to have a relatively small "event" incidence in your
data.
> The above list will also be helpful in that setting and you would
> likely be pointed to the glmer() function in the lme4 package for that
> application, which provides for GLMs in a mixed effects framework.
Thanks, Marc, all very useful points! Just one addition:
I would recommend starting with the last point - a binary response
regression (for y > 0). This could be considered as the zero-hurdle of a
hurdle regression.
Hurdle regressions are an alternative to zero-inflated models, but have
the nice property that you can separately estimate both parts of the
hurdle: (1) a binary regression for y=0 vs. y > 0. (2) A truncated count
model for y, estimated only from the observations y>0. The "pscl"
package contains a hurdle() function which estimates both parts in one
go (and the "countreg" vignette gives more details and references), but
in this case it would probably be useful to estimate them separately.
In any case, both parts will need care because the binary response
probably contains a lot of (quasi-)complete separations because
non-zeros are so rare. Conversely, the truncated count model may be hard
to estimate because there are no observations for a lot of parameter
combinations. But estimating the models separately will give you more
flexibility in addressing these issues.
To estimate the zero-truncated count distributions, you may consider the
"countreg" package from R-Forge which uses the same code as (one part
of) the hurdle() function.
hth,
Z
> Regards,
>
> Marc Schwartz
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list