1. 학습
  2. /
  3. 강의
  4. /
  5. R로 배우는 신용 위험 모델링

Connected

연습 문제

로지스틱 회귀 모델 비교를 위한 ROC 곡선

R의 pROC 패키지를 사용하면 ROC 곡선을 쉽게 만들 수 있어요. 이 강의 전반에서 사용했던 네 가지 로지스틱 회귀 모델의 ROC 곡선에 큰 차이가 있는지 살펴봅시다. 간단히 정리하면:

  • predictions_logit에는 기본 logit 링크를 사용해 age, emp_cat, ir_cat, loan_amnt 변수를 포함한 PD(probability of default) 예측값이 들어 있어요.
  • predictions_probit에는 probit을 사용해 age, emp_cat, ir_cat, loan_amnt 변수를 포함한 PD 예측값이 들어 있어요.
  • predictions_cloglog에는 cloglog 링크를 사용해 age, emp_cat, ir_cat, loan_amnt 변수를 포함한 PD 예측값이 들어 있어요.
  • predictions_all_full에는 기본 logit 링크를 사용해 데이터 세트의 7개 모든 변수를 포함한 PD 예측값이 들어 있어요.

먼저 이 네 가지 모델의 ROC 곡선을 한 그래프에 그릴 거예요. 그다음 곡선 아래 면적(AUC)을 확인해 보겠습니다.

지침

100 XP
  • R 콘솔에서 pROC 패키지를 로드하세요.
  • 함수 roc(response, predictor)를 사용해 네 가지 로지스틱 회귀 모델의 ROC 객체를 만드세요. 응답 변수는 test_set에 있는 대출 상태 지표이며, test_set$loan_status로 가져올 수 있어요.
  • 만들어 둔 객체들을 사용해 ROC 곡선을 그리세요. 네 곡선을 하나의 그래프에 그리려면 첫 번째 ROC(ROC_logit)는 plot()으로 그린 뒤, 나머지 세 모델은 같은 그래프에 [lines()](https://www.rdocumentation.org/packages/graphics/functions/lines to add the ROC-curves)로 추가하세요.
  • col 인자를 사용해 ROC_probit은 "blue", ROC_cloglog는 "red", ROC_all_full은 "green" 색으로 설정하세요. 참고로, 영상에서와 달리 여기서는 x축 라벨이 Specificity이며 "1-Specificity"가 아니어서, 축이 왼쪽에서 1, 오른쪽에서 0으로 표시됩니다.
  • 여기서는 링크 함수가 ROC에 큰 영향을 주지 않는 것으로 보이며, 더 많은 변수를 포함하는 모델이 ROC를 개선하는 주된 요인입니다. ROC 곡선의 성능을 정량적으로 확인하려면 auc() 함수를 사용해 AUC를 확인하세요.