convergence error (lme) which depends on the version of nlme (?)
On 12/12/05, Leo G??rtler <leog at 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.