Đường cong ROC để so sánh các mô hình hồi quy logistic
Bạn có thể tạo đường cong ROC rất dễ dàng bằng gói pROC trong R. Hãy xem liệu có khác biệt lớn nào giữa các đường cong ROC của bốn mô hình hồi quy logistic đã sử dụng xuyên suốt khóa học này không. Lưu ý nhỏ:
predictions_logitchứa các dự đoán xác suất vỡ nợ (PD) dùng liên kết logit mặc định và bao gồm các biếnage,emp_cat,ir_catvàloan_amnt.predictions_probitchứa dự đoán PD dùng probit và bao gồm các biếnage,emp_cat,ir_catvàloan_amnt.predictions_cloglogchứa dự đoán PD dùng liên kết cloglog và bao gồm các biếnage,emp_cat,ir_catvàloan_amnt.predictions_all_fullchứa dự đoán PD dùng liên kết logit mặc định và bao gồm cả bảy biến trong bộ dữ liệu.
Trước tiên, bạn sẽ vẽ các đường cong ROC cho bốn mô hình này trên cùng một biểu đồ. Sau đó, bạn sẽ xem diện tích dưới đường cong.
Bài tập này là một phần của khóa học
Mô hình hóa rủi ro tín dụng bằng R
Hướng dẫn bài tập
- Nạp gói pROC trong R-console của bạn.
- Tạo các đối tượng ROC cho bốn mô hình hồi quy logistic bằng hàm
roc(response, predictor). Nhớ rằng response là chỉ báo trạng thái khoản vay trongtest_set, có thể lấy bằngtest_set$loan_status. - Dùng các đối tượng đã tạo để vẽ các đường cong ROC. Để vẽ tất cả trên cùng một biểu đồ, dùng
plot()cho đường ROC đầu tiên (choROC_logit), và dùng [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines to add the ROC-curves) để thêm đường cong ROC của ba mô hình còn lại vào cùng biểu đồ. - Dùng đối số
colđể đổi màu đường cong củaROC_probitthành"blue",ROC_cloglogthành"red"vàROC_all_fullthành"green". Lưu ý rằng, khác với nội dung đã thảo luận trong video, nhãn trục x là Specificity chứ không phải "1-Specificity", dẫn đến trục chạy từ 1 ở phía bên trái xuống 0 ở phía bên phải. - Có vẻ như hàm liên kết không ảnh hưởng nhiều đến ROC trong trường hợp này; yếu tố chính giúp ROC tốt hơn là đưa thêm biến vào mô hình. Để có cái nhìn chính xác về hiệu năng của các đường ROC, hãy xem AUC bằng hàm auc().
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.
# Load the pROC-package
# Construct the objects containing ROC-information
ROC_logit <- roc(test_set$loan_status, predictions_logit)
ROC_probit <-
ROC_cloglog <-
ROC_all_full <-
# Draw all ROCs on one plot
plot(___)
lines(___, col=___)
lines(___, col=___)
lines(___, col=___)
# Compute the AUCs