[R-sig-ME] lme4/glmer convergence warnings

Ben Bolker bbolker at gmail.com
Thu Apr 10 04:33:49 CEST 2014


Ben Bolker <bbolker at ...> writes:

> 
> On 14-04-06 04:31 AM, Tibor Kiss wrote:
> > Hi,
> > 
> > being somewhat nonplussed by similar messages, I also applied
>  Ben's recent suggestion to one of my models
> to get:
> > 
> >      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
> > 1.343e-05 3.530e-05 5.756e-05 7.631e-05 9.841e-05 1.932e-04 
> > 
> > So following up on Rob's message: What does it mean?
> > 
> > With kind regards
> > 
> > Tibor
> > 
> 
>   It means that on the scale of the _standard deviations_ of the
> parameters, the estimated gradients at the MLE (or restricted MLE) are
> not large.  I was surprised in Rob's case that these scaled gradients
> were not that small; much smaller than without the scaling, but not
> small enough to make me think  really understand what's going on.
> 
>   To recapitulate: the appearance of all of these new messages in the
> latest version of lme4 is **not** due to a degradation or change in the
> optimization or fitting procedure -- it's due to a new set of
> convergence tests that we implemented, that we think are giving a lot of
> false positives.  You can easily shut them off yourself, or raise the
> tolerance for the warnings (see ?lmerControl/?glmerControl).  As
> developers, we're a bit stuck now because we don't want to turn the
> warnings _off_ until we understand the circumstances that are triggering
> them better, and that takes more time and effort than we've been able to
> muster so far.

  [much context snipped]

  Just to follow up on this: more technical discussion is going on at
https://github.com/lme4/lme4/issues/120 ... at present, it is looking
like scaling the gradient by the hessian is going to solve a lot of
problems.  If you are experiencing convergence warnings about
max|grad| that you suspect are false positives, it would be a great
help if you could try

  relgrad <- with(fitted_model at optinfo$derivs,solve(Hessian,gradient))
  max(abs(relgrad))

check if the result is a small number (e.g. <0.001) and report **one
way or the other** on this list, or at the Github url above, or
(least preferred) by e-mailing lme4-authors at lists.r-forge.r-project.org
We also hope that this test *will* pick up the cases where people have
reported problems with Nelder-Mead not working properly ...

  Ben Bolker



More information about the R-sig-mixed-models mailing list