風控領域常用評估指標:ROC/AUC、KS、Gain、Lift等


混淆矩陣

KS曲線與ROC曲線

KS曲線

KS檢驗:比較頻率分布\(f(x)\)與理論分布\(g(x)\)或兩個觀測值分布的是否一致檢驗方法,原假設兩個數據分布一致或數據符合理論分布,統計量\(D=max|f(x)-g(x)|\)

KS值計算步驟:

  1. 對變量進行分箱binning,可以選擇等頻、等距或自定義距離;
  2. 計算每個分箱區間的好賬戶數Goods與壞賬戶數Bads;
  3. 計算每個分箱區間: (累計好賬戶數/總好賬戶數) Good%、(累計壞賬戶數/總壞賬戶數) Bad%
  4. 每個評分區間: abs(累計好賬戶占比-累計壞賬戶占比) abs(累計Good%-累計Bad%)
  5. max{abs(累計Good%-累計Bad%)}即為評分卡的KS值。

KS曲線繪制步驟:

  1. 將預測出的正例概率結果從大到小排序;
  2. 按順序選取截斷點,並計算TPR與FPR;
  3. 橫軸為樣本的占比百分比(最大100%),縱軸分別為TPR與FPR,即得到KS曲線;
  4. TPR與FPR曲線最大間隔距離就是KS值。

\(f(s|P)\)為正樣本預測值的累積分布函數cdf,\(f(s|N)\)為負樣本在預測值上的累積分布函數,則\(KS=\max_{s}{|f(s|P)-f(s|N)|}\)

注:此表中KS=max{|累計壞人占比-累計好人占比|},Lift=Cum Bad Rate/Cum Total Rate

根據上圖與表中的內容得到:

  1. 模型分數越高,逾期率越低,代表是信用評分。因此低分段的Bad Rate相對於高分段更高,Cum Bad Rate曲線增長速率比Cum Good Rate更快,Cum Bad Rate曲線在Cum Good Rate上方。
  2. 每個分箱里的樣本數基本相同,說明是等頻分箱。分箱時需要考慮樣本量是否滿足統計意義。
  3. 設策略cutoff為0.65(低於這個值的用戶預測為Bad, 將會被拒絕),查表可知低於cutoff的Cum Bad Rate為82.75%,即將拒絕約82.75%的壞賬戶。
  4. 根據Bad Rate變化趨勢,模型的排序性很好。若是A卡,則對排序性要求就比較高,因為需要根據風險等級對用戶風險定價。
  5. 模型的KS達到53.06%,區分度很強,這是設定cutoff為0.65時達到的最理想的狀態。實際中由於需要權衡通過率與壞賬率之間的關系,一般不會設置在理想值。因此,KS統計量是好壞距離或區分度的上限。
  6. 通常模型的KS很少能到52%,因此需要檢驗模型是否發生過擬合,或數據信息泄露
KS% 好壞區分能力
<20 不建議采用
20~40 較好
41~50 良好
51~60 很強
61~75 非常強
>75 能力強但疑似有誤

ROC曲線

ROC曲線繪制步驟:

  1. 先按分數升序排序,計算某個閾值T下的TPR與FPR
  2. 重復步驟1多次,在不同閾值T下計算得到多個TPR與FPR
  3. 以FPR為橫軸,TPR為縱軸,畫出ROC曲線
    注:
    步驟1中,低於T時預測為Bad。
    TPR=(預測為Bad & 真實為Bad)/整體真實為Bad
    FPR=(預測為Bad & 真實為Good)/整體真實為Good
    因此可將TPR理解為累積正樣本率Cum Bad Rate,FPR理解為累積負樣本率Cum Good Rate

樣本分布與ROC曲線之間的關系:

KS曲線與ROC曲線之間的關系

洛倫茲曲線與Gini系數


上圖即為洛倫茲曲線。In economics, the Lorenz curve is a graphical representation of the distribution of income or of wealth.


