整合應用

在 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 Data source: 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 中以插補處理遺漏值

長條帶圖(Strip plot)

6 格身高對體重散佈圖網格。每張圖以顏色標示插補值。插補值與觀測值接近,除了顏色外幾乎難以分辨。

在 R 中以插補處理遺漏值

把所學用起來練習一下!

在 R 中以插補處理遺漏值

Preparing Video For Download...