lmer() vs. lme() gave different variance component estimates
On 09/18/2010 11:24 AM, Jarrod Hadfield wrote:
Fedora Core 13 seems fine:
Linear mixed model fit by REML
Formula: score ~ trt + (1 | id/eye)
Data: dat
AIC BIC logLik deviance REMLdev
425.2 474.2 -201.6 412.7 403.2
Random effects:
Groups Name Variance Std.Dev.
eye:id (Intercept) 3.59532 1.89613
id (Intercept) 3.51024 1.87356
Residual 0.01875 0.13693
Number of obs: 640, groups: eye:id, 160; id, 80
Not in 32bit:
lmer(score~trt+(1|id/eye),dat)
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
l <- lmer(score~trt+(1|id/eye),dat,
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!
Peter Dalgaard Center for Statistics, Copenhagen Business School Phone: (+45)38153501 Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com