Skip to content
Prev 12176 / 20628 Next

Providing starting values for glmer()

On 14-07-23 02:18 PM, Ravi Varadhan wrote:
[cc'ing to r-sig-mixed models]

  In the grand tradition of R help pages, I think the definition of
'start' in the ?glmer page is technically correct if somewhat opaque.
Short answer: the names should be 'theta' and/or 'fixef'.


 start: a named list of starting values for the parameters in the
          model, or a numeric vector. A numeric ?start? argument will
          be used as the starting value of ?theta?.  If ?start? is a
          list, the ?theta? element (a numeric vector) is used as the
          starting value for the first optimization step (default=1 for
          diagonal elements and 0 for off-diagonal elements of the
          lower Cholesky factor); the fitted value of ?theta? from the
          first step, plus ?start[["fixef"]]?, are used as starting
          values for the second optimization step.  If ?start? has both
          ?fixef? and ?theta? elements, the first optimization step is
          skipped. For more details or finer control of optimization,
          see ?modular?.

Since you're fitting a logistic model, large parameter estimates (e.g.
|beta|>10) are strongly suspicious of complete separation (consider the
value of `plogis(41,log.p=TRUE)`); large intercept terms are also
diagnostic for continuous predictors that should be centered.  The
proximal cause of the convergence warning is most likely that glmer
scales the estimated gradients at the MLE by the estimated curvature
(inverse Hessian); if the surface is really, really flat then the scaled
gradients will be large even if the gradients themselves are OK.

  MCMCglmm and blme give fairly straightforward ways to deal with
complete separation (see http://rpubs.com/bbolker/glmmchapter).

  Ben Bolker