9  L’affidabilità del test

L’affidabilità è un principio fondamentale nella teoria della misurazione, essenziale per garantire coerenza, stabilità e precisione nelle misurazioni effettuate in vari contesti. Nell’ambito del testing psicologico, è cruciale che i punteggi mostrino un grado di consistenza accettabile per essere considerati significativi. Questo concetto è particolarmente rilevante, poiché i punteggi possono variare a seconda delle specifiche condizioni di misurazione, rendendo necessario l’impiego di diversi metodi per valutare l’affidabilità di un test.

Prerequisiti

Concetti e Competenze Chiave

Preparazione del Notebook

# Carica il file _common.R per impostazioni di pacchetti e opzioni
here::here("code", "_common.R") |> source()

# Carica pacchetti aggiuntivi
pacman::p_load(modelsummary, MASS)

9.1 Introduzione

Uno degli obiettivi principali della CTT è quello di suddividere la varianza di un insieme di punteggi osservati in varianza del punteggio vero e varianza dell’errore. Per definire l’attendibilità, la CTT si basa su due informazioni chiave:

  1. La varianza dei punteggi osservati.
  2. La correlazione tra il punteggio osservato e il punteggio vero.

Vedremo come ottenere queste informazioni utilizzando le assunzioni del modello statistico alla base della CTT. Queste assunzioni includono:

  • Errore medio nullo: Si assume che l’errore di misurazione abbia una media pari a zero, cioè \(E(e) = 0\). Questo implica che l’errore è casuale e distribuito uniformemente attorno al punteggio vero.
  • Indipendenza tra punteggio vero e errore: La CTT assume che non ci sia correlazione tra il punteggio vero e l’errore di misurazione (\(r_{T,e} = 0\)).
  • Indipendenza dell’errore nel tempo: Si assume che l’errore di misurazione in un determinato momento non sia correlato con l’errore in un altro momento (\(r_{e1,e2} = 0\)).

9.2 La varianza del punteggio osservato

La varianza del punteggio osservato \(X\) è uguale alla somma della varianza del punteggio vero e della varianza dell’errore di misurazione:

\[ \sigma^2_X = \sigma_T^2 + \sigma_E^2. \tag{9.1}\]

La dimostrazione è la seguente. La varianza del punteggio osservato è uguale a

\[ \sigma^2_X = \mathbb{V}(T+E) = \sigma_T^2 + \sigma_E^2 + 2 \sigma_{TE}. \tag{9.2}\]

Dato che \(\sigma_{TE}=\rho_{TE}\sigma_T \sigma_E=0\), in quanto \(\rho_{TE}=0\), ne segue che

\[ \sigma^2_X = \sigma_T^2 + \sigma_E^2. \]

Per fare un esempio concreto, riprendiamo la simulazione del capitolo precedente.

set.seed(8394)

n <- 100
Sigma <- matrix(c(6, 0, 0, 3), byrow = TRUE, ncol = 2)
mu <- c(12, 0)
dat <- mvrnorm(n, mu, Sigma, empirical = TRUE)
T <- dat[, 1]
E <- dat[, 2]
X <- T + E

tibble(X, T, E) |> head()
A tibble: 6 × 3
X T E
<dbl> <dbl> <dbl>
15.698623 16.765359 -1.0667358
13.657503 12.248096 1.4094073
6.731979 7.852136 -1.1201563
14.621813 14.233699 0.3881133
10.606647 10.187035 0.4196115
12.370288 13.329971 -0.9596831
var(X) == var(T) + var(E)
TRUE

9.3 La covarianza tra punteggio osservato e punteggio vero

La covarianza tra punteggio osservato \(X\) e punteggio vero \(T\) è uguale alla varianza del punteggio vero:

\[ \sigma_{X T} = \sigma_T^2. \tag{9.3}\]

La dimostrazione è la seguente. La covarianza tra punteggio osservato e punteggio vero è uguale a

