Skip to content
Prev 4463 / 20628 Next

lmer() vs. lme() gave different variance component estimates

On 09/18/2010 11:24 AM, Jarrod Hadfield wrote:
Not in 32bit:
Linear mixed model fit by REML
Formula: score ~ trt + (1 | id/eye)
   Data: dat
   AIC   BIC logLik deviance REMLdev
 446.7 495.8 -212.4    430.9   424.7
Random effects:
 Groups   Name        Variance   Std.Dev.
 eye:id   (Intercept) 6.9208e+00 2.6307e+00
 id       (Intercept) 4.0996e-12 2.0248e-06
 Residual             1.8750e-02 1.3693e-01
Number of obs: 640, groups: eye:id, 160; id, 80

Diddling the start values can change the result, though. Could you all try

(a) setting verbose=T
(b) try start=list(matrix(10),matrix(10))
(c) same thing, but with .81 and .57


In the (c) case, I get
start=list(matrix(.81),matrix(.57)), verbose=T)
  0:     2226.5319: 0.810000 0.570000
  1:     1304.7507:  2.42844  1.75398
  2:     776.66839:  6.30805  0.00000
  3:     657.56008:  7.73875  0.00000
  4:     514.89378:  10.7783  0.00000
  5:     460.61371:  13.2310  0.00000
  6:     434.88972:  15.6779 1.52026e-08
  7:     426.68822:  17.5387 6.57868e-08
  8:     424.89428:  18.6843 1.41900e-07
  9:     424.71823:  19.1258 2.47916e-07
 10:     424.71356:  19.2075 3.75766e-07
 11:     424.71354:  19.2122 5.37851e-07
 12:     424.71354:  19.2122 7.55161e-07

which suggests an algorithm error where the parameters are getting stuck
on the boundary. These values match the automatically generated starting
values only to two digits, so I'm somewhat baffled that you apparently
get something completely different in 64 bits!