Q: Can a valid, zero-inflated Quasi-Poisson model be fitted in R?
I know zero-inflated Poisson and zero-inflated negative binomial both can be fitted with each pscl::zeroinfl()
and glmmADMB::glmmadmb()
.
However, in the help-file examples for pscl::zeroinfl()
, the Quasi-poisson is fitted without inflation but omitted from the inflation demonstration:
## data
data("bioChemists", package = "pscl")
## without inflation
## ("art ~ ." is "art ~ fem + mar + kid5 + phd + ment")
fm_pois <- glm( art ~ ., data = bioChemists, family = poisson)
fm_qpois <- glm( art ~ ., data = bioChemists, family = quasipoisson)
fm_nb <- glm.nb(art ~ ., data = bioChemists)
## with simple inflation (no regressors for zero component)
fm_zip <- zeroinfl(art ~ . | 1, data = bioChemists)
fm_zinb <- zeroinfl(art ~ . | 1, data = bioChemists, dist = "negbin")
and the only options for dist are dist = c("poisson", "negbin", "geometric")
.
In the help-file documentation for glmmADMB::glmmadmb()
, the negative binomial is family="nbinom"
while the Quasi-Poisson is family="nbinom1"
and the argument definition for zeroInflation
states:
zeroInflation: whether a zero-inflated model should be fitted
(only "poisson" and "nbinom" families).
My understanding is that Quasi-Poisson models have the advantage of accounting for overdispersion (albeit in a linear fashion); that is if P is Poisson and Q is Quasi-Poisson:
but perhaps because they lack a proper likelihood they cannot be as easily implemented and that's why they are apparently omitted from two of the more popular zero-inflated packages...
Q: Can a valid, zero-inflated Quasi-Poisson model be fitted in R?
A: YES, a valid, zero-inflated Quasi-Poisson model be fitted in R.
Set aside pscl::zeroinfl()
and focus on glmmADMB::glmmadmb()
.
A few things for glmmADMB::glmmadmb()
:
family="nbinom1"
is still a negative binomial model with a valid likelihood -- the help-file just states that the parameterization corresponds to a quasipoisson. If you dig through the guts of glmmADMB::glmmadmb()
you'll see that "nbinom", "nbinom1", and "nbinom2" are all changed to family="nbinom"
and that specifying "nbinom1" just creates a flag to submit tau=alpha
instead of tau=(1+e1+lambda/alpha)
in the .tpl file .
Furthermore, the package maintainer uses family="nbinom1"
and zeroInflation=TRUE
as the preferred model in an analysis about owls displayed on page 17 of a PDF at the ADMB website :
gfit3 <- glmmadmb(NCalls(FoodTreatment+ArrivalTime)*SexParent+ offset(logBroodSize)+(1|Nest), data=Owls, zeroInflation=TRUE, family="nbinom1")
While this discussion is not about a zeroInflation=TRUE
and family="nbinom1"
model, Ben explains the parameterization of nbinom1 vs. quasi-poisson in the zeroInflation=FALSE
case.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.