\[ \begin{aligned} \sigma_{X T} &= \mathbb{E}(XT) - \mathbb{E}(X)\mathbb{E}(T)\notag\\ &= \mathbb{E}[(T+E)T] - \mathbb{E}(T+E)\mathbb{E}(T)\notag\\ &= \mathbb{E}(T^2) + \underbrace{\mathbb{E}(ET)}_{=0} - [\mathbb{E}(T)]^2 - \underbrace{\mathbb{E}(E)}_{=0} \mathbb{E}(T)\notag\\ &=\mathbb{E}(T^2) - [\mathbb{E}(T)]^2\notag \\ &= \sigma_T^2. \end{aligned} \]

Verifichiamo per i dati dell’esempio.

cov(X, T) == var(T)
TRUE

9.4 Correlazione tra punteggio osservato e punteggio vero

La correlazione tra punteggio osservato \(X\) e punteggio vero \(T\) è uguale al rapporto tra la covarianza tra \(X\) e \(T\) divisa per il prodotto delle due deviazioni standard:

\[ \rho_{XT} = \frac{\sigma_{XT}}{\sigma_X \sigma_T} = \frac{\sigma^2_{T}}{\sigma_X \sigma_T} = \frac{\sigma_{T}}{\sigma_X}. \tag{9.4}\]

Dunque, la correlazione tra il punteggio osservato e il punteggio vero è uguale al rapporto tra la deviazione standard dei punteggi veri e la deviazione standard dei punteggi osservati.

Verifichiamo per i dati dell’esempio.

cor(X, T) 
0.816496580927726
sd(T) / sd(X)
0.816496580927726

9.5 Definizione e significato dell’attendibilità

Sulla base dell’Equazione 9.4, possiamo giungere alla definizione di attendibilità. La Teoria della Misurazione Classica (CTT) definisce l’attendibilità di un test (o di un singolo elemento) come il rapporto tra la varianza del punteggio vero e la varianza del punteggio osservato. In altre parole, l’attendibilità rappresenta il quadrato della correlazione tra il punteggio osservato \(X\) e il punteggio vero \(T\):

\[ \begin{equation} \rho_{XT}^2 = \frac{\sigma_{T}^2}{\sigma_{X}^2}. \end{equation} \]

Questa formula è il concetto fondamentale della CTT e misura il livello di variazione del punteggio vero rispetto alla variazione del punteggio osservato.

Adesso possiamo procedere a verificare questa relazione utilizzando i dati forniti nell’esempio.

cor(X, T)^2
0.666666666666667
var(T) / var(X)
0.666666666666667

Dato che \(\sigma^2_X = \sigma_T^2 + \sigma_E^2\), in base alla {ref}eq-reliability-1 possiamo scrivere

\[ \begin{equation} \rho_{XT}^2 = \frac{\sigma_{T}^2}{\sigma_X^2} =\frac{\sigma_{X}^2 - \sigma^2_E}{\sigma_X^2} = 1-\frac{\sigma_{E}^2}{\sigma_{X}^2}. \end{equation} \tag{9.5}\]

1 - (var(E) / var(X))
0.666666666666667

Dall’Equazione 9.5, possiamo dedurre che il coefficiente di affidabilità assume il valore di \(1\) quando la varianza degli errori \(\sigma_{E}^2\) è nulla, e assume il valore di \(0\) quando la varianza degli errori è uguale alla varianza del punteggio osservato. Quindi, il coefficiente di affidabilità è un valore assoluto situato nell’intervallo tra \(0\) e \(1\).

9.6 Attendibilità e modello di regressione lineare

In parole semplici, la CTT si basa sul modello di regressione lineare, dove i punteggi osservati sono considerati come variabile dipendente e i punteggi veri come variabile indipendente. Il coefficiente di attendibilità \(\rho_{XT}^2\) rappresenta la proporzione di varianza nella variabile dipendente spiegata dalla variabile indipendente in un modello di regressione lineare con una pendenza unitaria e un’intercetta di zero. In altre parole, il coefficiente di attendibilità è equivalente al coefficiente di determinazione del modello di regressione.

