SRMR is a measure of badness of fit commonly used in the context of evaluating latent variable models. I understand that it in some ways measures the average discrepancy between the model implied covariance matrix and the observed covariance matrix. And I understand that there is a standardisation process to make it more interpretable regardless of the metric of the covariance matrix. However, I'm still looking for a more precise formula that explains how the averaging occurs and how the standardisation occurs.
- What is the formula for SRMR?
- And therefore, what it is the concrete interpretation of a given value?
Best Answer
After a bit of searching I found the formula in Hu and Bentler (1999):
Thus, the formula involves:
So the metric of SRMR can broadly be considered an average (specifically the quadratic mean) difference between implied and observed correlations (albeit with particular forms of averaging, and using the variances as well).
A Little exploration in R
We'll use personality data (
bfi
) from the psych package and run a cfa in lavaan (four items on a single factor) using the correlation matrix of the data as input.We then extract the observed and model implied covariance matrices (which in this case are correlation matrices).
This is what they look like along with the absolute differences
So in general, the sample correlations are being estimated reasonably well, but we're off in our estimates of correlations by between .01 and .05.
We can then calculate SRMR manually and using the built in calculation.
They seem to be pretty much the same (i.e., about .025).
Hu, L.; Bentler, Peter (1999). "Cutoff criteria for fit indexes in covariance structure analysis: Conventional criteria versus new alternatives". Structural Equation Modeling. 6 (1): 1–55. https://dx.doi.org/10.1080%2F10705519909540118