Re: [R] convergence error (lme) which depends on the version of nlme (?)

From: Douglas Bates <dmbates_at_gmail.com>
Date: Wed 14 Dec 2005 - 03:28:37 EST

On 12/12/05, Leo Gürtler <leog@anicca-vijja.de> wrote:
> Dear list members,
>
> the following hlm was constructed:
>
> hlm <- groupedData(laut ~ design | grpzugeh, data = imp.not.I)
>
> the grouped data object is located at and can be downloaded:
>
> www.anicca-vijja.de/lg/hlm_example.Rdata
>
> The following works:
>
> library(nlme)
> summary( fitlme <- lme(hlm) )
>
> with output:
>
> ...
> AIC BIC logLik
> 425.3768 465.6087 -197.6884
>
> Random effects:
> Formula: ~design | grpzugeh
> Structure: General positive-definite
> StdDev Corr
> (Intercept) 0.3772478 (Intr) dsgn:8 dsgn:7
> designmit:8 0.6776543 0.183
> designohne:7 0.6619983 -0.964 0.086
> designohne:8 1.0680576 -0.966 0.077 1.000
> Residual 1.3468816

Notice that the estimated variance-covariance matrix for the random effects is singular (a correlation of +1.000). The estimates of the parameters in the model are on the boundary and it is not a proper linear mixed model. The definition of a linear mixed model (or at least my definition) requires that the variance-covariance matrix of the random effects be positive definite and this one is only positive semidefinite.

> Fixed effects: laut ~ design
> Value Std.Error DF t-value p-value
> (Intercept) 3.857143 0.2917529 102 13.220579 0.0000
> designmit:8 -0.285714 0.4417919 102 -0.646717 0.5193
> designohne:7 -0.107143 0.4383878 102 -0.244402 0.8074
> designohne:8 0.607143 0.5408713 102 1.122527 0.2643
> Correlation:
> (Intr) dsgnm:8 dsgn:7
> designmit:8 -0.451
> designohne:7 -0.775 0.363
> designohne:8 -0.763 0.304 0.699
>
> Standardized Within-Group Residuals:
> Min Q1 Med Q3 Max
> -2.5074669 -0.4530573 0.1755326 0.5837670 2.3700004
>
> Number of Observations: 112
> Number of Groups: 7
>
>
> The following does _not_ work and leads to a convergence error:
>
> fitlme1 <- lme(laut ~ design, random = ~ design | grpzugeh, data = hlm)
> Fehler in lme.formula(laut ~ design, random = ~design | grpzugeh, data =
> hlm) :
> iteration limit reached without convergence (9)
>
> This was tried with
>
> R : Copyright 2005, The R Foundation for Statistical Computing
> Version 2.2.0 (2005-10-06 r35749)
>
> Using another R version (2.1.0, also windows with nlme version built
> under R 2.1.1) , it works. Thus, what's the problem then? I tried
> without the random effects, i.e.
>
> random = ~ 1 | grpzugeh
>
> This works. Comparing both calls on the version R2.1.0 that goes well,
> the following differences in the output of the random effects can be
> identified:
>
> summary( fitlme <- lme(hlm) )
>
> <-->
> Random effects:
> ...
> Structure: General positive-definite
> </-->
> compared to
>
> summary(lme(laut ~ design, random = ~ design | grpzugeh, data = hlm))
>
> <-->
> Random effects:
> ...
> Structure: General positive-definite, Log-Cholesky parametrization
> </-->
>
> The estimates of the fixed effects are similar, the S.E.s not.
> The random effects are different, too. AIC/BIC/logLik are slightly
> different.
>
> Thus my question:
>
> 1) Do I have overseen a switch for the structure of the random effects?
> Is something wrong with the call/ formular?
> 2) What is the cause of the convergence error which seems to depend on
> the built of R/nlme?
>
>
> Thank you very much. Best wishes,
>
> leo gürtler
>

