Hello,
I am very new to lavaan and CFA, so please accept my apologies if the answer to this question is very obvious.
I am estimating the following CFA model:
model <- "SELFCON_baseline =~ SQA06A + SQA06B + SQA06C + SQA06D + SQA06E + SQA06F"
using in lavaan, treating all items as ordinal.
base <-lavaan::cfa(model, ordered = T, missing = "pairwise", warn = FALSE, data = stud)
When I look at the fit using
summary(base, fit.measures = TRUE)
I get the following output
lavaan 0.6.17 ended normally after 18 iterations
Estimator DWLS
Optimization method NLMINB
Number of model parameters 24
Used Total
Number of observations 12744 13530
Number of missing patterns 32
Model Test User Model:
Standard Scaled
Test Statistic 439.109 1080.548
Degrees of freedom 9 9
P-value (Chi-square) 0.000 0.000
Scaling correction factor 0.406
Shift parameter 0.282
simple second-order correction
Model Test Baseline Model:
Test statistic 248402.831 137599.841
Degrees of freedom 15 15
P-value 0.000 0.000
Scaling correction factor 1.805
User Model versus Baseline Model:
Comparative Fit Index (CFI) 0.998 0.992
Tucker-Lewis Index (TLI) 0.997 0.987
Robust Comparative Fit Index (CFI) 0.972
Robust Tucker-Lewis Index (TLI) 0.954
Root Mean Square Error of Approximation:
RMSEA 0.061 0.097
90 Percent confidence interval - lower 0.056 0.092
90 Percent confidence interval - upper 0.066 0.102
P-value H_0: RMSEA <= 0.050 0.000 0.000
P-value H_0: RMSEA >= 0.080 0.000 1.000
Robust RMSEA 0.115
90 Percent confidence interval - lower 0.109
90 Percent confidence interval - upper 0.121
P-value H_0: Robust RMSEA <= 0.050 0.000
P-value H_0: Robust RMSEA >= 0.080 1.000
Standardized Root Mean Square Residual:
SRMR 0.027 0.027
Parameter Estimates:
Parameterization Delta
Standard errors Robust.sem
Information Expected
Information saturated (h1) model Unstructured
Latent Variables:
Estimate Std.Err z-value P(>|z|)
SELFCON_baseline =~
SQA06A 1.000
SQA06B 0.986 0.007 148.832 0.000
SQA06C 1.110 0.006 184.106 0.000
SQA06D 1.134 0.007 174.134 0.000
SQA06E 0.916 0.007 128.925 0.000
SQA06F 1.063 0.006 174.286 0.000
Thresholds:
Estimate Std.Err z-value P(>|z|)
SQA06A|t1 -1.300 0.015 -84.836 0.000
SQA06A|t2 -0.059 0.011 -5.283 0.000
SQA06A|t3 1.418 0.016 86.865 0.000
SQA06B|t1 -1.657 0.019 -87.529 0.000
SQA06B|t2 -0.363 0.011 -31.833 0.000
SQA06B|t3 1.229 0.015 83.030 0.000
SQA06C|t1 -1.558 0.018 -87.726 0.000
SQA06C|t2 -0.232 0.011 -20.633 0.000
SQA06C|t3 1.082 0.014 78.009 0.000
SQA06D|t1 -1.393 0.016 -86.394 0.000
SQA06D|t2 0.025 0.011 2.242 0.025
SQA06D|t3 1.300 0.015 84.700 0.000
SQA06E|t1 -1.779 0.021 -86.222 0.000
SQA06E|t2 -0.517 0.012 -44.212 0.000
SQA06E|t3 0.986 0.013 73.864 0.000
SQA06F|t1 -1.589 0.018 -87.764 0.000
SQA06F|t2 -0.237 0.011 -21.103 0.000
SQA06F|t3 1.152 0.014 80.635 0.000
Variances:
Estimate Std.Err z-value P(>|z|)
.SQA06A 0.377
.SQA06B 0.395
.SQA06C 0.233
.SQA06D 0.199
.SQA06E 0.477
.SQA06F 0.296
SELFCON_baseln 0.623 0.007 95.206 0.000
My understanding is that because all my items are ordered categorical, diagonally weighted least squares (DWLS) estimation
in its robust mean and
variance-adjusted weighted least squares (WLSMV) variant is used. Following the suggestions by Wirth & Edwards (2007), the test statistics and fit indices have to hence be adjusted. I have further read that the adjustment is possible via scaled tests or robust estimation. My interpretation of the output is that for the fit indices (CFI, TLI and RMSEA), the output includes "raw" values, scaled values and "scaled robust" values. Is this correct? However, what I am unclear about is which one is most appropriate to use to evaluate model fit and report in the paper. Is it sufficient to consider the scaled indices?
Thanks very much in advance, any pointers will be very appreciated.
Kind regards,
Stef