ULSMV, SRMR, & RMSEA

185 views
Skip to first unread message

ryan chesnut

unread,
Oct 8, 2021, 4:19:23 PM10/8/21
to lavaan
Hello lavaan community,

I was recently reading an article by Shi, Maydeu-Olivares, & Rosseel (2020) on assessing close fit in ordinal factor models by way of SRMR and RMSEA using ULSMV as the estimation method. In the paper, they note that many SEM software packages use formulas that produce biased estimates for SRMR and RMSEA in ordinal models. They present equations for unbiased estimates (equation 5 for SRMR and equation 17 for RMSEA). They also provide (in supplementary materials) R code for obtaining the unbiased estimates and CIs for SRMR and RMSEA. I have two questions that I am hoping someone might know the answers to.

1) What formula does lavaan currently use to compute SRMR and RMSEA for ordinal models when using ULSMV estimation? I tried to look at the source code, but I must admit, it was over my head.

2) The R code provided in the supplementary materials notes that the function works for ordinal factor models and listwise deletion should be used when you have missing data. Is it correct then to assume that this has not been extended to structural models and lavaan.mi objects?

Thanks for your help,

Ryan

Terrence Jorgensen

unread,
Oct 13, 2021, 4:48:06 AM10/13/21
to lavaan
1) What formula does lavaan currently use to compute SRMR and RMSEA for ordinal models when using ULSMV estimation?

The lavaan developer is the third author on that paper :-)  Use the lavResiduals() function, which uses the right formulas.  

But lavaan has not incorporated that ad-hoc formula for correcting the RMSEA (or CFI/TLI) when chi-squared is mean- AND variance-adjusted (only for mean-adjusted stats).  The reason is that even the author who proposed it (Savalei, 2018) cautioned that it is only appropriate for MLMV (continuous nonnormal data), not ULSMV or (D)WLSMV for categorical data.  Nonetheless, that is the method Shi et al. (2020) employed.

Savalei (2021) more recently proposed new solutions that perform better, which I expect will eventually be incorporated into lavaan.


2) The R code provided in the supplementary materials notes that the function works for ordinal factor models and listwise deletion should be used when you have missing data. Is it correct then to assume that this has not been extended to structural models and lavaan.mi objects?

Correct.  For lavaan.mi objects, I apply the same formulas lavaan does to calculate chi-squared-based fit measures, but using the pool chi-squared.  I have not adapted lavResiduals() to work with lavaan.mi objects, and that to-do list is a long way out. 

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

Reply all
Reply to author
Forward
0 new messages