Bắt đầu ngayBắt đầu miễn phí

So sánh các hàm liên kết với một ngưỡng cố định

Trong bài tập cuối cùng này, bạn sẽ ước lượng một mô hình với từng hàm liên kết trong ba hàm (logit, probit và cloglog), dự đoán cho tập kiểm tra, phân loại dự đoán vào nhóm phù hợp (vỡ nợ so với không vỡ nợ) với một ngưỡng cho trước, tạo ma trận nhầm lẫn và tính độ chính xác (accuracy) và độ nhạy (sensitivity) cho từng mô hình dựa trên giá trị ngưỡng! Thật tuyệt, đến đây bạn đã học được rất nhiều rồi. Cuối cùng, bạn sẽ cố gắng xác định mô hình nào hoạt động tốt nhất về độ chính xác với giá trị ngưỡng đã cho!

Lưu ý rằng khác biệt giữa các mô hình thường sẽ rất nhỏ, và kết quả phụ thuộc vào ngưỡng được chọn. Kết quả quan sát (vỡ nợ so với không vỡ nợ) được lưu trong true_val trong bảng điều khiển.

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

Xem khóa học

Hướng dẫn bài tập

  • Ước lượng ba mô hình hồi quy logistic lần lượt với các liên kết logit, probitcloglog. Một phần mã đã được cung cấp. Dùng age, emp_cat, ir_catloan_amnt làm biến dự báo.
  • Tạo dự đoán cho tất cả các mô hình trên test_set.
  • Dùng ngưỡng 14% để phân loại dự đoán cho từng mô hình, nhằm đánh giá hiệu năng của chúng.
  • Tạo ma trận nhầm lẫn cho cả ba mô hình.
  • Cuối cùng, tính độ chính xác phân loại cho cả ba mô hình.

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.

# Fit the logit, probit and cloglog-link logistic regression models
log_model_logit <- glm(loan_status ~ age + emp_cat + ir_cat + loan_amnt,
                       family = binomial(link = logit), data = training_set)
log_model_probit <- 

log_model_cloglog <-  
  
# Make predictions for all models using the test set
predictions_logit <- predict(log_model_logit, newdata = test_set, type = "response")
predictions_probit <- 
predictions_cloglog <- 
  
# Use a cut-off of 14% to make binary predictions-vectors
cutoff <- 0.14
class_pred_logit <- ifelse(predictions_logit > cutoff, 1, 0)
class_pred_probit <- 
class_pred_cloglog <- 
  
# Make a confusion matrix for the three models
tab_class_logit <- table(true_val,class_pred_logit)
tab_class_probit <- 
tab_class_cloglog <- 
  
# Compute the classification accuracy for all three models
acc_logit <- sum(diag(tab_class_logit)) / nrow(test_set)
acc_probit <- 
acc_cloglog <- 
Chỉnh sửa và Chạy Mã