37.3 Confronto tra modelli
È possibile valutare il tipo di invarianza fattoriale longitudinale giustificata dai dati mediante un confronto tra modelli.
round(cbind(
configural = inspect(fit_configural, "fit.measures"),
weak = inspect(fit_weak, "fit.measures"),
strong = inspect(fit_strong, "fit.measures"),
strict = inspect(fit_strict, "fit.measures")
), 3)
#> configural weak strong strict
#> npar 39.000 35.000 31.000 25.000
#> fmin 0.012 0.040 0.183 0.203
#> chisq 35.522 116.826 540.750 600.614
#> df 15.000 19.000 23.000 29.000
#> pvalue 0.002 0.000 0.000 0.000
#> baseline.chisq 11669.413 11669.413 11669.413 11669.413
#> baseline.df 36.000 36.000 36.000 36.000
#> baseline.pvalue 0.000 0.000 0.000 0.000
#> cfi 0.998 0.992 0.955 0.951
#> tli 0.996 0.984 0.930 0.939
#> cfi.robust 0.998 0.991 0.957 0.952
#> tli.robust 0.995 0.983 0.932 0.940
#> nnfi 0.996 0.984 0.930 0.939
#> rfi 0.993 0.981 0.927 0.936
#> nfi 0.997 0.990 0.954 0.949
#> pnfi 0.415 0.522 0.609 0.764
#> ifi 0.998 0.992 0.956 0.951
#> rni 0.998 0.992 0.955 0.951
#> nnfi.robust 0.995 0.983 0.932 0.940
#> rni.robust 0.998 0.991 0.957 0.952
#> logl -41918.095 -41958.747 -42170.709 -42200.641
#> unrestricted.logl -41900.334 -41900.334 -41900.334 -41900.334
#> aic 83914.190 83987.495 84403.419 84451.282
#> bic 84120.830 84172.940 84567.670 84583.743
#> ntotal 1478.000 1478.000 1478.000 1478.000
#> bic2 83996.938 84061.756 84469.193 84504.325
#> rmsea 0.030 0.059 0.123 0.115
#> rmsea.ci.lower 0.018 0.049 0.115 0.108
#> rmsea.ci.upper 0.043 0.070 0.133 0.124
#> rmsea.ci.level 0.900 0.900 0.900 0.900
#> rmsea.pvalue 0.994 0.069 0.000 0.000
#> rmsea.close.h0 0.050 0.050 0.050 0.050
#> rmsea.notclose.pvalue 0.000 0.000 1.000 1.000
#> rmsea.notclose.h0 0.080 0.080 0.080 0.080
#> rmsea.robust 0.037 0.071 0.142 0.134
#> rmsea.ci.lower.robust 0.021 0.059 0.132 0.125
#> rmsea.ci.upper.robust 0.053 0.084 0.154 0.144
#> rmsea.pvalue.robust 0.897 0.003 0.000 0.000
#> rmsea.notclose.pvalue.robust 0.000 0.134 1.000 1.000
#> rmr 3.876 20.127 41.365 40.928
#> rmr_nomean 4.246 22.048 45.308 44.829
#> srmr 0.008 0.062 0.096 0.111
#> srmr_bentler 0.007 0.042 0.075 0.078
#> srmr_bentler_nomean 0.008 0.046 0.076 0.079
#> crmr 0.008 0.016 0.042 0.041
#> crmr_nomean 0.009 0.018 0.028 0.027
#> srmr_mplus 0.008 0.062 0.096 0.111
#> srmr_mplus_nomean 0.008 0.030 0.050 0.055
#> cn_05 1041.031 382.354 97.135 105.725
#> cn_01 1273.294 458.860 114.808 123.027
#> gfi 0.997 0.996 0.991 0.990
#> agfi 0.990 0.989 0.980 0.982
#> pgfi 0.277 0.350 0.422 0.532
#> mfi 0.993 0.967 0.839 0.824
#> ecvi 0.077 0.126 0.408 0.440
# Chi-square difference test for nested models
anova(fit_configural, fit_weak)
#>
#> Chi-Squared Difference Test
#>
#> Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
#> fit_configural 15 83914 84121 35.522
#> fit_weak 19 83987 84173 116.826 81.304 0.11435 4 < 2.2e-16 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(fit_weak, fit_strong)
#>
#> Chi-Squared Difference Test
#>
#> Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
#> fit_weak 19 83987 84173 116.83
#> fit_strong 23 84403 84568 540.75 423.92 0.26651 4 < 2.2e-16 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(fit_strong, fit_strict)
#>
#> Chi-Squared Difference Test
#>
#> Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
#> fit_strong 23 84403 84568 540.75
#> fit_strict 29 84451 84584 600.61 59.863 0.077935 6 4.798e-11 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Nel caso presente, solo l’invarianza configurale è giustificata dal test di verosimiglianze. L’esame degli indici di bontà di adattamento, comunque, suggerisce che l’invarianza debole sembra giustificata per questi dati. Grimm, Ram, and Estabrook (2016) concludono invece che anche l’invarianza forte è giustificata per questi dati.
References
Grimm, Kevin J, Nilam Ram, and Ryne Estabrook. 2016. Growth Modeling: Structural Equation and Multilevel Modeling Approaches. Guilford Publications.