Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Robust values not available for some models, report scaled for all models?

114 views
Skip to first unread message

AAS

unread,
Sep 5, 2024, 6:53:16 AM9/5/24
to lavaan
Dear all, 

I was wondering what to do when robust values (for CFI, RMSEA) are not available for one of the models (they are for the initial, configural and metric invariance, but NOT for the scalar invariance model). Is it better to report the scaled values then for all the models?

These are my models:
INITIAL MODEL
cfa (specified_model, data = dataset,  std.lv = TRUE, meanstructure = T, estimator = "WLSMV", missing = "pairwise", ordered = TRUE)

CONFIGURAL INVARIANCE:
cfa (specified_model, data = dataset,  std.lv = TRUE, meanstructure = T, estimator = "WLSMV", missing = "pairwise", ordered = TRUE,
                       group = "group")

METRIC INVARIANCE
cfa (specified_model, data = dataset,  std.lv = TRUE, meanstructure = T, estimator = "WLSMV", missing = "pairwise", ordered = TRUE,
                       group = "group",
                       group.equal = "loadings")

SCALAR INVARIANCE
cfa (specified_model, data = dataset,  std.lv = TRUE, meanstructure = T, estimator = "WLSMV", missing = "pairwise", ordered = TRUE,
                       group = "group",
                       group.equal = c("loadings", "intercepts"))

Thank you in advance. 

A.

Terrence Jorgensen

unread,
Sep 12, 2024, 4:16:09 AM9/12/24
to lavaan
I was wondering what to do when robust values (for CFI, RMSEA) are not available for one of the models (they are for the initial, configural and metric invariance, but NOT for the scalar invariance model).

Hmm, is the model-implied polychoric correlation matrix not positive definite?  Maybe there was a warning when you run that model, but you can check with lavInspect(fit, "cor.ov")
The way to calculate robust fit indices with DWLS estimation involves evaluating a ML fit function at the DWLS solution, which requires a postitive-definite input matrix:

I expect your problem might be resolved if you conduct proper invariance tests for ordered= data.  The order to test (following configural invariance) is to equate thresholds before equating loadings and intercepts.  The semTools package has a function measEq.syntax() to help you write the correct lavaan syntax for this (see help-page examples).

Is it better to report the scaled values then for all the models?

No, as the above linked paper says, the indices using scaled statistics will show good fit even in poorly fitting models.  

Terrence D. Jorgensen    (he, him, his)
Assistant Professor, Methods and Statistics
Research Institute for Child Development and Education, the University of Amsterdam
http://www.uva.nl/profile/t.d.jorgensen

 

AAS

unread,
Oct 13, 2024, 1:22:20 PM10/13/24
to lavaan
Dear Terrence, 

Thank you for your answer.
Would it be possible to use MLR instead (even if items have 4 response options)? I get the same results (measurement invariance not supported). 
Reply all
Reply to author
Forward
0 new messages