understanding robust CFI and TLI statistics when using WLSMV

2,111 views
Skip to first unread message

anhh...@gmail.com

unread,
Sep 17, 2020, 4:41:46 AM9/17/20
to lavaan
Hello lavaan community,

I recently ran a one factor model using WLSMV as my estimator since the data are ordinal.  What's a little puzzling to me is that when I requested for the output using the following command, summary(fit.paras.one.factor.ordered, fit.measures=TRUE), the CFI and TLI had .861 and .848 as values, respectively, in the second column of the output, which I interpret these to mean that they are robust values and that they should be reported rather than the standard ones.  

However, when I followed up with fitMeasures(fit.paras.one.factor.ordered) to see a more comprehensive list of fit indices, I saw that these values were labeled under "cfi.scaled" and "tli.scaled" whereas "cfi.robust" and "tli.robust" had "NAs" as values. 

I thought that any values labeled under Robust in the second column of output are robust statistics, but what I just encountered challenged my assumption and understanding.  Would someone be able to help me understand through this?   

I've included the relevant portion of output in case this is helpful. Thank you for your time!


  Estimator                                       DWLS
  Optimization method                           NLMINB
  Number of free parameters                        109
                                                      
                                                  Used       Total
  Number of observations                           180         187
  Number of missing patterns                        23            
                                                                  
Model Test User Model:
                                              Standard      Robust
  Test Statistic                              1165.409     768.990
  Degrees of freedom                               252         252
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.909
  Shift parameter                                          158.376
       simple second-order correction                             

Model Test Baseline Model:

  Test statistic                             11346.564    4002.758
  Degrees of freedom                               276         276
  P-value                                        0.000       0.000
  Scaling correction factor                                  2.971

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.917       0.861
  Tucker-Lewis Index (TLI)                       0.910       0.848
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Root Mean Square Error of Approximation:

  RMSEA                                          0.142       0.107
  90 Percent confidence interval - lower         0.134       0.098
  90 Percent confidence interval - upper         0.151       0.116
  P-value RMSEA <= 0.05                          0.000       0.000
                                                                  
  Robust RMSEA                                                  NA
  90 Percent confidence interval - lower                        NA
  90 Percent confidence interval - upper                        NA

Standardized Root Mean Square Residual:

  SRMR                                           0.195       0.195                           

> fitMeasures(fit.paras.one.factor.ordered)
                         npar                          fmin                         chisq                            df 
                      109.000                         3.237                      1165.409                       252.000 
                       pvalue                  chisq.scaled                     df.scaled                 pvalue.scaled 
                        0.000                       768.990                       252.000                         0.000 
         chisq.scaling.factor                baseline.chisq                   baseline.df               baseline.pvalue 
                        1.909                     11346.564                       276.000                         0.000 
        baseline.chisq.scaled            baseline.df.scaled        baseline.pvalue.scaled baseline.chisq.scaling.factor 
                     4002.758                       276.000                         0.000                         2.971 
                          cfi                           tli                          nnfi                           rfi 
                        0.917                         0.910                         0.910                         0.888 
                          nfi                          pnfi                           ifi                           rni 
                        0.897                         0.819                         0.918                         0.917 
                   cfi.scaled                    tli.scaled                    cfi.robust                    tli.robust 
                        0.861                         0.848                            NA                            NA 
                  nnfi.scaled                   nnfi.robust                    rfi.scaled                    nfi.scaled 
                        0.848                            NA                         0.790                         0.808 
                   ifi.scaled                    rni.scaled                    rni.robust                         rmsea 
                        0.862                         0.861                            NA                         0.142 
               rmsea.ci.lower                rmsea.ci.upper                  rmsea.pvalue                  rmsea.scaled 
                        0.134                         0.151                         0.000                         0.107 
        rmsea.ci.lower.scaled         rmsea.ci.upper.scaled           rmsea.pvalue.scaled                  rmsea.robust 
                        0.098                         0.116                         0.000                            NA 
        rmsea.ci.lower.robust         rmsea.ci.upper.robust           rmsea.pvalue.robust                           rmr 
                           NA                            NA                            NA                         0.188 
                   rmr_nomean                          srmr                  srmr_bentler           srmr_bentler_nomean 
                        0.195                         0.195                         0.188                         0.195 
                         crmr                   crmr_nomean                    srmr_mplus             srmr_mplus_nomean 
                        0.195                         0.203                            NA                            NA 
                        cn_05                         cn_01                           gfi                          agfi 
                       45.547                        48.176                         0.937                         0.910 
                         pgfi                           mfi 
                        0.654                         0.078 

Terrence Jorgensen

unread,
Sep 17, 2020, 5:29:00 AM9/17/20
to lavaan
the CFI and TLI had .861 and .848 as values, respectively, in the second column of the output, which I interpret these to mean that they are robust values

They are calculated using the scaled (robust) chi-squared values in that column, but they only use the original formulas for CFI/TLI/RMSEA that were not designed for robust statistics.

The ones explicitly labeled "robust CFI" etc. have modified formulas for robust statistics.  This article illuminates differences, and cites their origins.


with fitMeasures(), I saw that these values were labeled under "cfi.scaled" and "tli.scaled" whereas "cfi.robust" and "tli.robust" had "NAs" as values. 

The ones labeled scaled simply use the scaled chi-squared in original formulas.  The ones explicitly labeled robust use the modified formulas for robust statistics.
 
Searching for this topic in the group's search bar should have returned several past threads on the same topic.

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

anhh...@gmail.com

unread,
Sep 17, 2020, 1:07:13 PM9/17/20
to lavaan
Dear Terrence,

Thank you so much for the article,  your helpful response, and patience.  And I am sorry (and very embarrassed) for not having searched before asking the same question.  

Thank you again and have a wonderful day!

Anh  

Reply all
Reply to author
Forward
0 new messages