評分卡模型
1:概述
信用評分本質上是模式識別中的一類分類問題,將企業或者個體消費者劃分爲能夠按期還本付息(即“好”客戶)和違約(即“壞”)兩類。
具體做法是根據歷史數據中的樣本,從已知的數據中找出違約及不違約客戶的特徵,從而總結出分類的規則,建立數學模型,用於測量價款人的違約風險(或者違約概率),爲消費信貸決策提供依據。
2:建模的準備
2.1:目標變量的準備
研究的目標變量爲客戶是否具有違約行爲,其中,以標管定義的在應還日期前應該還款但沒有還款的行爲,定義爲逾期行爲。
2.2:定量指標的篩選方法
篩選方法 | 大致流程 |
---|---|
隨機森林 | 用隨機森林法尋找自變量中對違約狀態影響最顯著的指標 |
計算變量的相對重要性 | 通過相對重要性的排序,獲取自變量中對違約狀態影響最顯著的指標 |
廣義交叉驗證法 | 通過自變量間的廣義交叉驗證,獲取自變量中對違約狀態影響最顯著指標 |
自變量的逐步迴歸法 | 通過自變量的逐步迴歸,獲取自變量中對違約狀態影響最顯著的指標 |
採用“Boruta”法 | 採用採用“Boruta”法,獲取自變量中對違約狀態影響最顯著的指標 |
2.3:定性指標的篩選方法
定性指標的篩選是通過IV(Information Value)值選出適用於建模的指標-----(這裏就不對IV做詳細的解釋和介紹了),總之IV值可以幫助我們衡量變量的預測能力(即幫模型預測好壞客戶的能力)。再引入IV之前,要介紹另一個概念——WOE,這是因爲IV值得計算是在WOE基礎上的,同時,在介紹WOE之前,要介紹下特徵分箱,這是因爲WOE值是特徵分箱後的計算結果。
由此,我們按照:特徵分箱—— WOE值—— IV值,這條邏輯主線來依次介紹。
2.3.1 特徵分箱
分箱的定義:
(1)將連續變量離散化
(2)將多狀態的離散變量合併成少狀態
(3)可以 將缺失作爲獨立的一個箱帶入模型中
(4)將所有變量變換到相似的尺度上
分箱的重要性:
(1)穩定性:避免特徵中無意義的波動對評分帶來的波動
(2)健壯性:避免了極端值的影響
分箱的限制:
(1)計算量大
(2)分箱後需要編碼
其中,分箱的方法分爲:有監督和無監督分箱
有監督 | 無監督 |
---|---|
Best-KS | 等頻 |
ChiMerge(即:常用的卡方分箱法) | 等距 |
聚類 |
**注:**這裏不詳細介紹每種分箱方法具體實現的過程
接下來介紹分箱需要注意點:
對於連續型變量:
(1)使用ChiMerge進行分箱(默認是5份)
(2)檢查分箱後的bad rate的單調性,如果不滿足,需要進行相鄰的兩箱合併,直到bad rate爲止
(3)上述過程是收斂的,因爲當箱數爲2時,bad rate自然單調
(4)分箱必須覆蓋所有樣本爲可能存在的值
(5)原始值很多時,爲了減小時間的開銷,通常選取較少(例如50個)初始切分點,但是要注意分佈不均勻。
對於類別型變量:
(1)當類別上較少時,原則上不需要進行分箱
(2)都某個或者幾個類別的bad rate爲0時,需要和最小的非0的bad rate的箱進行合併
(3)當該變量可以完全區分目標變量時,需要認真檢查該變量的合理性
2.3.2 WOE編碼
WOE(weight of evidence),證據權重,是一種有監督的編碼方式,將預測類別的集中度的屬性作爲編碼的數值。
優勢:
(1)將特徵的值規範到相近的尺度上
(2)具有業務含義
缺點:
(1)需要每箱中同時包含好壞兩個類別
以年齡屬性,查看好壞樣本的數量分佈,得出WOE值:
**表1:按照“年齡”各個屬性的好、壞統計**
Age | bad | good | WOE |
---|---|---|---|
<10 | 50 | 200 | =ln((50/100)/(200/1000))=ln((50/200)/(100/1000)) |
10-18 | 20 | 200 | =ln((20/100)/(200/1000))=ln((20/200)/(100/1000)) |
18-35 | 5 | 200 | =ln((5/100)/(200/1000))=ln((5/200)/(100/1000)) |
35-50 | 15 | 200 | =ln((15/100)/(200/1000))=ln((15/200)/(100/1000)) |
50y以上 | 10 | 200 | =ln((10/100)/(200/1000))=ln((10/200)/(100/1000)) |
總計 | 100 | 1000 |
可以看出,WOE反映的是在自變量每個分組下違約用戶對正常用戶佔比和總體中違約用戶對正常用戶佔比之間的差異,從而可以直觀的認爲WOE蘊含了自變量取值對目標變量(違約概率)的影響。同時,又因爲WOE計算形式與邏輯迴歸中目標變量的邏輯轉換:
非常相似,所以可將自變量WOE值替代原先的自變量值,計算公式如下:
其中,Bi 表示第i組違約用戶的數量,BT 表示違約用戶的總數量,Gi表示第i組正常用戶的數量,GT表示正常用戶的總數量。
同樣,對於每個分組i,都有一個IV值,IV指的計算公式如下:
IV值衡量的是解釋變量對於目標變量的影響的顯著水平。在使用IV值來考慮解釋變量對於目標變量的影響時,解釋變量篩選、變量賦值編碼和模型穩健性評估,這些有先後順序的過程可以同時進行。篩選出能夠較好第預測目標變量的解釋變量,並同時給出這些解釋變量的一個合理的賦值編碼結果。在進行建模前選擇入模變量一般選擇IV值較大的變量。
IV值的作用:
(1)非負指標,高IV表示該特徵和目標變量的關聯度高
(2)目標變量只能是二分類
(3)過高的IV,可能有潛在的風險
(4)特徵分箱越細,IV值越高
常用的閾值:
IV <= 0.02 : 沒有預測性,不可用
0.02 ~ 0.1 : 弱預測性
0.1 ~ 0.2 :有一定預測性
0.2 + :高預測性
3 :基於邏輯迴歸的評分卡模型
特徵工程
3.1 特徵工程
在構建基於邏輯迴歸評分卡模型前,需要進行特徵工程步驟:
- 包括數據探索性分析
- 缺失值處理
- 異常值處理
3.2 特徵分箱
完成特徵工程步驟後,再進行特徵分箱需要注意以下幾點:
-
不超過5箱
-
Bad Rate單調
-
每箱同時包含好壞樣本
-
特殊值如-1,單獨成一箱
連續型變量可直接分箱
類別型變量:
-
當取值較多時,先用bad rate編碼,再用連續型分箱的方式進行分箱
-
當取值較少時:
2.1 如果每種類別同時包含好壞樣本,無需分箱
2.2 如果有類別只包含好壞樣本的一種,需要合併
3.3 特徵篩選
特徵篩選主要包括多變量和單變量分析
- 多變量分析主要是特徵之間的協方差,得出不同特徵之間相似性,剔除某些相似性高度相關的特徵,可以加速模型收斂(即python常見的熱度圖分析)。
- 單變量分析,主要是根據基於WOE計算得出的IV值的大小進行特徵篩選,IV值越大,包含的信息越多。剔除掉低於閾值的特徵,因爲這些特徵沒有預測性或者說預測性很低。
3.4 特徵WOE化
再進行特徵篩選後,僅保留需要的特徵,然後進行WOE編碼。
3.5 邏輯迴歸擬合
特徵WOE編碼後的結果,在進行邏輯迴歸擬合,得到擬合後的係數值
3.6 建立評分卡
每個屬性對應的分支可以用過公式計算:WOE乘該變量的迴歸係數,再加上回歸截距,再乘以比例因子,最後加上偏置量:
對於評分卡的分值,可以這樣計算:
依據以上信息得到:
在建立標準評分卡之前,需要選取幾個評分卡參數:基礎分值,PDO(比率翻倍的分支)和好壞比,這裏我們取600分爲基礎分值,PDO爲20(每高20分好環比翻一倍),好壞比取20。