Calculating WRMR for model with categorical variables

654 views
Skip to first unread message

Fabrício Fialho

unread,
Dec 20, 2016, 6:16:51 PM12/20/16
to lavaan
Hi all,

I have a question about how the Weighted Root Mean Square Residual (WRMR) is calculated for model with categorical variables.

I run a one-factor CFA model including 10 observed categorical variables using ULSMV estimator. All observed variables are measured using 4-point likert scales. This means there are 30 thresholds to be estimated and 45 off-diagonal unique elements in the polychoric correlation matrix.


After inspecting lavaan code for categorical variable models, I found that WRMR is calculated using:

WRMR = sqrt(lavInspect(object, what='fit')[6]/length(object@SampleStats@WLS.obs[[1]]))

In other words, WRMR is given by dividing the chi-square statistics by "number of thresholds + unique off-diagonals in the correlation matrix". So, for instance, in my model, WRMR is obtained by dividing the chi-square statistics by 75 (30 thresholds + 45 unique off-diagonal elements).

So far, so good.


What calls my attention is that the software returns same WRMR value for both the ULS and for the ULSMV (robust) models. Taking the square root of 832.160/75 equals 3.33, what matches the WRMR in the first column. However, I wonder if the WRMR in the second column shouldn't be 4.5 as sqrt(1516.945/75)=4.5. Shouldn't the WRMR for the robust model be based on the scaled chi-square statistics? Or am I missing anything *very important* here?


Thanks for your feedback!





lavaan (0.5-22) converged normally after  25 iterations

  Number of observations                          1457

  Estimator                                        ULS      Robust
  Minimum Function Test Statistic              832.160    1516.945
  Degrees of freedom                                35          35
  P-value                                           NA       0.000
  Scaling correction factor                                  0.551
  Shift parameter                                            6.841
    for simple second-order correction (Mplus variant)

Model test baseline model:

  Minimum Function Test Statistic            11600.529    7397.081
  Degrees of freedom                                45          45
  P-value                                           NA       0.000

User model versus baseline model:

  Comparative Fit Index (CFI)                    0.931       0.798
  Tucker-Lewis Index (TLI)                       0.911       0.741

  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Root Mean Square Error of Approximation:

  RMSEA                                          0.125       0.171
  90 Percent Confidence Interval          0.118  0.133       0.163  0.178
  P-value RMSEA <= 0.05                          0.000       0.000

  Robust RMSEA                                                  NA
  90 Percent Confidence Interval                                NA     NA

Standardized Root Mean Square Residual:

  SRMR                                           0.102       0.102

Weighted Root Mean Square Residual:

  WRMR                                           3.331       3.331

Yves Rosseel

unread,
Dec 23, 2016, 11:55:55 AM12/23/16
to lav...@googlegroups.com
On 12/21/2016 12:16 AM, Fabrício Fialho wrote:
> What calls my attention is that the software returns same WRMR value for
> both the ULS and for the ULSMV (robust) models.

Indeed. But that is also what Mplus is doing. It always (AFAICS) uses
the original X2 test statistic. As I only included the WRMR to please
Mplus users, I will keep it like that for now.

Yves.

Fabrício Fialho

unread,
Dec 28, 2016, 5:42:19 PM12/28/16
to lavaan
Thanks for the clarification!
Reply all
Reply to author
Forward
0 new messages