python算法深入理解風(fēng)控中的KS原理_第1頁(yè)
python算法深入理解風(fēng)控中的KS原理_第2頁(yè)
python算法深入理解風(fēng)控中的KS原理_第3頁(yè)
python算法深入理解風(fēng)控中的KS原理_第4頁(yè)
python算法深入理解風(fēng)控中的KS原理_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第python算法深入理解風(fēng)控中的KS原理目錄一、業(yè)務(wù)背景二、直觀理解區(qū)分度的概念三、KS統(tǒng)計(jì)量的定義四、KS計(jì)算過(guò)程及業(yè)務(wù)分析KS常用的計(jì)算方法:上標(biāo)指標(biāo)計(jì)算邏輯:五、風(fēng)控中選擇KS的原因例1:模糊性例2:連續(xù)性

一、業(yè)務(wù)背景

在金融風(fēng)控領(lǐng)域,常常使用KS指標(biāo)來(lái)衡量評(píng)估模型的區(qū)分度(discrimination),這也是風(fēng)控模型最為追求的指標(biāo)之一。下面將從區(qū)分度概念、KS計(jì)算方法、業(yè)務(wù)指導(dǎo)意義、幾何解析、數(shù)學(xué)思想等角度,對(duì)KS進(jìn)行深入剖析。

二、直觀理解區(qū)分度的概念

在數(shù)據(jù)探索中,若想大致判斷自變量x對(duì)因變量y有沒(méi)有區(qū)分度,常會(huì)將樣本分為正負(fù)來(lái)觀察變量的分布差異。那么,如何判斷自變量是有用的?直觀理解,如果兩個(gè)分布的重疊部分越小,代表正負(fù)樣本的差異性越大,自變量就能更好的將正負(fù)樣本區(qū)分開(kāi)來(lái)。具體如圖1所示。

打個(gè)比方,想象這個(gè)變量就是一雙手,把這個(gè)分布往兩邊拉開(kāi)。這雙手的力量越大,兩個(gè)概率分布間隔就越遠(yuǎn),說(shuō)明變量區(qū)分性就越強(qiáng)。

圖1-正負(fù)樣本分布差異對(duì)比

importmatplotlib

importnumpyasnp

importmatplotlib.pyplotasplt

mu=100#meanofdistribution

sigma=15#standarddeviationofdistribution

x=mu+sigma*np.random.randn(20000)

num_bins=80

fig,ax=plt.subplots()

#thehistogramofthedata

n,bins,patches=ax.hist(x,num_bins,density=1)

n1,bins1,patches1=ax.hist(x-20,num_bins,density=1)

#adda'bestfit'line

y=((1/(np.sqrt(2*np.pi)*sigma))*np.exp(-0.5*(1/sigma*(bins-mu))**2))

y1=((1/(np.sqrt(2*np.pi)*sigma))*np.exp(-0.5*(1/sigma*(bins-mu))**2))

ax.plot(bins,y,'--',label='bads')

ax.plot(bins1,y,'--',label='goods')

ax.set_xlabel('Varible')

ax.set_ylabel('Probabilitydensity')

ax.set_title('Distributionofbadsandgoods')

fig.tight_layout()

plt.grid(True,linestyle=':',color='r',alpha=0.7)

plt.legend()

plt.show()

三、KS統(tǒng)計(jì)量的定義

KS(Kolmogorov-Smirnov)統(tǒng)計(jì)量由兩位蘇聯(lián)科學(xué)家A.N.Kolmogorov和N.V.Smirnov提出。

在風(fēng)控中KS通常用于評(píng)估模型區(qū)分度,區(qū)分度越大,說(shuō)明模型風(fēng)險(xiǎn)排序能力越強(qiáng)。

KS是基于經(jīng)驗(yàn)累積分布函數(shù)(EmporicalCumulativeDistributionFunction,ecdf)建立的

四、KS計(jì)算過(guò)程及業(yè)務(wù)分析

KS常用的計(jì)算方法:

step1:對(duì)變量進(jìn)行分箱(binning),可以選擇等頻、等距或者自定義距離。

