開始使用免費開始

用 ROC 曲線比較羅吉斯迴歸模型

在 R 中可以用 pROC 套件輕鬆建立 ROC 曲線。來看看本課程先前用到的 4 個羅吉斯迴歸模型之間,ROC 曲線是否有明顯差異。先提供一些說明:

  • predictions_logit:使用預設的 logit 連結函式所做的違約機率(PD)預測,包含變數 ageemp_catir_catloan_amnt
  • predictions_probit:使用 probit 連結所做的 PD 預測,包含變數 ageemp_catir_catloan_amnt
  • predictions_cloglog:使用 cloglog 連結所做的 PD 預測,包含變數 ageemp_catir_catloan_amnt
  • predictions_all_full:使用預設的 logit 連結所做的 PD 預測,並納入資料集中全部 7 個變數。

你會先把這 4 個模型的 ROC 曲線畫在同一張圖上,接著再查看曲線下面積。

本練習屬於課程

R 的信用風險建模

檢視課程

練習說明

  • 在 R 主控台載入 pROC 套件。
  • 使用 roc(response, predictor) 為 4 個羅吉斯迴歸模型建立 ROC 物件。記得 response 是 test_set 中的貸款狀態指標,可用 test_set$loan_status 取得。
  • 用前一步建立的物件來畫 ROC 曲線。要把它們畫在同一張圖上,第一條(ROC_logit)用 plot(),其餘三條則用 lines() 加到同一張圖上。
  • 使用 col 參數變更曲線顏色:ROC_probit"blue"ROC_cloglog"red"ROC_all_full"green"。請注意,和影片中的說明不同,這裡 x 軸標籤是 Specificity,而不是「1-Specificity」,因此座標軸會從左側的 1 走到右側的 0。
  • 看起來連結函式對 ROC 的影響不大,關鍵在於模型是否納入更多變數。若要更精確比較 ROC 表現,請查看 AUC,使用函式 auc()

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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



編輯並執行程式碼