[R-sig-ME] false convergence (8) with binary covariate (0, 1) but NOT if covariate is (no, yes)?
Douglas Bates
bates at stat.wisc.edu
Tue Mar 8 15:35:44 CET 2011
On Tue, Mar 8, 2011 at 7:25 AM, Julia Sommerfeld
<Julia.Sommerfeld at utas.edu.au> wrote:
> Dear list,
>
> The false convergence warning message (8) seems to be a common problem in
> lmer. I've searched the archives to find a solution and found out that one
> approach would be standardizing my covariate to mean-center the data.
>
> However, what if the covariate itself (in this case SameMate) has a binary
> value (0,1)?
>
> After testing for the effect of the breeding success on site-fidelity (and
> finally understanding the summary output), I would like to account for the
> effect of breeding success (successfull=1, unsuccessfull=0) on mate-fidelity
> (mate-fidelity=1, no mate-fidelity=0).
>
> I.e. does the model including BreedSuc1 fits better than without it:
>
> fm<-lmer(SameMate~BreedSuc1+(1|Bird),family="binomial")
> fm1<-lmer(SameMate~1+(1|Bird),family="binomial")
>
> Both models get the warning message:
>
> In mer_finalize(ans) : false convergence (8)
>
> anova(fm,fm1)
> Data:
> Models:
> fm1: SameMate ~ 1 + (1 | Bird)
> fm: SameMate ~ BreedSuc1 + (1 | Bird)
> Df AIC BIC logLik Chisq Chi Df Pr(>Chisq)
> fm1 2 48.659 52.946 -22.330
> fm 3 50.342 56.771 -22.171 0.3174 1 0.5732
>
> Now the weird thing:
>
> I simply changed the coding of my covariate from "0,1" to "no, yes". Now,
> only model fm1 gets the false convergence message:
>> fm<-lmer(SameMate~BreedSuc1+(1|Bird),family="binomial")
>> fm1<-lmer(SameMate~1+(1|Bird),family="binomial")
> Warning message:
> In mer_finalize(ans) : false convergence (8)
> Data:
> Models:
> fm1: SameMate ~ 1 + (1 | Bird)
> fm: SameMate ~ BreedSuc1 + (1 | Bird)
> Df AIC BIC logLik Chisq Chi Df
> Pr(>Chisq)
> fm1 2 47.490 51.468 -21.745
> fm 3 54.096 60.063 -24.048 0 1 1
> a) Why is that so?
> b) How can I fix the false convergence problem if my covariate has also a
> binary format?
The message about false convergence comes from the optimizer code,
which is the code used in nlminb. It is a warning that the optimizer
has not been able to establish its conditions for a minimum but the
result is likely to be a minimum.
The development version of the package, called lme4a, uses a different
optimizer and will often converge happily where nlminb doesn't. I'm
currently working on another version of glmer that allows for the user
to use a variety of optimizers so as to check the convergence from
different sources.
The best thing to do in these cases is to set verbose=TRUE and see if
the optimization path makes sense. Your results appear to be
inconsistent in that the log-likelihood for the model with fewer
parameters is much larger than for the model with more parameters.
If you would be willing to make the data available, perhaps by private
email if you prefer, then I can check on what happens in the
development version.
> I would highly appreciate suggestions and ideas.
>
> Cheers,
>
> Julia
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-mixed-models at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>
More information about the R-sig-mixed-models
mailing list