step2:計(jì)算每個(gè)分箱區(qū)間的好樣本數(shù)(goods)與壞樣本數(shù)(bads)。

step3:計(jì)算每個(gè)分箱區(qū)間內(nèi)累計(jì)好客戶占總好客戶比值(cum_good_rate)和累計(jì)壞客戶占總壞客戶比值(cum_bad_rate)。

step4:計(jì)算每個(gè)分箱區(qū)間累計(jì)壞客戶占比與累計(jì)好客戶占比的絕對(duì)值,得到KS曲線,也就是:

step5:在這些絕對(duì)值中取最大值,得到此變量的最終KS值。

為了便于理解,以具體的數(shù)據(jù)展示上述過(guò)程:

表1-KS計(jì)算過(guò)程表

上標(biāo)指標(biāo)計(jì)算邏輯:

從上表中可以得到以下信息:

1.模型分?jǐn)?shù)越高,逾期率越低,因此低分段bad_rate相對(duì)于高分段更高,cum_bad_rate曲線增長(zhǎng)速率會(huì)比cum_good_rate更快。cum_bad_rate曲線在cum_good_rate曲線上方。

2.每個(gè)分箱樣本數(shù)量基本相同,說(shuō)明是等頻分箱。

3.如將cutoff限定為0.65,則其cum_bad_rate為82.75%,表示有82.75%的壞客戶會(huì)被拒絕,但同時(shí)cum_good_rate為29.69%,表示同時(shí)會(huì)有29.69%的好客戶會(huì)被拒絕。

4.根據(jù)bad_rate的變化趨勢(shì),模型的排序性很好。如果是A卡,對(duì)排序性的要求會(huì)更高,因?yàn)樾枰鶕?jù)風(fēng)險(xiǎn)等級(jí)對(duì)用戶風(fēng)險(xiǎn)定價(jià)。

5.模型的KS達(dá)到53.1%,區(qū)分度較強(qiáng),這是最理想的狀態(tài),實(shí)際業(yè)務(wù)應(yīng)用中需要根據(jù)預(yù)設(shè)條件權(quán)衡通過(guò)率與壞賬率的關(guān)系,一般cutoff不會(huì)選在理想值處,因此可知,KS是區(qū)分度的上限。

6.對(duì)于A卡來(lái)說(shuō),通常KS很難達(dá)到52%,因此,若上表數(shù)據(jù)為A卡結(jié)果,需要進(jìn)一步確認(rèn)模型是否發(fā)生過(guò)擬合。

需要進(jìn)一步指出的是,KS是在放貸樣本上評(píng)估的,放貸樣本對(duì)于全量樣本永遠(yuǎn)是有偏的。對(duì)于裸奔風(fēng)控系統(tǒng),偏差會(huì)很??;反之如果風(fēng)控系統(tǒng)做的越好,偏差就會(huì)越大。因此KS不僅僅只是一個(gè)數(shù)字,其背后蘊(yùn)藏的很多原因,需要結(jié)合業(yè)務(wù)進(jìn)行具體分析。

當(dāng)KS不佳時(shí),為了達(dá)到預(yù)期目的,可進(jìn)行以下校驗(yàn):

1.檢驗(yàn)入模變量是否已被策略使用,使用重復(fù)變量會(huì)導(dǎo)致模型無(wú)法命中本應(yīng)被命中的壞客戶,導(dǎo)致模型效果下降。

2.檢驗(yàn)訓(xùn)練樣本與驗(yàn)證樣本之間的客群差異是否明顯,其中包括時(shí)間分布,某些特征分布、特殊特征命中情況等。

3.開(kāi)發(fā)對(duì)目標(biāo)場(chǎng)景更具針對(duì)性的新特征,比如稅務(wù)場(chǎng)景,在進(jìn)行特征衍生時(shí),更加關(guān)注稅務(wù)指標(biāo);如識(shí)別長(zhǎng)期風(fēng)險(xiǎn),就使用強(qiáng)金融屬性變量,對(duì)于欺詐風(fēng)險(xiǎn),就使用一些短期的負(fù)面變量。

4.分群建模,但須考慮穩(wěn)定性與差異性,防止過(guò)擬合。

