[R] Error messages using LMER

Douglas Bates dmbates at gmail.com
Sun Aug 21 18:39:38 CEST 2005


Several people have been helping examine the cause of the warning
message about Code(27).  The latest message from Duncan Murdoch said
that he encounters the warning when using an older compiler but now
when using the latest compiler.  I hope this means that a new version
of R-devel compiled for Windows does not show this behavior.

On 8/18/05, Douglas Bates <dmbates at gmail.com> wrote:
> Thanks for including all of that output.  
> 
> I believe that in this version the parameters are the relative
> variances.  This would indicate that somehow you are getting fits with
> very low residual sums of squares in the weighted least squares
> problem.  It could be that you have too many fixed effects terms in
> the model and are getting complete separation.
> 
> On 8/18/05, Shige Song <shigesong at gmail.com> wrote:
> > Here is what happened using R-devel:
> > 
> > -------------------------------------------------------------
> >   EM iterations
> >   0 85289.766 ( 5407.13:  0.0815) ( 26134.4: 0.00387)
> >   1 84544.322 ( 333.732:   0.137) ( 1462.32: 0.00934)
> >   2 84515.108 ( 129.506:  0.0270) ( 446.306: 0.00481)
> >   3 84514.519 ( 115.592: 0.00355) ( 328.637: 0.00103)
> >   4 84514.505 ( 113.981:0.000505) ( 311.160:0.000165)
> >   5 84514.505 ( 113.755:7.45e-005) ( 308.524:2.50e-005)
> >   6 84514.505 ( 113.722:1.11e-005) ( 308.128:3.77e-006)
> >   7 84514.505 ( 113.717:1.66e-006) ( 308.068:5.66e-007)
> >   8 84514.505 ( 113.716:2.50e-007) ( 308.059:8.49e-008)
> >   9 84514.505 ( 113.716:3.74e-008) ( 308.058:1.27e-008)
> >  10 84514.505 ( 113.716:5.62e-009) ( 308.058:1.91e-009)
> >  11 84514.505 ( 113.716:8.43e-010) ( 308.058:2.87e-010)
> >  12 84514.505 ( 113.716:1.27e-010) ( 308.058:4.31e-011)
> >  13 84514.505 ( 113.716:1.90e-011) ( 308.057:6.47e-012)
> >  14 84514.505 ( 113.716:2.86e-012) ( 308.057:9.73e-013)
> >  15 84514.505 ( 113.716:4.25e-013) ( 308.057:1.44e-013)
> >   EM iterations
> >   0 83740.342 ( 113.716: -0.0164) ( 308.057:0.000596)
> >   1 83740.273 ( 121.512:-0.00121) ( 298.914:-3.24e-005)
> >   2 83740.272 ( 122.131:-0.000111) ( 299.397:-1.24e-005)
> >   EM iterations
> >   0 84011.546 ( 122.131:-0.00474) ( 299.397:-0.000265)
> >   1 84011.539 ( 124.616:-0.000472) ( 303.415:-6.62e-005)
> >   2 84011.539 ( 124.869:-5.58e-005) ( 304.433:-1.16e-005)
> >   EM iterations
> >   0 84018.589 ( 124.869:-0.000139) ( 304.433:-1.81e-005)
> >   1 84018.589 ( 124.944:-1.62e-005) ( 304.713:-3.26e-006)
> >   2 84018.589 ( 124.953:-2.12e-006) ( 304.764:-5.23e-007)
> >   EM iterations
> >   0 84018.611 ( 124.953:-2.38e-006) ( 304.764:-5.44e-007)
> >   1 84018.611 ( 124.954:-3.25e-007) ( 304.772:-8.50e-008)
> >   2 84018.611 ( 124.955:-4.66e-008) ( 304.773:-1.29e-008)
> >   EM iterations
> >   0 84018.611 ( 124.955:-4.75e-008) ( 304.773:-1.30e-008)
> >   1 84018.611 ( 124.955:-6.93e-009) ( 304.774:-1.97e-009)
> >   2 84018.611 ( 124.955:-1.03e-009) ( 304.774:-2.96e-010)
> > Warning messages:
> > 1: optim or nlminb returned message See PORT documentation.  Code (27)
> >  in: LMEopt(x = mer, value = cv)
> > 2: optim or nlminb returned message See PORT documentation.  Code (27)
> >  in: LMEopt(x = mer, value = cv)
> > 3: optim or nlminb returned message See PORT documentation.  Code (27)
> >  in: LMEopt(x = mer, value = cv)
> > 4: optim or nlminb returned message See PORT documentation.  Code (27)
> >  in: LMEopt(x = mer, value = cv)
> > 5: optim or nlminb returned message See PORT documentation.  Code (27)
> >  in: LMEopt(x = mer, value = cv)
> > 6: optim or nlminb returned message See PORT documentation.  Code (27)
> >  in: LMEopt(x = mer, value = cv)
> > 7: nlminb failed to converge in: lmer(.D ~ offset(log(.Y)) + (1 |
> > provn) + (1 | bcohort) + agri +
> > -------------------------------------------------------------
> > 
> > Shige
> > 
> > On 8/19/05, Shige Song <shigesong at gmail.com> wrote:
> > > Dear Professor Bates,
> > >
> > > Here is output R 2.1.1 produced with "control = list(EMverbose = TRUE,
> > > msVerbose = TRUE)". I am getting the new devel version and see what
> > > will hapen there:
> > >
> > >
> --------------------------------------------------------------------------------
> > >  EM iterations
> > >  0 85289.766 ( 5407.13:  0.0815) ( 26134.4: 0.00387)
> > >  1 84544.322 ( 333.732:   0.137) ( 1462.32: 0.00934)
> > >  2 84515.108 ( 129.506:  0.0270) ( 446.306: 0.00481)
> > >  3 84514.519 ( 115.592: 0.00355) ( 328.637: 0.00103)
> > >  4 84514.505 ( 113.981:0.000505) ( 311.160:0.000165)
> > >  5 84514.505 ( 113.755:7.45e-005) ( 308.524:2.50e-005)
> > >  6 84514.505 ( 113.722:1.11e-005) ( 308.128:3.77e-006)
> > >  7 84514.505 ( 113.717:1.66e-006) ( 308.068:5.66e-007)
> > >  8 84514.505 ( 113.716:2.50e-007) ( 308.059:8.49e-008)
> > >  9 84514.505 ( 113.716:3.74e-008) ( 308.058:1.27e-008)
> > >  10 84514.505 ( 113.716:5.62e-009) ( 308.058:1.91e-009)
> > >  11 84514.505 ( 113.716:8.43e-010) ( 308.058:2.87e-010)
> > >  12 84514.505 ( 113.716:1.27e-010) ( 308.058:4.31e-011)
> > >  13 84514.505 ( 113.716:1.90e-011) ( 308.057:6.47e-012)
> > >  14 84514.505 ( 113.716:2.86e-012) ( 308.057:9.73e-013)
> > >  15 84514.505 ( 113.716:4.25e-013) ( 308.057:1.44e-013)
> > > iter    0 value 84514.505044
> > > final  value 84514.505044
> > > converged
> > >  EM iterations
> > >  0 83740.342 ( 113.716: -0.0164) ( 308.057:0.000596)
> > >  1 83740.273 ( 121.512:-0.00121) ( 298.914:-3.24e-005)
> > >  2 83740.272 ( 122.131:-0.000111) ( 299.397:-1.24e-005)
> > > iter    0 value 83740.272232
> > > final  value 83740.272232
> > > converged
> > >  EM iterations
> > >  0 84011.550 ( 122.204:-0.00461) ( 299.576:-0.000256)
> > >  1 84011.543 ( 124.624:-0.000459) ( 303.453:-6.41e-005)
> > >  2 84011.543 ( 124.870:-5.42e-005) ( 304.440:-1.13e-005)
> > > iter    0 value 84011.543350
> > > final  value 84011.543350
> > > converged
> > >  EM iterations
> > >  0 84018.592 ( 124.915:-6.44e-005) ( 304.548:-1.22e-005)
> > >  1 84018.592 ( 124.949:-8.29e-006) ( 304.737:-1.99e-006)
> > >  2 84018.592 ( 124.954:-1.15e-006) ( 304.768:-3.08e-007)
> > > iter    0 value 84018.591624
> > > final  value 84018.591624
> > > converged
> > >  EM iterations
> > >  0 84018.612 ( 124.955:3.40e-007) ( 304.770:-1.98e-007)
> > >  1 84018.612 ( 124.955:-9.98e-009) ( 304.773:-2.23e-008)
> > >  2 84018.612 ( 124.955:-5.47e-009) ( 304.774:-2.86e-009)
> > > iter    0 value 84018.611512
> > > final  value 84018.611512
> > > converged
> > > Error in fn(par, ...) : Unable to invert singular factor of downdated
> X'X
> > > In addition: Warning message:
> > > Leading minor of size 8 of downdated X'X is indefinite
> > >
> --------------------------------------------------------------------------------
> > >
> > > Thanks!
> > >
> > > Shige
> > >
> > > On 8/18/05, Douglas Bates <dmbates at gmail.com> wrote:
> > > > On 8/18/05, Shige Song <shigesong at gmail.com> wrote:
> > > > > Dear All,
> > > > >
> > > > > After playing with lmer for couple of days, I have to say that I am
> > > > > amazed! I've been using quite some multilevel/mixed modeling
> packages,
> > > > > lme4 is a strong candidate for the overall winner, especially for
> > > > > multilevel generzlized linear models.
> > > > >
> > > > > Now go back to my two-level poisson model with cross-classified
> model.
> > > > > I've been testing various different model specificatios for the
> past
> > > > > couple of days. Here are the models I tried:
> > > > >
> > > > > 1) Two level random intercept model with level-1 covariates only
> > > > > m1 <- lmer(.D ~ offset(log(.Y)) + (1|provn) +(1|bcohort) + x1 + x2
> ,
> > > > > data, poisson, method="Laplace")
> > > > >
> > > > > 2) Two-level random intercept model with both level-1 and level-2
> > > > > covariates, but no cross-level interactions:
> > > > > m2 <- lmer(.D ~ offset(log(.Y)) + (1|provn) +(1|bcohort) + x1 + x2
> +
> > > > > z1 + z2, data, poisson, method="Laplace")
> > > > >
> > > > > 3) Two-level random intercept with cross-level interaction
> > > > > m3 <- lmer(.D ~ offset(log(.Y)) + (1|provn) +(1|bcohort) + x1 + x2
> +
> > > > > z1 + z2 + x1:z1 + x2:z2, data, poisson, method="Laplace")
> > > > >
> > > > > Both model 1 and 2 run fine. For model 3, I got error message:
> > > > > ----------------------------------
> > > > > Error in fn(par, ...) : Unable to invert singular factor of
> downdated X'X
> > > > > In addition: Warning messages:
> > > > > 1: optim or nlminb returned message ERROR:
> ABNORMAL_TERMINATION_IN_LNSRCH
> > > > >  in: LMEopt(x = mer, value = cv)
> > > > > 2: Leading minor of size 1 of downdated X'X is indefinite
> > > > > ----------------------------------
> > > > >
> > > > > What is going on here? Any workarounds? Thanks!
> > > >
> > > > The first thing I would try is set the EMverbose and msVerbose flags
> > > > in the control list to see what occurs within the optimization.  That
> > > > is append the argument
> > > >
> > > > control = list(EMverbose = TRUE, msVerbose = TRUE)
> > > >
> > > > to your call to lmer().  You may also want to try the call in a
> > > > recently compiled R-devel, which will be released as R-2.2.0 in
> > > > October.  You will notice that the first warning message reads "optim
> > > > or nlminb". In R-2.1.1 lmer uses optim for the optimization. 
> Starting
> > > > with R-2.2.0 the default is to use nlminb.
> > > >
> > > > Test compilations of R-devel for Windows are available from CRAN.
> > > >
> > >
> > 
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
> >
>




More information about the R-help mailing list