金融风控实战——有监督分箱
卡方分箱
??分箱的方法有很多,卡方分箱屬于其中一種,屬于有監(jiān)督系列的。卡方分箱正是一種基于卡方檢驗(yàn)的分箱方法,更具地說是基于上面提到的第二種應(yīng)用,獨(dú)立性檢驗(yàn),來實(shí)現(xiàn)核心分箱功能的。
??卡方分箱算法簡(jiǎn)單來說,有兩個(gè)部分組成:1)初始化步驟;2)合并。
小栗子:
- 計(jì)算所有相鄰分箱的卡方值:也就是說如果有1,2,3,4個(gè)分箱,那么就需要綁定相鄰的兩個(gè)分箱,共三組:12,23,34。然后分別計(jì)算三個(gè)綁定組的卡方值。
- 從計(jì)算的卡方值中找出最小的一個(gè),并把這兩個(gè)分箱合并:比如,23是卡方值最小的一個(gè),那么就將2和3合并,本輪計(jì)算中分箱就變?yōu)榱?,23,4。
??背后的基本思想是:如果兩個(gè)相鄰的區(qū)間具有非常類似的類分布,那么這兩個(gè)區(qū)間可以合并。否則,它們應(yīng)該分開。低卡方值表明它們具有相似的類分布。(卡方值衡量推斷值和觀察值之間的偏離程度)
??停止條件:1)卡方停止的閾值 ,2)分箱數(shù)目的限制
卡方分箱公式理解:
χ2=∑i=1m∑j=1k(Aij?Eij)2Eij\chi^{2}=\sum_{i=1}^{m} \sum_{j=1}^{k} \frac{\left(A_{i j}-E_{i j}\right)^{2}}{E_{i j}} χ2=i=1∑m?j=1∑k?Eij?(Aij??Eij?)2?
- m=2:表示相鄰的兩個(gè)分箱數(shù)目
- k:表示目標(biāo)變量的類別數(shù),比如目標(biāo)是網(wǎng)貸違約的好和壞,那么k=2。k也可以是多類,大于2。
- AijA_{ij}Aij?:實(shí)際頻數(shù),即第i個(gè)分箱的j類頻數(shù)
- EijE_{ij}Eij?:期望頻數(shù)
其中,期望頻數(shù)的公式如下,可根據(jù)P(AB)=P(A)P(B)推導(dǎo)出來:Eij=Ri?CjNE_{i j}=\frac{R_{i} * C_{j}}{N} Eij?=NRi??Cj??RiR_{i}Ri?、CjC_{j}Cj?:分別是實(shí)際頻數(shù)整列和整行的加和
舉個(gè)例子說明一下這個(gè)公式是如何用的,對(duì)于相鄰兩個(gè)分箱的卡方值計(jì)算:
??實(shí)際頻數(shù)和期望頻數(shù)都有了,帶入卡方公式求解,過程如下:χ2=∑i=1m∑j=1k(Aij?Eij)2Eij=[(A11?E11)2E11+(A12?E12)2E12]+[(A21?E21)2E21+(A22?E22)2E22]\begin{aligned} \chi^{2} &=\sum_{i=1}^{m} \sum_{j=1}^{k} \frac{\left(A_{i j}-E_{i j}\right)^{2}}{E_{i j}} \\ &=\left[\frac{\left(A_{11}-E_{11}\right)^{2}}{E_{11}}+\frac{\left(A_{12}-E_{12}\right)^{2}}{E_{12}}\right]+\left[\frac{\left(A_{21}-E_{21}\right)^{2}}{E_{21}}+\frac{\left(A_{22}-E_{22}\right)^{2}}{E_{22}}\right] \end{aligned} χ2?=i=1∑m?j=1∑k?Eij?(Aij??Eij?)2?=[E11?(A11??E11?)2?+E12?(A12??E12?)2?]+[E21?(A21??E21?)2?+E22?(A22??E22?)2?]?
??如果計(jì)算結(jié)果是所有卡方值中最小的,說明:這組中兩個(gè)分箱具有最相似的類分布,因此把它們合并。
??如果性別和化妝與否沒有關(guān)系,四個(gè)格子應(yīng)該是括號(hào)里的數(shù)(期望值,用極大似然估計(jì)55=100*110/200,其中110/200可理解為化妝的概率,乘以男人數(shù)100,得到男人化妝概率的似然估計(jì)),這和實(shí)際值(括號(hào)外的數(shù))有差距,理論和實(shí)際的差距說明這不是隨機(jī)的組合。
應(yīng)用擬合度公式
∑i=1k(fi?npi)2npi=(95?55)255+(15?55)255+(85?45)245+(5?45)245=129.3\sum_{i=1}^{k} \frac{\left(f_{i}-n p_{i}\right)^{2}}{n p_{i}}=\frac{(95-55)^{2}}{55}+\frac{(15-55)^{2}}{55}+\frac{(85-45)^{2}}{45}+\frac{(5-45)^{2}}{45}=129.3 i=1∑k?npi?(fi??npi?)2?=55(95?55)2?+55(15?55)2?+45(85?45)2?+45(5?45)2?=129.3
決策樹分箱
??決策樹分箱的原理就是用想要離散化的變量單變量用樹模型擬合目標(biāo)變量,例如直接使用sklearn提供的決策樹(是用cart決策樹實(shí)現(xiàn)的),然后將內(nèi)部節(jié)點(diǎn)的閾值作為分箱的切點(diǎn)。
??補(bǔ)充,cart決策樹和ID3、C4.5決策樹不同,cart決策樹對(duì)于離散變量的處理其實(shí)和 連續(xù)變量一樣,都是將特征的所有取值從小到大排序,然后取兩兩之間的均值,然后遍歷所有這些均值,然后取gini系數(shù)最小的點(diǎn)作為閾值進(jìn)行劃分?jǐn)?shù)據(jù)集。并且該特征后續(xù)還可參與劃分。
??這里需要說明一下:cart的決策樹是一顆二叉樹,所以對(duì)于離散變量處理時(shí)會(huì)遍歷所有值,然后取一個(gè)作為一類,剩下的作為另一類,這樣建樹的結(jié)果就是一顆二叉樹;但在sklearn包并沒有實(shí)現(xiàn)對(duì)離散屬性的單獨(dú)處理,所以我們傳入的離散屬性值也會(huì)被當(dāng)成連續(xù)值去處理。“scikit-learn uses an optimised version of the CART algorithm; however, scikit-learn implementation does not support categorical variables for now.”
總結(jié)
以上是生活随笔為你收集整理的金融风控实战——有监督分箱的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金融风控实战——迁移学习
- 下一篇: 特征衍生与特征筛选