Mnohonásobná imputace řetězenými rovnicemi

Práce s chybějícími daty pomocí imputace v R

Michal Oleszak

Machine Learning Engineer

Algoritmus MICE

Graf popisující čtyři fáze algoritmu MICE. Z uzlu „neúplná data" vedou tři šipky do uzlů „imputovaná data" označené funkcí „mice()". Každý z těchto uzlů je spojen s uzlem „výsledky analýzy" šipkou označenou funkcí „with()". Tyto uzly jsou propojeny s jedním konečným uzlem „sdružené výsledky" šipkou označenou „pool()".

1 van Buuren, S., & Groothuis-Oudshoorn, C. G. M. (2011). mice: Multivariate Imputation by Chained Equations in R. Journal of statistical software, 45(3).
Práce s chybějícími daty pomocí imputace v R

MICE: výhody a nevýhody

Výhody:

  • Vyžaduje méně replikací než bootstrap.
  • Funguje pro MAR i MCAR data.
  • Umožňuje analýzu citlivosti pro MNAR data.

Nevýhody:

  • Funguje pouze s vybranými imputačními metodami.
  • Vyžaduje více ladění (výběr modelu, volba prediktorů).
Práce s chybějícími daty pomocí imputace v R

Postup MICE: mice – with – pool

Imputace nhanes 20krát:

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

Přizpůsobení lineárního regresního modelu každé imputované sadě:

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

Sdružení výsledků regrese:

lm_pooled <- pool(lm_multiimp)
Práce s chybějícími daty pomocí imputace v R

Analýza sdružených výsledků

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
Práce s chybějícími daty pomocí imputace v R

MICE: dostupné metody

Tabulka z článku van Buuren et al. zobrazující imputační modely dostupné v MICE. Každý model je popsán názvem, klíčovým slovem, typem proměnné a informací, zda se jedná o výchozí možnost.

1 van Buuren, S., & Groothuis-Oudshoorn, C. G. M. (2011). mice: Multivariate Imputation by Chained Equations in R. Journal of statistical software, 45(3).
Práce s chybějícími daty pomocí imputace v R

Volba metod podle typu proměnné

mice() přijímá argument defaultMethod: vektor 4 řetězců určující metody pro:

  1. Spojité proměnné
  2. Binární proměnné
  3. Kategorické proměnné (neuspořádané faktory)
  4. Faktorové proměnné (uspořádané faktory)
nhanes_multiimp <- mice(nhanes, m = 20, 
                        defaultMethod = c("pmm", "logreg", "polyreg", "polr"))
Práce s chybějícími daty pomocí imputace v R

Matice prediktorů

predictorMatrix určuje, které proměnné se používají k imputaci ostatních.

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
Práce s chybějícími daty pomocí imputace v R

Volba prediktorů pro každou proměnnou

  • Ideálně by měl být proveden řádný výběr modelu.
  • Rychlá alternativa: použít proměnné korelované s cílovou proměnnou.
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
...
Práce s chybějícími daty pomocí imputace v R

Pojďme procvičit imputaci pomocí MICE!

Práce s chybějícími daty pomocí imputace v R

Preparing Video For Download...