28.7 Misure di adeguamento assoluto

28.7.1 RMSEA

L’errore quadratico medio di approssimazione è una misura assoluta dell’adattamento perché non confronta la discrepanza del modello target rispetto a un modello di base, come CFI o TLI. Invece, RMSEA utilizza \(\delta\) come parametro che misura il grado di errata specificazione del modello. Ricordiamo dalla discussione sull’indice CFI che \(\delta = \chi^2 - df\), dove \(df\) sono i gradi di libertà del modello. Tanto maggiore è \(\delta\) tanto più grande è la mancanza di adattamento del modello ai dati. L’indice RMSEA si ottiene nel modo seguente:

\[\begin{equation} \mbox{RMSEA} = \sqrt{\frac{\delta}{\mbox{df} \cdot (n-1)}}, \end{equation}\]

dove \(n\) corrisponde alla numerosità campionaria.

L’indice RMSEA fornisce una stima dell’errore di approssimazione che si commette quando la matrice delle correlazioni (o covarianze) osservate viene riprodotta tramite la matrice ricavata dalle saturazioni fattoriali. Questo indice rappresenta una stima della bontà di adattamento del modello nella popolazione, ponderata per i gradi di liberà e quindi è una misura che tiene in considerazione la parsimonia del modello.

28.7.2 RMRS

L’indice RMRS viene definito come la radice quadrata della media dei residui al quadrato. L’indice RMRS rappresenta la correlazione residua media, cioè non spiegata dal modello, ed è ricavabile con la seguente formula:

\[\begin{equation} \mbox{RMRS} = \sqrt{ \frac{2 \sum_i\sum_j(r_{ij} - \hat{r}_{ij})^2}{p(p+1)}}, \end{equation}\]

dove \(p\) è il numero di item, e \(r_{ij}\) e \(\hat{r}_{ij}\) sono rispettivamente la correlazione osservata e la correlazione riprodotta tra le variabili \(i\) e \(j\).

28.7.3 Interpretazione

Un valore RMSEA < .05 indica un “close fit” e quello < .08 suggerisce un ragionevole adattamento modello-dati. Bentler e Bonett (1980) raccomandano TLI > .90 per un adattamento accettabile.

L’interpretazione degli indici di bontà di adattamento trovati nella CFA o nella modellazione di equazioni strutturali può essere ottenuta usando le funzioni del pacchetto effectsize. Ad esempio (dal manuale):

structure <- " ind60 =~ x1 + x2 + x3
               dem60 =~ y1 + y2 + y3
               dem60 ~~ ind60 "
fit <- lavaan::sem(structure, data = lavaan::PoliticalDemocracy)
effectsize::interpret(fit)
#>     Name      Value Threshold Interpretation
#> 1    GFI 0.96664121      0.95   satisfactory
#> 2   AGFI 0.91243318      0.90   satisfactory
#> 3    NFI 0.97486324      0.90   satisfactory
#> 4   NNFI 1.00010307      0.90   satisfactory
#> 5    CFI 1.00000000      0.90   satisfactory
#> 6  RMSEA 0.00000000      0.05   satisfactory
#> 7   SRMR 0.02726216      0.08   satisfactory
#> 8    RFI 0.95286858      0.90   satisfactory
#> 9   PNFI 0.51992706      0.50   satisfactory
#> 10   IFI 1.00005373      0.90   satisfactory