Meccanismi dei dati mancanti

Gestione dei dati mancanti con imputazioni in R

Michal Oleszak

Machine Learning Engineer

Meccanismi dei dati mancanti: panoramica

I problemi di dati mancanti si dividono in tre categorie. Distinguerle è fondamentale perché ognuna richiede soluzioni diverse.

  • Missing Completely at Random (MCAR).
  • Missing at Random (MAR).
  • Missing not at Random (MNAR).
Gestione dei dati mancanti con imputazioni in R

Missing Completely at Random (MCAR)

Le posizioni dei valori mancanti sono del tutto casuali e non dipendono da altri dati.

Esempio:

Un sensore meteo misura la temperatura e invia i dati a un database. Alcune voci mancano quando il sensore si è guastato.

Gestione dei dati mancanti con imputazioni in R

Missing at Random (MAR)

Le posizioni dei valori mancanti dipendono da altri dati osservati.

Esempio:

Mancano alcune temperature quando il sensore è stato spento per manutenzione. Poiché il team non lavora nei weekend, le posizioni dei mancanti dipendono dal giorno della settimana.

Gestione dei dati mancanti con imputazioni in R

Missing not at Random (MNAR)

Le posizioni dei valori mancanti dipendono dai valori mancanti stessi.

Esempio:

Con freddo estremo il sensore si blocca e smette di funzionare. Non registra quindi temperature molto basse. Le posizioni dei mancanti nella variabile temperatura dipendono dai valori della variabile stessa.

Gestione dei dati mancanti con imputazioni in R

Gestire i meccanismi

E se eliminassimo le osservazioni incomplete?

  • Se i dati sono MCAR, li rimuovi e perdi informazione.
  • Se i dati sono MAR o MNAR, rimuoverli introduce bias nei modelli basati su questi dati.
  • In tal caso, bisogna imputare i mancanti.
  • Molti metodi di imputazione assumono MAR, quindi è importante rilevarlo.
Gestione dei dati mancanti con imputazioni in R

Test statistici

Esempio: t-test per differenza tra medie

  1. Fai un’ipotesi (nulla): le medie sono uguali.
  2. Calcola la statistica di test dai dati.
  3. Calcola il p-value: quanto è probabile ottenere quella statistica assumendo vera l’ipotesi nulla?

p-value piccolo → rifiuta l’ipotesi nulla → medie diverse


p-value grande → non rifiutare l’ipotesi nulla → medie uguali

Gestione dei dati mancanti con imputazioni in R

Test per MAR

Obiettivo: verificare se la percentuale di valori mancanti in una variabile cambia al variare di un’altra.

Esempio: la percentuale di mancanti in PhysActive è diversa tra maschi e femmine?

Procedura:

  1. Crea una variabile dummy che indica se PhysActive è mancante.
  2. Usa un t-test per verificare se la media di questa dummy differisce tra maschi e femmine.
  3. Se il p-value è piccolo (es. < 0.05), le medie sono diverse → i dati sono MAR.
Gestione dei dati mancanti con imputazioni in R

Test in pratica

nhanes <- nhanes %>% 
  mutate(missing_phys_active = is.na(PhysActive))
missing_phys_active_male <- nhanes %>% 
  filter(Gender == "male") %>% 
  pull(missing_phys_active)

missing_phys_active_female <- nhanes %>% 
  filter(Gender == "female") %>% 
  pull(missing_phys_active)
Gestione dei dati mancanti con imputazioni in R

Interpretare i risultati

t.test(missing_phys_active_female, missing_phys_active_male)
    Welch Two Sample t-test

data:  missing_phys_active_female and missing_phys_active_male
t = -1.7192, df = 781.18, p-value = 0.08597
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.044414688  0.002940477
sample estimates:
 mean of x  mean of y 
0.02083333 0.04157044
Gestione dei dati mancanti con imputazioni in R

Passons à la pratique !

Gestione dei dati mancanti con imputazioni in R

Preparing Video For Download...