Dati Mancanti nelle Grandi Indagini? Non Aver Paura, C’è l’Imputazione Multipla!
Ciao a tutti! Oggi voglio parlarvi di un problema che chiunque lavori con grandi set di dati, specialmente quelli provenienti da indagini su larga scala (le cosiddette Large-Scale Assessments o LSA, come PISA, TIMSS, ICCS), conosce fin troppo bene: i dati mancanti. Sapete, quelle fastidiose caselle vuote nei nostri fogli di calcolo che compaiono quando un partecipante salta una domanda o non fornisce una certa informazione.
Il Problema dei “Buchi” nei Dati
Immaginatevi la scena: state conducendo un’analisi super interessante sui dati PISA, magari per capire cosa influenzi i risultati in matematica degli studenti. Avete migliaia di risposte, ma… ops! Un bel po’ di studenti non hanno risposto alla domanda sullo status socio-economico, o magari hanno saltato qualche item del questionario sul clima scolastico. Che si fa?
L’approccio più comune, quasi istintivo, è quello che in gergo si chiama eliminazione listwise (Listwise Deletion – LD). In pratica, si prendono tutti i partecipanti che hanno almeno un dato mancante nelle variabili che ci interessano e… li si butta via dall’analisi. Semplice, no? Forse troppo.
Questo metodo, purtroppo, è spesso una pessima idea. Perché? Beh, funziona decentemente solo se i dati mancano in modo completamente casuale (Missing Completely At Random – MCAR), cioè se il fatto che un dato manchi non dipende da nient’altro, né dalle cose che abbiamo misurato né da quelle che non abbiamo misurato. Ma siamo onesti, quante volte succede nella realtà? Molto più spesso, i dati mancano in modo casuale (Missing At Random – MAR), il che significa che la mancanza di un dato può essere collegata ad altre variabili che *abbiamo* osservato. Ad esempio, è plausibile che studenti con risultati più bassi siano meno propensi a rispondere a certe domande? Direi di sì.
Se usiamo l’eliminazione listwise quando i dati sono MAR (o peggio, quando mancano per ragioni non osservate), rischiamo grosso:
- Risultati distorti (biased): Le nostre stime (medie, correlazioni, coefficienti di regressione) potrebbero non riflettere la realtà della popolazione che stiamo studiando.
- Perdita di potenza statistica: Buttando via dati, riduciamo la dimensione del campione, rendendo più difficile trovare effetti significativi anche quando esistono.
E non pensiate che sia un problema da poco. Articoli recenti, anche pubblicati nel 2024 su riviste specializzate come *Large-scale Assessments in Education*, mostrano ancora l’uso massiccio dell’eliminazione listwise. Si legge di campioni ridotti del 10%, 20%, a volte anche di più! In un caso citato nel testo originale, si è rinunciato a usare una variabile importante come lo status socio-economico aggregato a livello di scuola perché mancava nel 26% degli studenti a livello individuale. Un vero peccato, perché si perdono informazioni preziose.

Allora, Qual è l’Alternativa? L’Imputazione Multipla (MI)
Da decenni, ormai, la ricerca metodologica ci indica una strada migliore: l’imputazione multipla (Multiple Imputation – MI). L’idea di base è geniale nella sua semplicità (concettuale, almeno!): invece di buttare via i dati incompleti, proviamo a “riempire” i buchi in modo intelligente. Ma non lo facciamo una volta sola.
Con l’MI, generiamo multiple versioni complete del nostro dataset (ad esempio, 20, 50, o anche 100 copie). In ogni copia, i valori mancanti vengono sostituiti (imputati) con valori plausibili, generati basandosi sulle relazioni osservate tra le variabili nel dataset. Poiché c’è incertezza su quale sia il “vero” valore mancante, ogni dataset imputato avrà valori leggermente diversi.
Una volta ottenuti i nostri *m* dataset completi, eseguiamo l’analisi statistica che ci interessa (ad esempio, un modello di regressione) su *ciascuno* di essi. Otterremo così *m* set di risultati (es. *m* coefficienti di regressione con i loro errori standard).
E poi? Non possiamo mica presentare 20 tabelle di risultati! Qui entrano in gioco le famose regole di Rubin. Queste regole ci dicono come combinare (fare il “pooling”) i risultati ottenuti dai singoli dataset imputati in un unico set di risultati finali. In pratica:
- I coefficienti (es. le stime di regressione) vengono semplicemente mediati tra le *m* analisi.
- Gli errori standard vengono combinati tenendo conto sia della variabilità *all’interno* di ciascuna analisi (quanto siamo incerti sulla stima in quel singolo dataset) sia della variabilità *tra* le diverse analisi (quanto le stime cambiano da un dataset imputato all’altro). Questo secondo pezzo è cruciale perché riflette l’incertezza dovuta al fatto che i dati mancanti sono stati, appunto, imputati.
Il risultato finale è un set di stime e di errori standard che tengono conto dell’incertezza dovuta ai dati mancanti, portando generalmente a risultati meno distorti e più affidabili rispetto all’eliminazione listwise.
Le Complicazioni delle Indagini LSA
Fin qui tutto bello, ma le indagini LSA aggiungono qualche livello di complessità:
- Struttura Multilivello: I dati sono spesso gerarchici (es. studenti dentro scuole). L’imputazione deve tener conto di questa struttura. Fortunatamente, oggi esistono metodi di MI multilivello molto flessibili.
- Pesi Campionari: Per generalizzare i risultati alla popolazione, le LSA richiedono l’uso di pesi campionari. Idealmente, anche il processo di imputazione dovrebbe tenerne conto (ad esempio, includendo il peso come variabile nel modello di imputazione).
- Valori Plausibili (Plausible Values – PVs): Per misurare le competenze (es. matematica, lettura), le LSA non forniscono un singolo punteggio per studente, ma un set di valori (di solito 5 o 10), chiamati valori plausibili. Questi sono già, di per sé, una forma di imputazione! Gestire dati mancanti *oltre* ai valori plausibili richiede un approccio ancora più sofisticato: bisogna imputare i dati mancanti separatamente per ciascun valore plausibile.