As Dieter indicated in his response, the more current function lmer from the lme4 package (actually it's in the Matrix package but it would be in the lme4 package if a certain capability related to packages were available) is preferred to lme. Fitting your model with the control options for verbose output in both the EM and nlminb iterations produces

> (fm1 <- lmer(laut ~ design + (design | grpzugeh), hlm, control = list(msV=1,EMv=1)))
  EM iterations
  0 407.611 ( 6.00000 1.50000 1.50000 1.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000: -0.409 -1.07 -2.19 -0.969  -0.0472 -0.344 -0.0282 -0.491 -0.163 0.941)   1 402.107 ( 10.4497 1.95422 3.22722 2.22340 0.196761 1.02069 0.00757874 1.13553 0.110538 -0.685820: -0.122 -0.550 -0.567 -0.181 0.0294 -0.112 -0.00789 -0.204 -0.0184 0.361)   2 399.890 ( 14.8865 2.30933 5.18627 2.99207 0.242029 2.06595 -0.0167045 2.18847 0.173349 -1.51318: -0.0497 -0.331 -0.209 0.00812 0.0311 -0.0667 -0.00119 -0.129 0.00942 0.222)   3 398.756 ( 19.0686 2.58783 7.19874 3.76967 0.147926 3.04342 -0.0686073 3.14563 0.190736 -2.40480: -0.0224 -0.217 -0.0877 0.0682 0.0250 -0.0508 0.00304 -0.0968 0.0178 0.166)   4 398.074 ( 23.0243 2.81061 9.22509 4.55494 -0.0495774 3.95755 -0.140106 4.03331 0.174045 -3.33077:-0.00975 -0.150 -0.0362 0.0864 0.0192 -0.0422 0.00605 -0.0784 0.0213 0.134)   5 397.620 ( 26.8048 2.99284 11.2543 5.34938 -0.321835 4.82191 -0.225236 4.87317 0.132590 -4.27703:-0.00344 -0.108 -0.0119 0.0876 0.0145 -0.0360 0.00810 -0.0653 0.0229 0.111)   6 397.297 ( 30.4530 3.14530 13.2827 6.15353 -0.648070 5.64798 -0.319808 5.68021 0.0733009 -5.23609:-0.000236 -0.0797 -8.03e-05 0.0817 0.0110 -0.0310 0.00936 -0.0549 0.0233 0.0935)   7 397.056 ( 34.0009 3.27575 15.3091 6.96705 -1.01331 6.44439 -0.420871 6.46453 0.00126948 -6.20372: 0.00132 -0.0599 0.00554 0.0729 0.00841 -0.0267 0.00998 -0.0465 0.0229 0.0790)   8 396.869 ( 37.4726 3.38984 17.3332 7.78911 -1.40672 7.21745 -0.526327 7.23293 -0.0797758 -7.17737: 0.00200 -0.0458 0.00794 0.0636 0.00652 -0.0230 0.0101 -0.0394 0.0220 0.0669)   9 396.719 ( 40.8855 3.49170 19.3548 8.61870 -1.82039 7.97186 -0.634686 7.99007 -0.167115 -8.15547: 0.00219 -0.0355 0.00866 0.0547 0.00515 -0.0198 0.00992 -0.0334 0.0207 0.0568)  10 396.597 ( 44.2529 3.58443 21.3740 9.45479 -2.24856 8.71109 -0.744889 8.73911 -0.258776 -9.13700: 0.00214 -0.0278 0.00854 0.0466 0.00414 -0.0171 0.00950 -0.0285 0.0193 0.0484)  11 396.496 ( 47.5843 3.67032 23.3909 10.2964 -2.68700 9.43779 -0.856191 9.48223 -0.353339 -10.1213: 0.00197 -0.0221 0.00800 0.0397 0.00341 -0.0147 0.00894 -0.0244 0.0177 0.0414)  12 396.410 ( 50.8871 3.75110 25.4058 11.1428 -3.13263 10.1540 -0.968068 10.2209 -0.449787 -11.1079: 0.00175 -0.0177 0.00731 0.0337 0.00287 -0.0128 0.00831 -0.0209 0.0162 0.0356)  13 396.336 ( 54.1668 3.82804 27.4187 11.9931 -3.58321 10.8612 -1.08016 10.9563 -0.547403 -12.0965: 0.00152 -0.0144 0.00658 0.0287 0.00246 -0.0111 0.00767 -0.0180 0.0147 0.0307)  14 396.273 ( 57.4277 3.90213 29.4298 12.8467 -4.03710 11.5606 -1.19223 11.6890 -0.645684 -13.0868: 0.00130 -0.0119 0.00587 0.0245 0.00216 -0.00974 0.00703 -0.0156 0.0134 0.0267)  15 396.217 ( 60.6728 3.97408 31.4391 13.7032 -4.49313 12.2533 -1.30411 12.4196 -0.744284 -14.0787: 0.00111 -0.00989 0.00523 0.0210 0.00192 -0.00856 0.00642 -0.0136 0.0121 0.0233)   0 396.217: 0.0164819 0.274624 0.0345766 0.601897 -0.0740551 0.201957 0.204699 -0.108941 0.0481838 -0.572859   1 395.396: 5.00000e-10 0.265395 5.00000e-10 0.605834 -0.126945 0.228346 0.201255 -0.0635685 0.0429722 -0.617086   2 395.396: 5.00000e-10 0.265395 5.09510e-10 0.605834 -0.126945 0.228346 0.201255 -0.0635685 0.0429722 -0.617086   3 395.396: 5.01157e-10 0.265395 5.28494e-10 0.605834 -0.126945 0.228346 0.201255 -0.0635685 0.0429722 -0.617086   4 395.396: 5.01157e-10 0.265395 5.28494e-10 0.605834 -0.126945 0.228346 0.201255 -0.0635685 0.0429722 -0.617086 Linear mixed-effects model fit by REML
Formula: laut ~ design + (design | grpzugeh)

   Data: hlm

      AIC      BIC    logLik MLdeviance REMLdeviance
 425.3957 466.1732 -197.6979   393.5971     395.3957
Random effects:
 Groups   Name         Variance Std.Dev. Corr
 grpzugeh (Intercept)  0.13685  0.36993
          designmit:8  0.48167  0.69403   0.244
          designohne:7 0.41869  0.64706  -0.971 -0.006
          designohne:8 1.09950  1.04857  -0.971 -0.006  1.000
 Residual              1.81486  1.34717

# of obs: 112, groups: grpzugeh, 7

Fixed effects:

              Estimate Std. Error DF t value Pr(>|t|)

(Intercept)    3.85714    0.29046 108 13.2795   <2e-16
designmit:8   -0.28571    0.44547 108 -0.6414   0.5226
designohne:7  -0.10714    0.43525 108 -0.2462   0.8060
designohne:8   0.60714    0.53545 108  1.1339   0.2593
Warning message:
optim or nlminb returned message false convergence (8)  in: "LMEoptimize<-"(`*tmp*`, value = list(maxIter = 200, tolerance = 1.49011611938477e-08,

which, again, shows the problem with the convergence.



R-help@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 Received on Wed Dec 14 04:44:12 2005

This archive was generated by hypermail 2.1.8 : Wed 14 Dec 2005 - 09:32:59 EST