R CFA Issue: Non-positive definite variance-covariance matrix for estimated parameters

I’m working on a CFA in R to validate a psychometric scale. It’s a 6-factor model with 66 items and 200 participants. The scale uses a 5-point Likert format. I’ve set up my model, but I’m running into a problem.

When I run the categorical part of the analysis, I get this warning:

lavaan WARNING:
The variance-covariance matrix of the estimated parameters (vcov)
does not appear to be positive definite! The smallest eigenvalue
(= -9.174795e-17) is smaller than zero. This may be a symptom that
the model is not identified.

I checked for Heywood cases, but there are no negative variances or covariances over 1. Here’s a snippet of the output:

Variances:
              Estimate  Std.Err  z-value  P(>|z|)   Std.lv
.Q1             0.594                               0.594
.Q2             0.215                               0.215
.Q3             0.659                               0.659
.Q4             0.973                               0.973

Covariances:
                       Estimate  Std.Err  z-value  P(>|z|)
Factor1 ~~                                                
  Factor2              0.470    0.060    7.809    0.000
  Factor3              0.512    0.060    8.514    0.000
  Factor4              0.688    0.056   12.331    0.000

What should I do next? Any advice would be really helpful. Thanks!

hey leoninja22, that non-positive definite matrix stuff can be a real pain! have u tried using the WLSMV estimator? it’s pretty good for likert data. also, 200 participants for 66 items is kinda low. maybe try simplifying ur model or getting more data? don’t give up tho, you’ll figure it out!

Hey LeoNinja22! :wave:

Oof, that warning message sounds tricky. I’ve run into similar issues with CFA before, and it can be a real head-scratcher. Have you considered trying a different estimator? The WLSMV (Weighted Least Squares Mean and Variance adjusted) might be worth a shot, especially since you’re working with Likert scale data.

I’m curious - have you looked at the modification indices? Sometimes they can give you clues about where the model might be struggling. Also, how’s your sample size holding up? With 66 items and 6 factors, 200 participants might be stretching it a bit thin.

Oh, and here’s a random thought - have you tried running the analysis on subsets of your factors? Like, maybe start with just 2 or 3 factors and see if the issue persists? It could help pinpoint where things are going wonky.

Anyway, don’t lose heart! CFA can be a beast, but you’ll crack it. Keep us posted on how it goes, yeah?

Hey there, LeoNinja22. That non-positive definite matrix warning is a tricky one. I’ve encountered it before in my CFA work. Given you’re dealing with Likert scale data, have you considered switching to the WLSMV estimator? It’s often more robust for categorical variables.

Another thing to consider is your model complexity. With 66 items, 6 factors, and only 200 participants, you might be pushing the limits of what the data can support. You could try simplifying your model or increasing your sample size if possible.

One approach I’ve found helpful is to run the analysis on subsets of your factors. Start with just 2 or 3 and see if the issue persists. This can help isolate where the problem might be occurring.

Don’t get discouraged - CFA can be challenging, but with some tweaking, you’ll likely find a solution. Keep us updated on your progress!