# Carica il file _common.R per impostazioni di pacchetti e opzioni
::here("code", "_common.R") |> source()
here
# Carica pacchetti aggiuntivi
::p_load(modelsummary, MASS) pacman
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
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:
- La varianza dei punteggi osservati.
- 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)
<- 100
n <- matrix(c(6, 0, 0, 3), byrow = TRUE, ncol = 2)
Sigma <- c(12, 0)
mu <- mvrnorm(n, mu, Sigma, empirical = TRUE)
dat <- dat[, 1]
T <- dat[, 2]
E <- T + E
X
tibble(X, T, E) |> head()
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)
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)
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)
sd(T) / sd(X)
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
var(T) / var(X)
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))
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:
<- lm(X ~ T)
fm 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)
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)
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))
cor(X, T)
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