Bù thiếu đa lần bằng chuỗi phương trình (MICE)

Xử lý dữ liệu khuyết bằng Imputation trong R

Michal Oleszak

Machine Learning Engineer

Thuật toán MICE

Sơ đồ mô tả bốn giai đoạn của thuật toán MICE. Từ nút "incomplete data", ba mũi tên đến ba nút "imputed data" với nhãn hàm "mice()". Mỗi nút này nối tới nút "analysis results" với mũi tên nhãn "with()". Tất cả nối đến nút cuối "pooled results" với mũi tên nhãn "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).
Xử lý dữ liệu khuyết bằng Imputation trong R

MICE: ưu & nhược điểm

Ưu điểm:

  • Cần ít lần lặp lại hơn bootstrap.
  • Hoạt động với dữ liệu MAR và MCAR.
  • Cho phép phân tích nhạy cảm với dữ liệu MNAR.

Nhược điểm:

  • Chỉ dùng được với các phương pháp bù thiếu đã hỗ trợ.
  • Cần tinh chỉnh nhiều hơn (chọn mô hình, chọn biến dự báo).
Xử lý dữ liệu khuyết bằng Imputation trong R

Quy trình mice: mice - with - pool

Bù thiếu nhanes 20 lần:

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

Ước lượng hồi quy tuyến tính cho mỗi bộ dữ liệu đã bù:

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

Gộp kết quả hồi quy:

lm_pooled <- pool(lm_multiimp)
Xử lý dữ liệu khuyết bằng Imputation trong R

Phân tích kết quả đã gộp

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
Xử lý dữ liệu khuyết bằng Imputation trong R

MICE: phương pháp sẵn có

Bảng từ bài của van Buuren et al. liệt kê các mô hình bù thiếu có trong MICE. Mỗi mô hình có tên, từ khóa, kiểu biến áp dụng và trạng thái mặc định.

1 van Buuren, S., & Groothuis-Oudshoorn, C. G. M. (2011). mice: Multivariate Imputation by Chained Equations in R. Journal of statistical software, 45(3).
Xử lý dữ liệu khuyết bằng Imputation trong R

Chọn phương pháp theo kiểu biến

mice() có đối số defaultMethod: một vector 4 chuỗi, chỉ định phương pháp cho:

  1. Biến liên tục
  2. Biến nhị phân
  3. Biến phân loại (factor không thứ tự)
  4. Biến factor (có thứ tự)
nhanes_multiimp <- mice(nhanes, m = 20, 
                        defaultMethod = c("pmm", "logreg", "polyreg", "polr"))
Xử lý dữ liệu khuyết bằng Imputation trong R

Ma trận dự báo (predictor matrix)

predictorMatrix kiểm soát biến nào dùng để bù thiếu cho biến khác.

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
Xử lý dữ liệu khuyết bằng Imputation trong R

Chọn biến dự báo cho từng biến

  • Lý tưởng là thực hiện chọn mô hình đúng đắn.
  • Cách nhanh: dùng các biến tương quan với biến mục tiêu.
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
...
Xử lý dữ liệu khuyết bằng Imputation trong R

Hãy luyện tập bù thiếu với MICE!

Xử lý dữ liệu khuyết bằng Imputation trong R

Preparing Video For Download...