KS(Kolmogorov–Smirnov)模型區(qū)分能力指標

KS檢驗
將KS檢驗應用于信用評級模型主要是為了驗證模型對違約對象的區(qū)分能力,通常是在模型預測全體樣本的信用評分后,將全體樣本按違約與非違約分為兩部分,然后用KS統(tǒng)計量來檢驗這兩組樣本信用評分的分布是否有顯著差異。
兩條曲線算的是累計概率
計算各階段的差值
最后算差值的最大值


KS檢驗也常用來選擇有預測能力的單變量。就是通過某個單變量把樣本分成兩組,看這兩組的樣本有關KS指標的大小來決定此變量的預測能力。
模型應該要能區(qū)別出違約戶和正常戶之間的差異,違約戶的評級分配應當不同于正常戶的評級分配。運用KS檢驗來驗證模型能否區(qū)別出違約戶與正常戶,當兩組樣本的累積相對次數(shù)分配非常接近,且差異為隨機時,則兩組樣本的評級分配應為一致;反之當兩組樣本的評級分配并不一致時,樣本累積相對次數(shù)分配的差異會很顯,如下圖所示:
?
KS檢驗模型區(qū)分能力
對總體十等分,并按照違約率降序排序,計算每一等分中違約與正常百分比的累計分布,繪制出兩者差異

KS的檢驗步驟為:
KS值越大,表示模型能夠將正、負客戶區(qū)分開的程度越大。?
通常來講,KS>0.2即表示模型有較好的預測準確性。
1、計算正常戶和違約戶在各評分階段下的累積比率
2、?計算各階段累積比率之差
3、?找出最大的累積比率之差,即為KS
另外,下表為KS值對應違約區(qū)別能力:


?

假設模型分數(shù)有0-1000分
分數(shù)分為10個階段
一階段:0-100分
二階段:100-200分
三階段:200-300分
.........
十階段:900-1000分
計算每個階段壞客戶累積占比和好客戶累積占比,例如第五階段,壞客戶累積占比34%,好客戶累積占比81%,差值47.4%,最大
47%超過閾值20%,模型區(qū)分能力非常強
ks即使顯著,分數(shù)段預測準確率也不一定高
?


使用K-S檢驗一個數(shù)列是否服從正態(tài)分布、兩個數(shù)列是否服從相同的分布
假設檢驗的基本思想:
? ? ? ?若對總體的某個假設是真實的,那么不利于或者不能支持這一假設的事件A在一次試驗中是幾乎不可能發(fā)生的。如果事件A真的發(fā)生了,則有理由懷疑這一假設的真實性,從而拒絕該假設。
實質分析:
? ? ? ? 假設檢驗實質上是對原假設是否正確進行檢驗,因此檢驗過程中要使原假設得到維護,使之不輕易被拒絕;否定原假設必須有充分的理由。同時,當原假設被接受時,也只能認為否定該假設的根據(jù)不充分,而不是認為它絕對正確。
?
1、檢驗指定的數(shù)列是否服從正態(tài)分布
借助假設檢驗的思想,利用K-S檢驗可以對數(shù)列的性質進行檢驗,看代碼:
from scipy.stats import kstest import numpy as np x = np.random.normal(0,1,1000) test_stat = kstest(x, 'norm')

首先生成1000個服從N(0,1)標準正態(tài)分布的隨機數(shù),在使用k-s檢驗該數(shù)據(jù)是否服從正態(tài)分布,提出假設:x從正態(tài)分布。
最終返回的結果,p-value=0.76584491300591395,比指定的顯著水平(假設為5%)大,則我們不能拒絕假設:x服從正態(tài)分布。
這并不是說x服從正態(tài)分布一定是正確的,而是說沒有充分的證據(jù)證明x不服從正態(tài)分布。因此我們的假設被接受,認為x服從正態(tài)分布。
如果p-value小于我們指定的顯著性水平,則我們可以肯定的拒絕提出的假設,認為x肯定不服從正態(tài)分布,這個拒絕是絕對正確的。
?
2、檢驗指定的兩個數(shù)列是否服從相同分布
from
?scipy.stats?
import
?ks_2samp
beta
=
np.random.beta(
7
,
5
,
1000
)
norm
=
np.random.normal(
0
,
1
,
1000
)
ks_2samp(beta,norm)

我們先分別使用beta分布和normal分布產(chǎn)生兩個樣本大小為1000的數(shù)列,使用ks_2samp檢驗兩個數(shù)列是否來自同一個樣本,提出假設:beta和norm服從相同的分布。
最終返回的結果,p-value=4.7405805465370525e-159,比指定的顯著水平(假設為5%)小,則我們完全可以拒絕假設:beta和norm不服從同一分布。

?

KS臨界值表
www.cust.edu.tw/mathmet/KS-critical.docx



如果想了解更多相關知識,歡迎同學報名學習python金融風控評分卡模型和數(shù)據(jù)分析:http://dwz.date/b9vv