When running a quadratic latent growth curve model (model_6 below) I get the following warning message: "lavaan WARNING: some estimated lv variances are negative".

What does this mean, am I getting the warning because the quadratic model is not a good fit for the data?

For context: I am using latent growth curve models to model cognitive scores over 4 timepoints. I am in the process of deciding if a linear or quadratic fitted line is most appropriate.

I have included my linear (model_4) and quadratic (model_6) models below. The RMSEA for the linear model is 0.055, whereas the RMSEA for the quadratic model is 0.039.

enter image description here

model_4 = '
    # Intercept     
    i =~ 1*Score.baseline + 1*Score.wave1 + 1*Score.wave2 + 1*Score.wave3
    # Slope
    s =~ 0*Score.baseline + 1*Score.wave1 + 2*Score.wave2 + 3*Score.wave3
    # Set the residual variances to all the same 
    Score.baseline ~~ r*Score.baseline    
    Score.wave1 ~~ r*Score.wave1
    Score.wave2 ~~ r*Score.wave2
    Score.wave3 ~~ r*Score.wave3

lgcm_model_4 <- growth(model_4, data=Data_wide, missing = "fiml")

enter image description here

model_6 <- '
    # Intercept
    i =~ 1*Score.baseline + 1*Score.wave1 + 1*Score.wave2 + 1*Score.wave3

    # Slope 1
    s1 =~ 0*Score.baseline + 1*Score.wave1 + 2*Score.wave2 + 3*Score.wave3

    # Slope 2
    s2 =~ 0*Score.baseline + 1*Score.wave1 + 4*Score.wave2 + 9*Score.wave3

lgcm_model_6 <- growth(model_6, data=Data_wide, missing = "fiml")

Below I've also included two plots. The first shows the mean score across the 4 timepoints (waves).

enter image description here The second plot shows the fitted lines for the linear model (red) and the quadratic model (blue). enter image description here

  • $\begingroup$ Were the variances estimated with the Cramer-Rao bound? If so, what is the condition number of your Fisher information matrix? $\endgroup$
    – Galen
    Nov 29, 2021 at 16:37
  • $\begingroup$ What optimization strategy did you use? $\endgroup$
    – Galen
    Nov 29, 2021 at 16:46
  • $\begingroup$ Why have you manually set some of the parameters? Example: 9 * Score.wave3. $\endgroup$
    – Galen
    Nov 29, 2021 at 19:25

1 Answer 1


This warning means that your model is wrong.

The parameter estimates that are most consistent with the data require negative variances, which cannot exist.

Another way to think of it: There's not enough covariance between the measured variables to provide enough variance for three latent variables.

  • $\begingroup$ Thanks, Jeremy. To confirm, does this mean that the model has been set up correctly, but is wrong based on the data it is applied to? $\endgroup$
    – Aepkr
    Dec 15, 2021 at 9:36
  • $\begingroup$ Well, could be either. But assuming it was set up correctly, it doesn't match the data. There is not enough non-linearity to require s2. $\endgroup$ Dec 15, 2021 at 18:33
  • $\begingroup$ Hi Jeremy, a follow-up question - the above warning does not occur when missing = "listwise", could you explain why this is? Thanks $\endgroup$
    – Aepkr
    Aug 19, 2022 at 15:35
  • $\begingroup$ Whether you get this warning from the specified model depends on the data that you analyze. When you specify 'missing = "listwise"' you're using different data. It could easily have gone the the other way - you get the warning with listwise, not with fiml. (And if you made me guess, I'd say it was more likely with listwise). $\endgroup$ Aug 19, 2022 at 16:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.