[R] Convergence problem with zeroinfl() and hurdle() when interaction term added

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Sun Nov 29 10:03:56 CET 2009


On Sat, 28 Nov 2009, Sarah Valencia wrote:

> Hello,
>
> I have a data frame with 1425 observations, 539 of which are zeros. I
> am trying to fit the following ZINB:
>
> f3<-formula(Nbr_Abs~ Zone * Year + Source)
> ZINB2<-zeroinfl(f3, dist="negbin", link= "logit", data=TheData,
> offset=log(trans.area), trace=TRUE)
>
> Zone is a factor with 4 levels, Year a factor with 27 levels, and
> Source a factor with 3 levels. Nbr_Abs is counts of a species that
> shows a high level of aggregation. These counts are offset by the area
> searched per transect.
>
> The trace output and error message are as follows:
>
> Zero-inflated Count Model
> count model: negbin with log link
> zero-inflation model: binomial with logit link
> dependent variable:
>   0    1    2    3    4    5    6    7    8    9   10   11   12   13   14
> 539  125   72   41   33   35   35   31   15   22   22   11   13   16   13
> .... (truncated for brevity)...
> 285  286  287  288  289  290  291  292  293  294 <NA>
>   0    0    0    0    0    0    0    0    0    1    0
> generating starting values...done
> calling optim() for ML estimation:
> Error in optim(fn = loglikfun, gr = gradfun, par = c(start$count,
> start$zero,  :
>  non-finite value supplied by optim
> In addition: Warning message:
> In glm.fit(Z, as.integer(Y0), weights = weights, family =
> binomial(link = linkstr)) :
>  fitted probabilities numerically 0 or 1 occurred
>
>
> I get the same optim error when I run a similar call using hurdle
> instead of zeroinfl. However, both commands work fine when the
> interaction terms is removed ( Nbr_Abs~ Zone + Year + Source). Is this
> a case of some kind of linear relationship between my covariates? In
> addition, I can run a negative binomial glm with the interaction term,
> which I didn't think would be possible if that were the case.

My guess is that there is (quasi-)complete separtion when you add the 
interaction term, i.e., that in one of the interaction groups there are 
only zero or non-zero counts. See
   xtabs(~ factor(Nbr_Abs > 0) + Zone + Year, data = TheData)
In this case the maximum likelihood estimate does not exist and the same 
warnings as above will occur when you try to fit a logit model for 
non-zero counts:
   glm(factor(Nbr_Abs > 0) ~ Zone * Year + Source, data = TheData,
     family = binomial)

hth,
Z

> Any help would be much appreciated!
>
> Thanks,
> Sarah
>
> --
> Sarah Valencia, PhD student
>
> Bren School of Environmental Science and Management
>
> University of California Santa Barbara, CA 93106
>
> Lab: (805) 893-5054
>
> ______________________________________________
> 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