Lorenz curve上點表示含義:如“the bottom 20% of all households have 10% of the total income.”
理想狀態下,每個人收入都相等,此時the bottom N% of society would always have N% of the income,圖形為一條直線Y=X,稱為line of perfect equality
與之相反的是在極不平等狀態下,只有一人有全部的收入,其他人都無收入。此時曲線:y=0% for all x<100%; y=100% when x=100%,稱為line of perfect inequality

Gini系數越高,分布越不平衡。\(Gini=\frac{A}{A+B}\)=2AUC-1
遷移到風控領域,縱坐標:累計壞樣本占比,橫坐標:累計樣本占比。設基於某個累計閾值點的樣本預測為壞樣本,此時預測正確的樣本數為TP,預測錯誤的樣本數為FP,樣本總數為TP+FP。
\(累計壞樣本占比=\frac{TP}{TP+FN}=TPR\)
\(累計樣本占比=\frac{TP+FP}{TP+FP+TN+FN}\)
當負樣本很少時,TP和FN的值很小,可忽略不計,則\(累計樣本占比=\frac{FP}{FP+TN}=FPR\)。此時,洛倫茲曲線與ROC曲線的橫縱坐標取值基本一致。

Lift曲線

Lift曲線表示相較於不利用模型時,模型的提升指數。
衡量的是一個模型對目標中“響應”的預測能力優於隨機選擇的倍數,以1為界線,大於1的Lift表示該模型比隨機選擇捕捉了更多的“響應”。
\(Lift=\frac{\frac{TP}{TP+FP}}{\frac{TP+FN}{TP+FP+FN+TN}}=\frac{\frac{TP}{TP+FN}}{\frac{TP+FP}{TP+FN+FP+TN}}=\frac{預測為Bad真實為Bad/真實為Bad}{預測為Bad/全部樣本}\)
分母:不使用任何模型;
分子:預測為正例的樣本中的真實正例的比例。

設10000個借款人中有1000個逾期的,則這10000個借款人逾期率\(\frac{P}{P+N}=\frac{1000}{10000}=10\%\)
對這10000個借款人建模,預測出1000個逾期的(\(TP+FP=1000,TP=300\))。此時這1000人中只有300人是真實逾期的,則\(命中率=\frac{TP}{TP+FP}=30\%\)
此時,提升值\(Lift=\frac{30\%}{10\%}=3\),模型找到逾期人員的效果提升至原先(無模型)的三倍。

Lift曲線圖在很高的提升值上保持一段后,迅速下降至1時,表示模型較好。
根據【KS曲線】處表格數據可繪制如下Lift曲線(還有另一種繪制方法):

Gain曲線

\(Gain=\frac{TP}{TP+FP}\)
可參考UNDERSTAND GAIN AND LIFT CHARTS

PSI

PSI = SUM( (實際占比 - 預期占比)* ln(實際占比 / 預期占比) )

PSI范圍 穩定性 建議
0~0.1 沒有變化或很少變化
0.1~0.25 略不穩定 有變化,繼續監控后續變化
>0.25 不穩定 發生大變化,進行特征項分析

Python代碼

參考

[KS檢驗] https://www.cnblogs.com/arkenstone/p/5496761.html
[KS深入理解與應用] https://zhuanlan.zhihu.com/p/79934510
[風控模型評估指標介紹] https://zhuanlan.zhihu.com/p/98806525
[Lorentz Curve] https://en.wikipedia.org/wiki/Lorenz_curve
[Lift曲線與Gain曲線] https://blog.csdn.net/some_apples/article/details/104166842
[Lift曲線與Gain曲線] https://cosx.org/2009/02/measure-classification-model-performance-lift-gain
[Lift曲線] https://zhuanlan.zhihu.com/p/94323568
[UNDERSTAND GAIN AND LIFT CHARTS] https://www.listendata.com/2014/08/excel-template-gain-and-lift-charts.html
[群體穩定性指標(PSI)深入理解應用] https://zhuanlan.zhihu.com/p/79682292
https://blog.csdn.net/zwqjoy/article/details/84859405
https://blog.csdn.net/Orange_Spotty_Cat/article/details/82425113


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM