2nd order CFA (lavaan package) covariance matrix of latent variables is not positive definite

340 views
Skip to first unread message

Shanshan Yu

unread,
Jun 16, 2016, 2:50:40 PM6/16/16
to lavaan
Hi all,

I am using the lavaan package for a second order CFA. My model looks like:

But there are warning messages regarding this construct:

1: In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats,  :
  lavaan WARNING: could not compute standard errors!
  lavaan NOTE: this may be a symptom that the model is not identified.

2: In lav_object_post_check(lavobject) :
  lavaan WARNING: some estimated variances are negative
3: In lav_object_post_check(lavobject) :
  lavaan WARNING: covariance matrix of latent variables is not positive definite; use inspect(fit,"cov.lv") to investigate.

The covariance matrix of the latent variables:

    Ide    Rit    Rlg(the 2nd order latent variable)   
Ide  6.034              
Rit -2.819  2.350       
Rlg -3.482 -2.819 -3.482

I wonder what has caused this problem?

My sample size is 75758 with only 3 measured items.

If I remove the two 1st order latent variables, the algorithm will converge, but it will give CFI and TLI of 1.000. I believe this is very unreliable?

Thank you everyone!

Best
SS


Terrence Jorgensen

unread,
Jun 17, 2016, 9:25:44 AM6/17/16
to lavaan
I wonder what has caused this problem?

We don't know enough about your model to help you figure it out.  Your figure does not indicate what constraints you used to identify this model.  If the first-order factors were negatively correlated and you set the factor loadings for the second-order construct to 1, then that would explain the negative variance (the variance of a 2-indicator construct is essentially just the covariance of the two items).

My sample size is 75758 with only 3 measured items.
If I remove the two 1st order latent variables, the algorithm will converge, but it will give CFI and TLI of 1.000. I believe this is very unreliable?
 
With only 3 items, you only have enough information to just-identify a single factor, which would be a model with 0 degrees of freedom and arbitrarily perfect fit (i.e., no way to test the fit of the model without imposing further constraints).  I'm not sure what hubris leads you to try modeling 3 factors from only 3 items, but I'm guessing you have not imposed enough constraints to identify your model, which is what the warning said about not computing standard errors.  Even if you did impose enough constraints, the model would be statistically equivalent to a single-factor model or to an unconstrained covariance matrix, so I think you need to use more measures of the constructs you want to model.

Terrence D. Jorgensen
Postdoctoral Researcher, Methods and Statistics
Research Institute for Child Development and Education, the University of Amsterdam

Shanshan Yu

unread,
Jun 18, 2016, 9:29:15 AM6/18/16
to lavaan
Thank you very much Terrence. It seems that 3 items are not enough to validate this model. At the same time, these 3 items are highly correlated (around 0.6) so again making it harder to do anything with them. Thanks a lot anyway for your patience and your time!

Best
Shanshan

在 2016年6月17日星期五 UTC+2下午3:25:44,Terrence Jorgensen写道:
Reply all
Reply to author
Forward
0 new messages