Per rendere questo concetto più chiaro, possiamo tornare a considerare i dati simulati come esempio.

La motivazione di questa simulazione è quella di mettere in relazione il coefficiente di attendibilità, calcolato con la formula della CTT (come abbiamo fatto sopra), con il modello di regressione lineare. Analizziamo dunque i dati della simulazione mediante il seguente modello di regressione lineare:

\[ X = a + b T + E. \]

Usando \(\textsf{R}\) otteniamo:

fm <- lm(X ~ T)
summary(fm)

Call:
lm(formula = X ~ T)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.4343 -0.9720 -0.0865  1.0803  3.7347 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 9.948e-15  8.746e-01       0        1    
T           1.000e+00  7.143e-02      14   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.741 on 98 degrees of freedom
Multiple R-squared:  0.6667,    Adjusted R-squared:  0.6633 
F-statistic:   196 on 1 and 98 DF,  p-value: < 2.2e-16

Si noti che la retta di regressione ha intercetta 0 e pendenza 1. Questo è coerente con l’assunzione \(\mathbb{E}(X) = \mathbb{E}(T)\). Ma il risultato più importante di questa simulazione è che il coefficiente di determinazione (\(R^2\) = 0.67) del modello di regressione \(X = 0 + 1 \times T + E\) è identico al coefficiente di attendibilità calcolato con la formula \(\rho_{XT}^2 = \frac{\sigma_{T}^2}{\sigma_X^2}\):

var(T) / var(X)
0.666666666666667

Questi risultati ci permettono di interpretare il coefficiente di affidabilità nel seguente modo: l’affidabilità di un test rappresenta la porzione di varianza presente nel punteggio osservato \(X\) che viene spiegata dalla regressione di \(X\) rispetto al punteggio vero \(T\). Questo risultato è stato ottenuto mediante una regressione lineare, dove il coefficiente angolare \(\beta\) è uguale a 1 e l’intercetta \(\alpha\) è uguale a 0.

Inoltre, ricordiamo che la radice quadrata della varianza degli errori è l’errore standard della misurazione, \(\sigma_E\). La quantità \(\sqrt{\sigma_E^2}\) fornisce una misura della dispersione del punteggio osservato attorno al valore vero, nella condizione ipotetica di ripetute somministrazioni del test:

sqrt(var(E) * 99 / 98)
1.74086537242199

L’output della funzione lm() rende chiaro che l’errore standard della misurazione della CTT è identico all’errore standard della regressione nel caso di un modello di regressione definito come abbiamo fatto sopra.

Nel codice precedente è stato incluso il termine correttivo 99/98. Questa correzione è necessaria poiché, mentre R calcola la deviazione standard con \(n-1\) al denominatore, l’errore standard della regressione richiede \(n-2\) al denominatore.

9.7 Misurazioni parallele e affidabilità

L’equazione \(\rho_{XT}^2 = \frac{\sigma_{T}^2}{\sigma_X^2}\) definisce il coefficiente di affidabilità, ma non ci fornisce gli strumenti pratici per calcolarlo direttamente. Questo perché la varianza del punteggio reale \(\sigma_{T}^2\) rappresenta un valore sconosciuto. Il metodo utilizzato dalla CTT per ottenere una stima empirica dell’attendibilità è quello delle forme parallele del test. In pratica, se è possibile creare versioni alternative del test che siano equivalenti in termini di contenuto, modalità di risposta e caratteristiche statistiche, allora diventa possibile ottenere una stima empirica del coefficiente di affidabilità.

Secondo la CTT, due test \(X=T+E\) e \(X^\prime=T^\prime+E^\prime\) sono considerati misurazioni parallele della stessa abilità latente quando:

  • \(T = T^\prime\),
  • \(\mathbb{V}(E) = \mathbb{V}(E^\prime)\).

