Imputazione multipla con equazioni concatenate

Gestione dei dati mancanti con imputazioni in R

Michal Oleszak

Machine Learning Engineer

L’algoritmo MICE

Un grafico con quattro fasi dell’algoritmo MICE. Dal nodo "incomplete data" partono tre frecce verso tre nodi "imputed data", con la funzione "mice()" sulle frecce. Ciascuno è collegato a un nodo "analysis results" con una freccia etichettata "with()". Tutti puntano allo stesso nodo finale "pooled results" con frecce "pooled()".

1 van Buuren, S., & Groothuis-Oudshoorn, C. G. M. (2011). mice: Multivariate Imputation by Chained Equations in R. Journal of statistical software, 45(3).
Gestione dei dati mancanti con imputazioni in R

MICE: pro e contro

Pro:

  • Richiede meno repliche del bootstrap.
  • Funziona per dati MAR e MCAR.
  • Consente analisi di sensibilità verso dati MNAR.

Contro:

  • Funziona solo con metodi di imputazione supportati.
  • Richiede più tuning (selezione modello, scelta predittori).
Gestione dei dati mancanti con imputazioni in R

Flusso mice: mice - with - pool

Imputa nhanes 20 volte:

library(mice)
nhanes_multiimp <- mice(nhanes, m = 20)

Stima un modello di regressione lineare su ogni dataset imputato:

lm_multiimp <- with(nhanes_multiimp, lm(Weight ~ Height + TotChol + PhysActive))

Unisci i risultati della regressione:

lm_pooled <- pool(lm_multiimp)
Gestione dei dati mancanti con imputazioni in R

Analisi dei risultati uniti

summary(lm_pooled, conf.int = TRUE, conf.level = 0.95)
            estimate std.error statistic      df p.value    2.5 %   97.5 %
(Intercept) -122.964    10.933   -11.247 735.389   0.000 -144.428 -101.500
Height         1.086     0.060    18.158 796.106   0.000    0.968    1.203
TotChol        2.653     0.884     3.003 305.460   0.003    0.915    4.392
PhysActive    -1.746     1.422    -1.228 733.957   0.220   -4.536    1.045
Gestione dei dati mancanti con imputazioni in R

MICE: metodi disponibili

Una tabella dell’articolo di van Buuren et al. con i modelli di imputazione disponibili in MICE. Ogni modello è descritto da nome, keyword, tipo di variabile supportata e se è l’opzione predefinita.

1 van Buuren, S., & Groothuis-Oudshoorn, C. G. M. (2011). mice: Multivariate Imputation by Chained Equations in R. Journal of statistical software, 45(3).
Gestione dei dati mancanti con imputazioni in R

Scelta dei metodi per tipo di variabile

mice() ha l’argomento defaultMethod: un vettore di 4 stringhe che specifica i metodi per:

  1. Variabili continue
  2. Variabili binarie
  3. Variabili categoriche (fattori non ordinati)
  4. Variabili fattore (fattori ordinati)
nhanes_multiimp <- mice(nhanes, m = 20, 
                        defaultMethod = c("pmm", "logreg", "polyreg", "polr"))
Gestione dei dati mancanti con imputazioni in R

Matrice dei predittori

La predictorMatrix controlla quali variabili imputano le altre.

nhanes_multiimp <- mice(nhanes, m = 20)
nhanes_multiimp$predictorMatrix
           Age Gender Weight Height Diabetes TotChol Pulse PhysActive
Age          0      1      1      1        1       1     1          1
Gender       1      0      1      1        1       1     1          1
Weight       1      1      0      1        1       1     1          1
Height       1      1      1      0        1       1     1          1
Diabetes     1      1      1      1        0       1     1          1
TotChol      1      1      1      1        1       0     1          1
Pulse        1      1      1      1        1       1     0          1
PhysActive   1      1      1      1        1       1     1          0
Gestione dei dati mancanti con imputazioni in R

Scelta dei predittori per variabile

  • Idealmente, andrebbe fatta una vera selezione del modello.
  • Alternativa rapida: usa variabili correlate al target.
pred_mat <- quickpred(nhanes, mincor = 0.25)
nhanes_multiimp <- mice(nhanes, m = 20, predictorMatrix = pred_mat)
print(pred_mat)
           Age Gender Weight Height Diabetes TotChol Pulse PhysActive
Age          0      0      0      0        0       0     0          0
Gender       0      0      0      0        0       0     0          0
Weight       1      1      0      0        0       0     1          0
...
Gestione dei dati mancanti con imputazioni in R

Ayo berlatih!

Gestione dei dati mancanti con imputazioni in R

Preparing Video For Download...