Un Tutorial Pratico con R e Blimp
Sembra complicato? Forse un po’, ma la buona notizia è che non dobbiamo reinventare la ruota. Esistono software che ci aiutano. L’articolo originale da cui prendo spunto propone un tutorial passo-passo usando software gratuito: il linguaggio statistico R e un programma chiamato Blimp.
Blimp è un software standalone (disponibile per Windows, Mac e Linux) specializzato nell’imputazione multipla, particolarmente potente per dati complessi come quelli multilivello. Si integra con R tramite il pacchetto `rblimp`.
Nel tutorial, si usa un esempio concreto con i dati PISA 2018 del Belgio. L’obiettivo è vedere come diverse variabili (a livello di studente e di scuola) siano associate ai punteggi in matematica (usando i 10 valori plausibili forniti). Le variabili includono genere, status socio-economico (ESCS), status immigratorio, percezione del comportamento degli studenti e della carenza di personale scolastico.
Per simulare uno scenario realistico, i ricercatori hanno preso il dataset originale (completo al 90%) e hanno introdotto artificialmente altri dati mancanti nella variabile ESCS (portando i casi completi all’82%), facendo in modo che la “mancanza” fosse correlata ai punteggi in matematica (simulando uno scenario MAR).
Hanno poi confrontato tre set di risultati per un modello di regressione multilivello (con pesi e valori plausibili):
- A: Modello sul dataset quasi completo (90% casi completi).
- B: Modello sul dataset con più dati mancanti (82% casi completi), usando l’eliminazione listwise implicita.
- C: Modello sui dati imputati (partendo dal dataset B e usando MI con R/Blimp, generando 20 imputazioni per ciascuno dei 10 valori plausibili, per un totale di 200 analisi da combinare).
Il Processo di Imputazione e Analisi (in breve)
Senza entrare nei dettagli tecnici del codice R (che comunque è disponibile nel repository GitHub dell’autore originale!), ecco i passi fondamentali seguiti:
- Preparazione dei Dati: Convertire il dataset in formato “lungo” (tall format) se ci sono valori plausibili. Assicurarsi che tutte le variabili siano numeriche (Blimp lo richiede), ricodificando temporaneamente i fattori.
- Specificare il Modello di Imputazione: Usare la funzione `rblimp` specificando: il dataset, le variabili nominali (categoriche), l’ID del cluster (la scuola), le variabili senza dati mancanti, e il modello statistico che si intende usare per l’analisi finale (il modello di imputazione deve essere “congeniale” a quello di analisi, includendo le stesse variabili, interazioni, ecc.). È importante includere anche il peso campionario come predittore nel modello di imputazione.
- Eseguire l’Imputazione: Lanciare l’imputazione (specificando il numero di imputazioni desiderate, es. `nimp=20`) per ogni valore plausibile (usando l’opzione `by_group(‘.pv’)`). Questo può richiedere un po’ di tempo!
- Controllo Qualità: Verificare i fattori di riduzione della scala potenziale (PSR o R-hat) per assicurarsi che il processo di imputazione sia convergito correttamente (valori vicini a 1 sono buoni).
- Estrarre e Preparare i Dati Imputati: Estrarre tutti i dataset imputati, ripristinare le etichette delle variabili fattore, e organizzarli in una lista che R possa processare.
- Analizzare i Dati Imputati: Eseguire il modello statistico desiderato (nel loro caso, un modello multilivello pesato con la funzione `mixPV` del pacchetto `MLMusingR`) su *ciascun* dataset nella lista. Per velocizzare, si può usare il calcolo parallelo se il computer ha più core.
- Combinare i Risultati: Usare le regole di Rubin (tramite funzioni apposite come `mixPVsummary`) per combinare i risultati delle 200 analisi in un unico set finale di stime e errori standard.

Il Verdetto: Ne Vale la Pena?
Assolutamente sì! I risultati dell’esempio sono stati chiari:
- Le stime ottenute con l’imputazione multipla (C) erano molto più simili a quelle ottenute dal dataset quasi completo (A).
- Le stime ottenute semplicemente ignorando i casi con dati mancanti aggiuntivi (B) mostravano differenze più marcate, specialmente per le variabili a livello di scuola e per l’intercetta del modello. Anche le stime della varianza tra scuole (ICC) erano più basse nel modello B.
Questo conferma, ancora una volta, che l’eliminazione listwise può portare a conclusioni diverse (e potenzialmente errate) rispetto a un trattamento più appropriato dei dati mancanti come l’imputazione multipla.
In Conclusione
So che affrontare i dati mancanti, specialmente con le complessità delle LSA, può sembrare scoraggiante. Ma oggi abbiamo strumenti potenti e gratuiti come R e Blimp che ci permettono di usare metodi robusti come l’imputazione multipla. L’eliminazione listwise è una pratica ormai superata e potenzialmente dannosa per la validità delle nostre ricerche.
Spero che questa chiacchierata vi abbia incuriosito e magari vi spinga a esplorare l’imputazione multipla per le vostre prossime analisi. Non è più una tecnica per soli specialisti di statistica; con le risorse disponibili, è alla portata di molti ricercatori applicati. Non abbiamo più scuse per buttare via dati preziosi!
Fonte: Springer
