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.