Meervoudige imputatie met chained equations

Omgaan met missende data met imputaties in R

Michal Oleszak

Machine Learning Engineer

Het MICE-algoritme

Een schema met vier stappen van het MICE-algoritme. Vanuit "incomplete data" gaan drie pijlen naar "imputed data", met "mice()" op de pijlen. Deze knooppunten gaan met pijlen "with()" naar "analysis results". Die gaan met pijlen "pooled()" naar het eindknooppunt "pooled results".

1 van Buuren, S., & Groothuis-Oudshoorn, C. G. M. (2011). mice: Multivariate Imputation by Chained Equations in R. Journal of statistical software, 45(3).
Omgaan met missende data met imputaties in R

MICE: plus- en minpunten

Pluspunten:

  • Minder replicaties nodig dan bootstrap.
  • Werkt voor MAR- en MCAR-data.
  • Maakt gevoeligheidsanalyse voor MNAR mogelijk.

Minpunten:

  • Werkt alleen met geselecteerde imputatiemethoden.
  • Vergt meer afstelling (modelselectie, predictoren kiezen).
Omgaan met missende data met imputaties in R

De mice-flow: mice - with - pool

Imputeer nhanes 20 keer:

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

Pas voor elke geimputeerde set een lineair regressiemodel toe:

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

Pool de regressieresultaten:

lm_pooled <- pool(lm_multiimp)
Omgaan met missende data met imputaties in R

Gecombineerde resultaten analyseren

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
Omgaan met missende data met imputaties in R

MICE: beschikbare methoden

Een tabel uit het artikel van van Buuren e.a. met imputationmodellen in MICE. Elk model heeft een naam, trefwoord, geschikt variabeletype en of het de standaardoptie is.

1 van Buuren, S., & Groothuis-Oudshoorn, C. G. M. (2011). mice: Multivariate Imputation by Chained Equations in R. Journal of statistical software, 45(3).
Omgaan met missende data met imputaties in R

Methoden kiezen per variabeletype

mice() heeft het argument defaultMethod: een vector van 4 strings, met methoden voor:

  1. Continue variabelen
  2. Binaire variabelen
  3. Categorische variabelen (ongeordende factoren)
  4. Factorvariabelen (geordende factoren)
nhanes_multiimp <- mice(nhanes, m = 20, 
                        defaultMethod = c("pmm", "logreg", "polyreg", "polr"))
Omgaan met missende data met imputaties in R

Predictormatrix

De predictorMatrix bepaalt welke variabelen andere variabelen imputeren.

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
Omgaan met missende data met imputaties in R

Predictoren kiezen per variabele

  • Idealiter voer je een goede modelselectie uit.
  • Snelle optie: gebruik variabelen die met het doel correleren.
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
...
Omgaan met missende data met imputaties in R

Laten we met MICE imputeren!

Omgaan met missende data met imputaties in R

Preparing Video For Download...