Queste premesse implicano che \(\mathbb{E}(X) = \mathbb{E}(X^\prime)\).

La dimostrazione procede come segue. Considerando che \(\mathbb{E}(X) = T\) e \(\mathbb{E}(X^\prime) = T\), è evidente che \(\mathbb{E}(X) =\mathbb{E}(X^\prime)\) poiché \(\mathbb{E}(E) = \mathbb{E}(E^\prime) = 0\).

In modo analogo, l’uguaglianza delle varianze nei punteggi osservati delle due misurazioni parallele deve essere verificata, cioè \(\mathbb{V}(X) = \mathbb{V}(X^\prime)\).

Questa dimostrazione si sviluppa come segue. Per \(X\), possiamo scrivere

\[\mathbb{V}(X) = \mathbb{V}(T + E) = \mathbb{V}(T) + \mathbb{V}(E);\]

mentre per \(X^\prime\) possiamo scrivere

\[\mathbb{V}(X^\prime) = \mathbb{V}(T^\prime + E^\prime) = \mathbb{V}(T^\prime) + \mathbb{V}(E^\prime).\]

Poiché sappiamo che \(\mathbb{V}(E) = \mathbb{V}(E^\prime)\) e che \(T = T^\prime\), possiamo dedurre che \(\mathbb{V}(X) = \mathbb{V}(X^\prime)\).

In aggiunta, è importante notare che per costruzione gli errori \(E\) e \(E^\prime\) sono incorrelati sia con \(T\) che tra di loro.

9.8 La correlazione tra due forme parallele del test

Ora procediamo a dimostrare che, secondo le ipotesi della Teoria della CTT, la correlazione tra due versioni parallele di un test è effettivamente equivalente al rapporto tra la varianza del punteggio reale e la varianza del punteggio osservato. Come discusso nel capitolo precedente, le misurazioni parallele rappresentano il grado più elevato di somiglianza tra due diverse versioni di un test.

