まとめ

R による欠損データの補完処理

Michal Oleszak

Machine Learning Engineer

ケーススタディ:アフリカの市民的自由

head(africa)
  year      country gdp_pc  infl trade    civlib population
1 1972 Burkina Faso    377 -2.92 29.69 0.5000000    5848380
2 1973 Burkina Faso    376  7.60 31.31 0.5000000    5958700
3 1974 Burkina Faso    393  8.72 35.22 0.3333333    6075700
4 1975 Burkina Faso    416 18.76 40.11 0.3333333    6202000
5 1976 Burkina Faso    435 -8.40 37.76 0.5000000    6341030
6 1977 Burkina Faso    448 29.99 41.11 0.6666667    6486870
1 データソース: https://scholar.harvard.edu/rbates/data
R による欠損データの補完処理

不完全データのモデリング

目的:市民的自由 civlib と一人当たりGDP gdp_pc の関係を分析する。

  1. 不完全データの可視化
    • 欠損変数はどれか?
    • 欠損データのメカニズムは?
  2. 欠損データの補完と品質の確認
  3. 補完の不確実性を考慮したモデルの実行
R による欠損データの補完処理

使用する関数

  • aggr()
  • spineMiss()
  • mice() - with() - pool()
R による欠損データの補完処理

MICEによる補完品質の評価

  • mice() は複数の補完済みデータセットを生成します。
  • VIM の関数で各データセットを可視化するのは煩雑です。
  • mice パッケージは複数データセットを自動処理する独自のプロットを提供します。
nhanes_multiimp <- mice(nhanes, m = 5, defaultMethod = "pmm")
stripplot(nhanes_multiimp, 
          Weight ~ Height | .imp,
          pch = 20, cex = 2)
R による欠損データの補完処理

ストリッププロット

身長と体重の散布図が6つ並んだグリッド。補完値が色で強調表示されており、観測値と区別がつかないほど近い。

R による欠損データの補完処理

学んだことを実践しましょう!

R による欠損データの補完処理

Preparing Video For Download...