Dear lavaan community. I've tried to run a second-order CFA model in lavaan, in order to sequentially test different measurement models (unidimensional, correlated traits, second-order), trying to replicate the process used in a very similar test battery, using the syntax:
second_phys <- 'Physical =~ Global + cardio_shuttle + str_push + str_abs
Psychological =~ mot + conf + emo + phys
Social =~ ethics + collab + relation + cult
Cognitive =~ knowledge
PL =~ Physical + Psychological + Social + Cognitive
knowledge ~~ 92.8688*knowledge
emo ~~ phys'
second_run <- cfa(second_phys, full2, estimator = "MLR", missing = "FIML")
However, this results in negative variances:
"lavaan WARNING: some estimated lv variances are negative"
If I run the model by fixing the factor variances to 1 (
std.lv =1) instead of using the default marker, the model runs, however, I get a standardized loading of 1.0 for one of the first-order factors (Psychological) - with a very large unstd. estimate.
second_run <- cfa(second_phys, full2, estimator = "MLR", missing = "FIML",
std.lv =T)
summary(second_run, standardized = T, fit.measures = T, rs=T)
lavaan 0.6-9 ended normally after 1191 iterations
Estimator ML
Optimization method NLMINB
Number of model parameters 43
Number of observations 521
Number of missing patterns 11
Model Test User Model:
Standard Robust
Test Statistic 382.556 359.177
Degrees of freedom 61 61
P-value (Chi-square) 0.000 0.000
Scaling correction factor 1.065
Yuan-Bentler correction (Mplus variant)
Model Test Baseline Model:
Test statistic 2309.548 2027.494
Degrees of freedom 78 78
P-value 0.000 0.000
Scaling correction factor 1.139
User Model versus Baseline Model:
Comparative Fit Index (CFI) 0.856 0.847
Tucker-Lewis Index (TLI) 0.816 0.804
Robust Comparative Fit Index (CFI) 0.857
Robust Tucker-Lewis Index (TLI) 0.817
Loglikelihood and Information Criteria:
Loglikelihood user model (H0) -26502.470 -26502.470
Scaling correction factor 1.207
for the MLR correction
Loglikelihood unrestricted model (H1) -26311.192 -26311.192
Scaling correction factor 1.124
for the MLR correction
Akaike (AIC) 53090.941 53090.941
Bayesian (BIC) 53273.938 53273.938
Sample-size adjusted Bayesian (BIC) 53137.446 53137.446
Root Mean Square Error of Approximation:
RMSEA 0.101 0.097
90 Percent confidence interval - lower 0.091 0.088
90 Percent confidence interval - upper 0.110 0.106
P-value RMSEA <= 0.05 0.000 0.000
Robust RMSEA 0.100
90 Percent confidence interval - lower 0.090
90 Percent confidence interval - upper 0.110
Standardized Root Mean Square Residual:
SRMR 0.095 0.095
Parameter Estimates:
Standard errors Sandwich
Information bread Observed
Observed information based on Hessian
Latent Variables:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
Physical =~
Global 5.982 0.588 10.174 0.000 7.896 0.463
cardio_shuttle 13.196 0.848 15.562 0.000 17.419 0.792
str_push 10.818 0.864 12.522 0.000 14.280 0.747
str_abs 9.267 0.693 13.371 0.000 12.232 0.564
Psychological =~
mot 0.009 0.000 18.884 0.000 11.692 0.790
conf 0.012 0.000 40.882 0.000 15.534 0.925
emo 0.005 0.001 9.473 0.000 6.332 0.436
phys 0.006 0.000 13.224 0.000 7.434 0.612
Social =~
ethics 7.354 0.749 9.822 0.000 7.977 0.670
collab 8.926 0.869 10.274 0.000 9.682 0.851
relation 9.154 0.583 15.710 0.000 9.928 0.738
cult 6.231 0.952 6.545 0.000 6.758 0.346
Cognitive =~
knowledge 11.753 0.532 22.093 0.000 11.783 0.774
PL =~
Physical 0.862 0.078 11.066 0.000 0.653 0.653
Psychological 1247.039 26.392 47.251 0.000 1.000 1.000
Social 0.420 0.099 4.254 0.000 0.387 0.387
Cognitive 0.072 0.064 1.125 0.261 0.072 0.072
Covariances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.emo ~~
.phys 30.538 6.576 4.644 0.000 30.538 0.243
Intercepts:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.Global 99.952 0.751 133.149 0.000 99.952 5.866
.cardio_shuttle 49.124 0.968 50.765 0.000 49.124 2.234
.str_push 35.776 0.845 42.356 0.000 35.776 1.871
.str_abs 48.381 0.967 50.028 0.000 48.381 2.232
.mot 74.844 0.656 114.167 0.000 74.844 5.059
.conf 68.280 0.744 91.792 0.000 68.280 4.064
.emo 69.880 0.646 108.224 0.000 69.880 4.807
.phys 75.022 0.539 139.313 0.000 75.022 6.174
.ethics 81.511 0.529 154.116 0.000 81.511 6.846
.collab 85.005 0.505 168.165 0.000 85.005 7.476
.relation 77.688 0.597 130.065 0.000 77.688 5.778
.cult 58.663 0.864 67.866 0.000 58.663 3.008
.knowledge 68.802 0.676 101.804 0.000 68.802 4.520
.Physical 0.000 0.000 0.000
.Psychological 0.000 0.000 0.000
.Social 0.000 0.000 0.000
.Cognitive 0.000 0.000 0.000
PL 0.000 0.000 0.000
Variances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.knowledge 92.869 92.869 0.401
.Global 228.040 15.618 14.601 0.000 228.040 0.785
.cardio_shuttle 179.945 20.754 8.670 0.000 179.945 0.372
.str_push 161.792 22.619 7.153 0.000 161.792 0.442
.str_abs 320.239 20.174 15.873 0.000 320.239 0.682
.mot 82.129 8.444 9.726 0.000 82.129 0.375
.conf 40.935 16.046 2.551 0.011 40.935 0.145
.emo 171.193 11.941 14.337 0.000 171.193 0.810
.phys 92.378 8.266 11.176 0.000 92.378 0.626
.ethics 78.153 11.707 6.676 0.000 78.153 0.551
.collab 35.552 9.543 3.726 0.000 35.552 0.275
.relation 82.205 11.817 6.957 0.000 82.205 0.455
.cult 334.758 19.017 17.603 0.000 334.758 0.880
.Physical 1.000 0.574 0.574
.Psychological 1.000 0.000 0.000
.Social 1.000 0.850 0.850
.Cognitive 1.000 0.995 0.995
PL 1.000 1.000 1.000
I've also tried running the model with the option bounds=T, which provides an equivalent solution.
Can this results be derived from having very low correlations among some of the factors (as per the correlated traits solution, abbreviated below), and thus making this an implausable factor structure (other that not having an acceptable fit)? Or is there any plausible technical solution that I'm overlooking?
Covariances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.emo ~~
.phys 29.731 6.528 4.555 0.000 29.731 0.239
Physical ~~
Psychological 59.167 8.081 7.322 0.000 0.661 0.661
Social 0.555 3.857 0.144 0.886 0.009 0.009
Cognitive 18.036 5.478 3.292 0.001 0.201 0.201
Psychological ~~
Social 39.445 6.982 5.650 0.000 0.419 0.419
Cognitive 8.385 8.701 0.964 0.335 0.060 0.060
Social ~~
Cognitive 8.557 6.315 1.355 0.175 0.091 0.091
Thanks in advance for any help you can provide me.
Best regards.