La dimostrazione è la seguente. Consideriamo, senza perdita di generalità, che \(\mathbb{E}(X) = \mathbb{E}(X') = \mathbb{E}(T) = 0\). Questa scelta ci consente di scrivere:

\[ \begin{aligned} \rho_{X X^\prime} &= \frac{\sigma(X, X^\prime)}{\sigma(X) \sigma(X^\prime)} \\ &= \frac{\mathbb{E}(XX^\prime)}{\sigma(X) \sigma(X^\prime)} \\ &= \frac{\mathbb{E}[(T+E)(T+E^\prime)]}{\sigma(X) \sigma(X^\prime)} \\ &= \frac{\mathbb{E}(T^2) + \mathbb{E}(TE^\prime) + \mathbb{E}(TE) + \mathbb{E}(EE^\prime)}{\sigma(X) \sigma(X^\prime)}. \end{aligned} \]

Tuttavia, sappiamo che \(\mathbb{E}(TE) = \mathbb{E}(TE^\prime) = \mathbb{E}(EE^\prime) = 0\). Inoltre, \(\sigma(X) = \sigma(X^\prime) = \sigma_X\). Pertanto, giungiamo a:

\[ \rho_{X X^\prime} = \frac{\mathbb{E}(T^2)}{\sigma_X \sigma_X} = \frac{\sigma^2_T}{\sigma^2_X}. \] {#eq:3-3-5}

Notiamo che il risultato ottenuto, insieme all’equazione che definisce il coefficiente di affidabilità \(\rho_{XT}^2 = \frac{\sigma_{T}^2}{\sigma_X^2}\), presentano entrambi la stessa espressione a destra del segno di uguale. Questo conduce a un risultato cruciale: il coefficiente di affidabilità, ossia il quadrato della correlazione tra il punteggio osservato e il punteggio reale, è identico alla correlazione tra i punteggi osservati di due versioni parallele del test:

\[ \rho^2_{XT} = \rho_{XX^\prime}. \tag{9.6}\]

Questa conclusione è di notevole importanza in quanto consente di esprimere la variabile inosservabile \(\rho^2_{XT}\) in termini della variabile osservabile \(\rho_{XX^\prime}\), la quale può essere calcolata in base ai punteggi osservati delle due forme parallele del test. Fondamentalmente, la stima di \(\rho^2_{XT}\) si semplifica nella stima di \(\rho^2_{XX^\prime}\). Questo spiega l’importanza dell’equazione {eq}eq-rho2xt-rhoxx nella CTT. Inoltre, è da sottolineare che l’equazione {ref}eq:rho2xt-rhoxx fornisce una giustificazione per l’utilizzo della correlazione split-half come misura di affidabilità.

9.9 La correlazione tra punteggio osservato e punteggio vero

Esaminiamo adesso la correlazione tra il punteggio osservato e il punteggio reale. L’Equazione 9.6 può essere riformulata come segue:

\[ \rho_{XT} = \sqrt{\rho_{XX^\prime}}. \]

In altre parole, la radice quadrata del coefficiente di affidabilità equivale alla correlazione tra il punteggio osservato e il punteggio reale.

Procediamo ora a verificare questa relazione utilizzando i dati dell’esempio.

sqrt(var(T) / var(X))
0.816496580927726
cor(X, T)
0.816496580927726

9.10 I fattori che influenzano l’attendibilità

Considerando le tre equazioni:

\[ \rho^2_{XT} = \rho_{XX'},\quad \rho_{XT}^2 = \frac{\sigma_{T}^2}{\sigma_X^2}, \quad \rho_{XT}^2 = 1-\frac{\sigma_{E}^2}{\sigma_X^2}, \]

possiamo affermare che esistono tre modi equivalenti per giungere alla conclusione che l’attendibilità di un test è elevata. L’attendibilità di un test è considerata alta quando si verificano le seguenti condizioni:

  • La correlazione tra le forme parallele del test è elevata.
  • La varianza del punteggio vero è ampia rispetto alla varianza del punteggio osservato.
  • La varianza dell’errore di misurazione è ridotta rispetto alla varianza del punteggio osservato.

Queste considerazioni rivestono un’importanza fondamentale nella progettazione di un test. In particolare, l’equazione \(\rho^2_{XT} = \rho_{XX'}\) fornisce un criterio per la selezione degli item da includere nel test. Se interpretiamo \(\rho_{XX'}\) come la correlazione tra due item, allora gli item che presentano la correlazione più elevata tra di loro dovrebbero essere inclusi nel test. In questo modo, l’attendibilità del test aumenta, poiché gli item selezionati risultano fortemente correlati con il punteggio vero.

9.11 Riflessioni conclusive

L’affidabilità costituisce un concetto fondamentale all’interno della teoria della misurazione, poiché si riferisce alla coerenza dei punteggi in varie situazioni, come diverse configurazioni di item, versioni del test o momenti di somministrazione. Nel corso di questo capitolo, abbiamo esplorato le basi teoriche dell’affidabilità. All’interno della CTT, l’affidabilità è definita come la correlazione tra il punteggio vero e il punteggio osservato, oppure, equivalentemente, come uno meno la correlazione tra il punteggio di errore e il punteggio osservato. Dal momento che il punteggio vero non è direttamente osservabile, è necessario ricorrere a metodi alternativi per stimare l’affidabilità. Il metodo proposto dalla CTT per ottenere tale stima è quello della correlazione dei punteggi ottenuti da due test paralleli.

9.12 Session Info

sessionInfo()
R version 4.3.2 (2023-10-31)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Sonoma 14.3.1

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] C

time zone: Europe/Rome
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] MASS_7.3-60.0.1    modelsummary_1.4.5 ggokabeito_0.1.0   viridis_0.6.5     
 [5] viridisLite_0.4.2  ggpubr_0.6.0       ggExtra_0.10.1     bayesplot_1.11.1  
 [9] gridExtra_2.3      patchwork_1.2.0    semTools_0.5-6     semPlot_1.1.6     
[13] lavaan_0.6-17      psych_2.4.1        scales_1.3.0       markdown_1.12     
[17] knitr_1.45         lubridate_1.9.3    forcats_1.0.0      stringr_1.5.1     
[21] dplyr_1.1.4        purrr_1.0.2        readr_2.1.5        tidyr_1.3.1       
[25] tibble_3.2.1       ggplot2_3.4.4      tidyverse_2.0.0    here_1.0.1        

loaded via a namespace (and not attached):
  [1] rstudioapi_0.15.0  jsonlite_1.8.8     magrittr_2.0.3    
  [4] TH.data_1.1-2      estimability_1.5   nloptr_2.0.3      
  [7] rmarkdown_2.25     vctrs_0.6.5        minqa_1.2.6       
 [10] base64enc_0.1-3    rstatix_0.7.2      htmltools_0.5.7   
 [13] broom_1.0.5        Formula_1.2-5      htmlwidgets_1.6.4 
 [16] plyr_1.8.9         sandwich_3.1-0     emmeans_1.10.0    
 [19] zoo_1.8-12         uuid_1.2-0         igraph_2.0.2      
 [22] mime_0.12          lifecycle_1.0.4    pkgconfig_2.0.3   
 [25] Matrix_1.6-5       R6_2.5.1           fastmap_1.1.1     
 [28] shiny_1.8.0        digest_0.6.34      OpenMx_2.21.11    
 [31] fdrtool_1.2.17     colorspace_2.1-0   rprojroot_2.0.4   
 [34] Hmisc_5.1-1        fansi_1.0.6        timechange_0.3.0  
 [37] abind_1.4-5        compiler_4.3.2     withr_3.0.0       
 [40] glasso_1.11        htmlTable_2.4.2    backports_1.4.1   
 [43] carData_3.0-5      ggsignif_0.6.4     corpcor_1.6.10    
 [46] gtools_3.9.5       tools_4.3.2        pbivnorm_0.6.0    
 [49] foreign_0.8-86     zip_2.3.1          httpuv_1.6.14     
 [52] nnet_7.3-19        glue_1.7.0         quadprog_1.5-8    
 [55] nlme_3.1-164       promises_1.2.1     lisrelToR_0.3     
 [58] grid_4.3.2         pbdZMQ_0.3-11      checkmate_2.3.1   
 [61] cluster_2.1.6      reshape2_1.4.4     generics_0.1.3    
 [64] gtable_0.3.4       tzdb_0.4.0         data.table_1.15.0 
 [67] hms_1.1.3          car_3.1-2          utf8_1.2.4        
 [70] tables_0.9.17      sem_3.1-15         pillar_1.9.0      
 [73] IRdisplay_1.1      rockchalk_1.8.157  later_1.3.2       
 [76] splines_4.3.2      lattice_0.22-5     survival_3.5-8    
 [79] kutils_1.73        tidyselect_1.2.0   miniUI_0.1.1.1    
 [82] pbapply_1.7-2      stats4_4.3.2       xfun_0.42         
 [85] qgraph_1.9.8       arm_1.13-1         stringi_1.8.3     
 [88] boot_1.3-29        evaluate_0.23      codetools_0.2-19  
 [91] mi_1.1             cli_3.6.2          RcppParallel_5.1.7
 [94] IRkernel_1.3.2     rpart_4.1.23       xtable_1.8-4      
 [97] repr_1.1.6         munsell_0.5.0      Rcpp_1.0.12       
[100] coda_0.19-4.1      png_0.1-8          XML_3.99-0.16.1   
[103] parallel_4.3.2     ellipsis_0.3.2     jpeg_0.1-10       
[106] lme4_1.1-35.1      mvtnorm_1.2-4      insight_0.19.8    
[109] openxlsx_4.2.5.2   crayon_1.5.2       rlang_1.1.3       
[112] multcomp_1.4-25    mnormt_2.1.1