Thiếu dữ liệu: điều gì có thể sai

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

Michal Oleszak

Machine Learning Engineer

Bạn sẽ học gì

Sau khóa học này, bạn sẽ có thể:

  • Hiểu vì sao dữ liệu thiếu cần xử lý đặc biệt.
  • Dùng kiểm định thống kê và trực quan hóa để phát hiện mẫu hình của dữ liệu thiếu.
  • Thực hiện bù khuyết (imputation) bằng các mô hình thống kê và học máy.
  • Đưa bất định từ bù khuyết vào phân tích và dự báo, giúp chúng vững hơn.
Xử lý dữ liệu khuyết bằng Imputation trong R

Yêu cầu tiên quyết

Khóa học giả định bạn đã quen với các chủ đề sau:

  • Thao tác dữ liệu cơ bản với dplyr và toán tử pipe (%>%).
  • Mô hình hồi quy tuyến tính và logistic (lm(), glm()).
  • Xác suất cơ bản: biến ngẫu nhiên, phân phối.
Xử lý dữ liệu khuyết bằng Imputation trong R

Tổng quan về dữ liệu thiếu

Cách tốt nhất để xử lý dữ liệu thiếu là không để chúng xảy ra.

Đáng tiếc, dữ liệu thiếu ở khắp nơi:

  • Không phản hồi trong khảo sát.
  • Lỗi kỹ thuật ở thiết bị thu thập.
  • Ghép dữ liệu từ nhiều nguồn.
  • ...

Chúng ta phải luôn cảnh giác với dữ liệu thiếu.

1 Orchard, T., and M. A. Woodbury. 1972. “A Missing Information Principle: Theory and Applications.” In Proceedings of the Sixth Berkeley Symposium on Mathematical Statistics and Probability, 1:697–715.
Xử lý dữ liệu khuyết bằng Imputation trong R

Dữ liệu NHANES

head(nhanes, 3)
  Age Gender Weight Height Diabetes TotChol Pulse PhysActive
1  16   male   73.2  172.0    FALSE    3.00    76       TRUE
2  17   male   72.3  176.0    FALSE    2.61    74       TRUE
3  12   male   57.7  158.9    FALSE    4.27    80       TRUE
nhanes %>% is.na() %>% colSums()
Age     Gender     Weight     Height   Diabetes    TotChol    Pulse   PhysActive 
0       0          9          8        1            85        32      26
Xử lý dữ liệu khuyết bằng Imputation trong R

Hồi quy tuyến tính với dữ liệu không đầy đủ

model_1 <- lm(Diabetes ~ Age + Weight, 
              data = nhanes)

Các phần của summary(model_1):

Residual standard error: 0.08571 on 804 
degrees of freedom (10 observations 
deleted due to missingness)

Adjusted R-squared:  0.005706 
F-statistic: 3.313 on 2 and 804 DF,  
p-value: 0.03691
model_2 <- lm(Diabetes ~ Age + Weight +
              TotChol, data = nhanes)

Các phần của summary(model_2):

Residual standard error: 0.08264 on 718 
degrees of freedom (95 observations
deleted due to missingness)

Adjusted R-squared:  0.008422 
F-statistic: 3.041 on 3 and 718 DF,
p-value: 0.02834
Xử lý dữ liệu khuyết bằng Imputation trong R

Điểm chính

  • Đôi khi phần mềm thống kê âm thầm bỏ qua dữ liệu thiếu.
  • Hệ quả: có thể không so sánh được các mô hình khác nhau.
  • Đơn giản loại bỏ mọi quan sát không đầy đủ có thể gây sai lệch.
  • Nếu có dữ liệu thiếu, cần xử lý đúng cách.
Xử lý dữ liệu khuyết bằng Imputation trong R

Ayo berlatih!

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

Preparing Video For Download...