Xây dựng mô hình hồi quy stepwise
Khi thiếu hiểu biết chuyên môn theo lĩnh vực, hồi quy stepwise có thể giúp bạn tìm ra các biến dự báo quan trọng nhất cho kết quả quan tâm.
Trong bài tập này, bạn sẽ dùng cách tiếp cận stepwise tiến (forward) để thêm các biến dự báo vào mô hình từng biến một cho đến khi không còn thấy lợi ích bổ sung. Bộ dữ liệu donors đã được nạp sẵn cho bạn.
Bài tập này là một phần của khóa học
Học có giám sát trong R: Phân loại
Hướng dẫn bài tập
- Dùng giao diện công thức của R với
glm()để chỉ định mô hình cơ sở không có biến dự báo. Đặt biến giải thích bằng1. - Tiếp tục dùng giao diện công thức của R với
glm()để chỉ định mô hình với tất cả biến dự báo. - Áp dụng
step()lên các mô hình này để thực hiện hồi quy stepwise tiến. Đặt đối số thứ nhất lànull_modelvà đặtdirection = "forward". Bước này có thể mất một lúc (tới 10 hoặc 15 giây) vì máy tính phải ước lượng khá nhiều mô hình khác nhau để chọn biến theo stepwise. - Tạo một vector xác suất dự đoán bằng hàm
predict(). - Vẽ đường cong ROC với
roc()vàplot()và tính AUC của mô hình stepwise bằngauc().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Specify a null model with no predictors
null_model <- ___(___, data = ___, family = "___")
# Specify the full model using all of the potential predictors
full_model <- ___
# Use a forward stepwise algorithm to build a parsimonious model
step_model <- step(___, scope = list(lower = null_model, upper = full_model), direction = "___")
# Estimate the stepwise donation probability
step_prob <- ___
# Plot the ROC of the stepwise model
library(pROC)
ROC <- ___
plot(___, col = "red")
auc(___)