I’m working on a confirmatory factor analysis (CFA) using the lavaan package in R. My model has 8 first-order factors and 1 second-order factor. When I run the analysis, I get a warning about some estimated observed variances being negative. Here’s a simplified version of my model:
music_model <- '
Fun =~ M1 + M2 + M3
Relax =~ M4 + M5 + M6
Emotion =~ M7 + M8 + M9
Distract =~ M10 + M11 + M12
Release =~ M13 + M14 + M15
Work =~ M16 + M17 + M18
Comfort =~ M19 + M20 + M21
Immerse =~ M22 + M23 + M24
Global =~ Fun + Relax + Emotion + Distract + Release + Work + Comfort + Immerse
'
fit <- cfa(music_model, data=my_data, estimator='MLR', missing='FIML')
summary(fit, fit.measures=TRUE, standardized=TRUE)
My sample size is pretty small (n=78) and I’m using MLR estimation because the data isn’t normally distributed. I’m not sure how to figure out which specific variance is negative or how to fix this issue. Any tips on identifying the problematic variance and addressing it would be really helpful. Thanks!
hey oliver, ive run into similar issues before. with small sample sizes, negative variances can pop up. try using the ‘residual.cov’ argument in summary() to spot the culprit. also, consider simplifying ur model or using bayesian estimation. these might help stabilize things. good luck!
Hey Oliver63! Negative variances can be tricky, especially with small sample sizes. Have you considered trying a different estimator? Maybe WLSMV could work better for your non-normal data?
I’m curious about your data structure. Are all your items on the same scale? Sometimes mixing different types of measures can lead to issues.
Also, have you looked into modification indices? They might give you some clues about where the model is struggling.
What’s your research question, by the way? Sometimes taking a step back and thinking about what you really need to answer can help simplify the model.
Keep us posted on how it goes! CFA can be a beast, but it’s so satisfying when you get it right. 
I’ve encountered similar challenges with CFAs on small samples. One approach you might consider is using bootstrapping to get a better handle on the parameter estimates and their stability. This can be particularly helpful when dealing with non-normal data and small sample sizes.
Another thing to check is the correlation matrix of your variables. Sometimes, extremely high correlations between factors can lead to issues like negative variances. You might want to examine if there’s any multicollinearity among your first-order factors.
Have you considered running separate CFAs for each first-order factor before combining them into the second-order model? This step-by-step approach could help you identify which part of the model is causing issues.
Lastly, given your sample size, it might be worth exploring whether all eight first-order factors are truly necessary. Sometimes, a more parsimonious model can yield more stable results, especially with limited data.