[R-sig-ME] [R] negative variances

Tu Yu-Kang yukangtu at hotmail.com
Thu Apr 12 10:54:15 CEST 2007

Dear Prof Bates,

Many thanks for your email. I tried lmer() and received the following 

>  lm2<-lmer(ppd~month+(month|id))
Warning message:
Estimated variance-covariance for factor 'id' is singular
 in: `LMEoptimize<-`(`*tmp*`, value = list(maxIter = 200, tolerance = 

I then tried lmer2():

>  lm3<-lmer2(ppd~month+(month|id))
> summary(lm3)
Linear mixed-effects model fit by REML 
  AIC  BIC logLik MLdeviance REMLdeviance
 1146 1166 -567.9       1126         1136
Random effects:
 Groups   Name        Variance  Std.Dev. Corr  
 id       (Intercept) 0.1566631 0.395807       
          month       0.0022331 0.047255 1.000 
 Residual             0.6391120 0.799445       
Number of obs: 420, groups: id, 140

Fixed effects:
            Estimate Std. Error t value
(Intercept)  6.43595    0.07017   91.72
month       -0.36619    0.01642  -22.30

Correlation of Fixed Effects:
month -0.544

However, I am not sure about the results, because MLwiN showed both random 
effects were negative values (-0.196 and -0.023).

I start to notice this problems of negative variances when I am learning 
how to use structural equation modeling software to run multilevel models 
for longitudinal data. To my great surprise, it occurs quite frequently. In 
SEM, this problem sometimes may be overcome by estimating  a nonlinear 
model by freeing the factor loadings. For example, in this data, PPD 
(probing pocket depth) was measured three times at month 0, 3 and 6. I only 
fixed the first and last factor loadings to be 0 and 6 to get a non-linear 
relation, and I also allow the level-1 residuals to be different on each 
occasion. However, in some data, I failed to get a satifactory model no 
matter how I modified my models.

I looked for the discussion in several multilevel modeling textbooks but 
only found one short discussion in the book by Brown and Prescott. SEM 
literature usually suggest fixing the negative variances to 0. However, I 
wander whether this is the only way to get around this problem or the 
sensible way because if the random effects are fixed to 0 the model is no 
longer a random effects model.

With best regards,


>From: "Douglas Bates" <bates at stat.wisc.edu>
>To: "Tu Yu-Kang" <yukangtu at hotmail.com>
>CC: r-help at stat.math.ethz.ch, r-sig-mixed-models at r-project.org
>Subject: Re: [R] negative variances
>Date: Wed, 11 Apr 2007 09:15:21 -0500
>On 4/11/07, Tu Yu-Kang <yukangtu at hotmail.com> wrote:
>>Dear R experts,
>>I had a question which may not be directly relevant to R but I will 
>>grateful if you can give me some advices.
>>I ran a two-level multilevel model for data with repeated 
>>measurements over
>>time, i.e. level-1 the repeated measures and level-2 subjects. I 
>>could not
>>get convergence using lme(), so I tried MLwiN, which eventually 
>>showed the
>>level-2 variances (random effects for the intercept and slope) were
>>negative values. I know this is known as Heywood cases in the 
>>equation modeling literature, but the only discussion on this 
>>problem in
>>the literature of multilevel models and random effects models I can 
>>find is
>>in the book by Prescott and Brown.
>>Any suggestion on how to solve this problem will be highly 
>It is possible that the ML or REML estimates for a variance 
>can be zero.  The algorithm used in lme doesn't perform well in this
>situation which is one reason that the lmer and lmer2 functions in 
>lme4 package were created.  Could you try fitting the model with 
>or provide us with the data so we can check it out?
>I recommend moving this discussion to the R-SIG-mixed-models mailing
>list which I am copying on this reply.

More information about the R-sig-mixed-models mailing list