5.壞客戶分析,試圖通過(guò)個(gè)性推共性。

對(duì)表1數(shù)據(jù)進(jìn)行可視化,便得到KS曲線,主要使用到最后三列數(shù)據(jù),即cum_good_rate、cum_bad_rate和KS,具體代碼和圖像如下:

importmatplotlibasmpl

importmatplotlib.pyplotasplt

importnumpyasnp

cum_good_rate=np.array([0.00,0.05,0.12,0.20,0.30,0.41,0.53,0.71,0.86,1.00])

cum_bad_rate=np.array([0.26,0.45,0.59,0.72,0.83,0.90,0.97,0.99,1.00,1.00])

x=np.linspace(0,1,10)

plt.plot(x,cum_good_rate,label='cum_good_rate')

plt.plot(x,cum_bad_rate,label='cum_bad_rate')

plt.plot(x,cum_bad_rate-cum_good_rate,label='KS')

plt.title('KSCurve',fontsize=16)

plt.grid(True,linestyle=':',color='r',alpha=0.7)

plt.axhline(y=0.53,c='r',ls='--',lw=3)#繪制平行于x軸的水平參考線

plt.axvline(x=0.43,c='r',ls='--',lw=3)#繪制平行于y軸的垂直參考線

plt.legend()

plt.show()

圖2-KS曲線

至此,我們已經(jīng)了解了KS的計(jì)算的基本流程、評(píng)價(jià)標(biāo)準(zhǔn)、業(yè)務(wù)指導(dǎo)意義和優(yōu)化思路,接下來(lái)有幾個(gè)問(wèn)題:

1.為什么風(fēng)控中常用KS來(lái)評(píng)價(jià)模型效果,而不是使用準(zhǔn)確率、召回率等?

2.最大KS只是一個(gè)宏觀的結(jié)果,那么在不同的cutoff下取到max,模型效果有何差異?

3.一般情況下,KS越大越好,但為什么通常認(rèn)為高于75%的KS就不可靠了?

五、風(fēng)控中選擇KS的原因

風(fēng)控建模過(guò)程中,常把樣本標(biāo)簽分為GBIX四類(lèi),其中:G=Good(好人,標(biāo)記為0),B=Bad(壞人,標(biāo)記為1),I=Indeterminate(不定,未進(jìn)入表現(xiàn)期),X=Exclusion(排斥,異常樣本)。

需要指出的是,Good與Bad之間的定義往往是模糊的、連續(xù)的,依賴于實(shí)際業(yè)務(wù)需求。這里舉兩個(gè)例子幫助理解:

例1:模糊性

對(duì)于12期信貸產(chǎn)品,如果設(shè)定表現(xiàn)期為前6期,S6D15(前6期中,任意一期逾期超15天)就是1,否則為0;但后來(lái)如果把表現(xiàn)期調(diào)整為3期,那么對(duì)于**“前3期都正常還款,但4~6期才發(fā)生逾期并超過(guò)15天”**的這部分樣本,原本所定義的label就從1變成了0.因此業(yè)務(wù)需求不同,導(dǎo)致標(biāo)簽的定義不是絕對(duì)的。所以說(shuō),好壞樣本定義一定要根據(jù)實(shí)際業(yè)務(wù)需求來(lái),要在對(duì)業(yè)務(wù)進(jìn)行充分理解與分析的基礎(chǔ)上進(jìn)行確定,而不是拍腦袋而為之。

例2:連續(xù)性

定義首期逾期超30天為1,否則為0。但是,逾期29天與逾期31天的用戶之間其實(shí)并沒(méi)有不可跨越的硬間隔,逾期29天的用戶可能會(huì)進(jìn)一步惡化為逾期31天。

由于逾期嚴(yán)重程度定義本身就帶有一定的主觀色彩,我們很難說(shuō)逾期天數(shù)差幾天有多少本質(zhì)差異,所以哪怕我們?yōu)榱宿D(zhuǎn)化為分類(lèi)問(wèn)題做了硬性的1和0的界限定義,但業(yè)務(wù)上理解還是一個(gè)連續(xù)問(wèn)題。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論