如何用「邏輯回歸」構建金融評分卡模型?(下)
評分卡模型的開發(fā)
4.3WOE編碼
分箱之后我們便得到了一系列的離散變量,下面需要對變量進行編碼,將離散變量轉化為連續(xù)變量。WOE編碼是評分卡模型常用的編碼方式。
WOE 稱為證據(jù)權重(weight of evidence),是一種有監(jiān)督的編碼方式,將預測類別的集中度的屬性作為編碼的數(shù)值。對于自變量第 $i$ 箱的WOE值為:


公式中的log函數(shù)的底一般取為e,即為ln
從以上公式中我們可以發(fā)現(xiàn),WOE表示的實際上是“當前分箱中壞客戶占所有壞客戶的比例”和“當前分箱中好客戶占所有好客戶的比例”的差異。
對以上公式做一個簡單變換,可以得到:

變換以后可以看出,WOE也可以理解為當前分箱中壞客戶和好客戶的比值,和所有樣本中這個比值的差異 (也就是我們隨機的壞客戶和好客戶的比例)。WOE越大,這種差異越大,當前分組里的壞客戶的可能性就越大,WOE越小,差異越小,這個分組里的樣本響應的可能性就越小。當分箱中壞客戶和好客戶的比例等于隨機壞客戶和好客戶的比值時,說明這個分箱沒有預測能力,即WOE=0。
WOE具體計算過程如下表所示:

Q5:我們還有沒有學過其他編碼方式?這里為什么選擇采用WOE編碼?
我們還學過one-hot編碼。one-hot 編碼會將原始變量中的每個狀態(tài)都做為作為一個新的特征,當原始特征狀態(tài)較多時,數(shù)據(jù)經(jīng)過one-hot編碼之后特征數(shù)量會成倍的增加,同時新特征也會變得過于稀疏。在進行變量篩選的過程中,也會出現(xiàn)原始特征的一部分狀態(tài)被篩選出來,另一部分狀態(tài)未被篩選出來,造成特征的不完整。
而WOE編碼不僅可以解決以上這些問題,同時還可以將特征轉化為線性。
我們知道,邏輯回歸的假設函數(shù)為:

其中p為樣本為壞客戶的概率,1-p為樣本為好客戶的概率,整理可得:

其中
我們再來看來看WOE編碼的定義:

實際上WOE編碼相當于把分箱后的特征從非線性可分映射到近似線性可分的空間內。如下圖所示:

Q6:WOE編碼為什么不直接表示為該分箱好壞客戶數(shù)量之比?
如果直接表示為表示為某個分箱好壞客戶數(shù)量之比,根絕WOE值無法判斷不同分箱的預測能力。同時WOE值在很大程度上受到好壞客戶的影響,在嚴重非均衡的問題中,該比值會非常小,嚴重影響woe的值。
這里我們舉個例子,假設數(shù)據(jù)中共有5000個好客戶和50個壞客戶,共有三個分箱,箱1的好客戶和壞客戶分別有1000個和20個,箱2好客戶和壞客戶分別有1000個和10個,箱3好客戶和壞客戶分別有1000個和5個。
顯然,箱1和箱3都具有較好的預測能力,而箱2因為壞客戶比例和隨機預測類似,因此不具有預測能力。
用法1:原公式來計算:

從以上結果我們發(fā)現(xiàn),箱2對應的WOE=0,說明不具有預測能力,而箱1和箱3的WOE分別為log2和-log2,均遠離0點,具有預測能力。
用法2:利用分箱中好壞客戶數(shù)量來計算:

然而從法2得到的結果中只能判斷三個分箱的壞客戶的比例大小情況,無法判斷箱1,箱2和箱3的預測能力。
總結一下WOE編碼的優(yōu)勢:
可提升模型的預測效果
將自變量規(guī)范到同一尺度上
WOE能反映自變量取值的貢獻情況
有利于對變量的每個分箱進行評分
轉化為連續(xù)變量之后,便于分析變量與變量之間的相關性
與獨熱向量編碼相比,可以保證變量的完整性,同時避免稀疏矩陣和維度災難
5.變量篩選
之前我們說到過用戶的屬性有千千萬萬個維度,而評分卡模型所選用的字段在30個以下,那么怎樣挑選這些字段呢?
挑選入模變量需要考慮很多因素,比如:變量的預測能力,變量之間的線性相關性,變量的簡單性(容易生成和使用),變量的強壯性(不容易被繞過),變量在業(yè)務上的可解釋性(被挑戰(zhàn)時可以解釋的通)等等。其中最主要和最直接的衡量標準是變量的預測能力和變量的線性相關性。本文主要探討基于變量預測能力的單變量篩選,變量兩兩相關性分析,變量的多重共線性分析。
(1)單變量篩選
單變量的篩選基于變量預測能力,常用方法:
基于IV值的變量篩選
基于stepwise的變量篩選
基于特征重要度的變量篩選:RF, GBDT…
基于LASSO正則化的變量篩選
1)?基于IV值的變量篩選
IV稱為信息價值(information value),是目前評分卡模型中篩選變量最常用的指標之一,自變量的IV值越大,表示自變量的預測能力越強。類似的指標還有信息增益、基尼(gini)系數(shù)等。常用判斷標準如下:

那么怎么計算變量中第i個分箱對應的 IV 值的計算公式為:

變量對應的IV值為所有分箱對應的 IV 值之和:

從上式我們可以看出變量的 IV 值實際上式變量各個分箱的加權求和。且和決策樹中的交叉熵有異曲同工之妙。以下為交叉熵公式:

IV值的具體的計算流程如下:

Q7:請補全以下表格
自變量為age,Y表示目標變量,其中bad代表壞客戶,good代表好客戶。我們希望能用自變量age來預測好壞客戶的概率,以此來決定是否放貸。

從以上案例中我們可以分析出:
當前分箱中,壞客戶占比越大,WOE值越大
當前分箱中WOE的正負,由當前分箱中好壞客戶比例,與樣本整體好壞客戶比例的大小關系決定
當分箱的比例小于整體比例時,WOE為負。例如年齡18-30分箱中:250/4750<1000/9000,該分箱對應的WOE為負值
當分箱的比例大于整體比例時,WOE為正。例如年齡45-55分箱中:250/1200>1000/9000,該分箱對應的WOE為正值
當分箱的比例等于整體比例時,WOE為0。例如年齡30-45分箱中:300/2700=1000/9000,該分箱對應的WOE為0
WOE的取值范圍是[-∞,+∞],當分箱中好壞客戶比例等于整體好壞客戶比例時,WOE為0
對于變量的一個分箱,這個分組的好壞客戶比例與整體好壞客戶比例相差越大,IV值越大,否則,IV值越小
IV值的取值范圍是[0,+∞),當分箱中只包含好客戶或壞客戶時,IV = +∞,當分箱中好壞客戶比例等于整體好壞客戶比例時,IV為0
2)基于stepwise的變量篩選
基于基于stepwise的變量篩選方法也是評分卡中變量篩選最常用的方法之一。具體包括三種篩選變量的方式:
前向選擇forward:逐步將變量一個一個放入模型,并計算相應的指標,如果指標值符合條件,則保留,然后再放入下一個變量,直到?jīng)]有符合條件的變量納入或者所有的變量都可納入模型
后向選擇backward:一開始將所有變量納入模型,然后挨個移除不符合條件的變量,持續(xù)此過程,直到留下所有最優(yōu)的變量為止
逐步選擇stepwise:該算法是向前選擇和向后選擇的結合,逐步放入最優(yōu)的變量、移除最差的變量
3)基于特征重要度的變量篩選
基于特征重要度的變量篩選方法是目前機器學習最熱門的方法之一,其原理主要是通過隨機森林和GBDT等集成模型選取特征的重要度。
①機森林計算特征重要度的步驟:

當改變樣本在該特征的值,若袋外數(shù)據(jù)準確率大幅度下降,則該特征對于樣本的預測結果有很大影響,說明特征的重要度比較高。
②GBDT計算特征重要度原理:
特征 j 在單顆樹中的重要度的如下:

其中,L 為樹的葉子節(jié)點數(shù)量,L-1 為樹的非葉子節(jié)點數(shù)量,Vt是和節(jié)點 t 相關聯(lián)的特征,特征j的全局重要度為特征j在單顆樹中的重要度的平均值:

其中,M 是樹的數(shù)量。
4)?基于LASSO正則化的變量篩選
L1正則化通常稱為Lasso正則化,它是在代價函數(shù)上增加了一個L1范數(shù):

(2)變量相關性分析
1)變量兩兩相關性分析

兩變量間的線性相關性可以利用皮爾森相關系數(shù)來衡量。系數(shù)的取值為[-1.0,1.0],相關系數(shù)越接近0的說明兩變量線性相關性越弱,越接近1或-1兩變量線性相關性越強。

當兩變量間的相關系數(shù)大于閾值時(一般閾值設為 0.7 或 0.4),剔除IV值較低的變量,或分箱嚴重不均衡的變量。
2)變量的多重共線性分析

Q8:為什么要進行相關性分析?

即使不進行線性相關性分析也不會影響模型的整體性能,進行相關性分析只是為了讓我們的模型更易于解釋,保證不同的分箱的得分正確。
總結一下變量篩選的意義:
剔除跟目標變量不太相關的特征
消除由于線性相關的變量,避免特征冗余
減輕后期驗證、部署、監(jiān)控的負擔
保證變量的可解釋性
6.構建邏輯回歸模型
主要包括構建初步的邏輯回歸模型,根據(jù)p-value進行變量篩選,根據(jù)各個變量的系數(shù)符號進行篩選,得到最終的邏輯回歸模型。
以下為幾種常用模型的優(yōu)勢和劣勢對比:

由于邏輯回歸模型具有簡單,穩(wěn)定,可解釋性強,技術成熟和易于檢測和部署等優(yōu)勢,邏輯回歸是評分卡模型最經(jīng)常使用的算法。
(1)根據(jù)系數(shù)符號進行篩選
檢查邏輯回歸模型中各個變量的系數(shù),如果所有變量的系數(shù)均為正數(shù),模型有效。假如有一些變量的系數(shù)出現(xiàn)了負數(shù),說明有一些自變量的線性相關性較強,需要進一步進行變量篩選。通常的做法是:
綜合考慮變量的IV值和業(yè)務的建議,按照變量的優(yōu)先級進行降序排列
選擇優(yōu)先級最高的4-5個基本變量
按優(yōu)先級從高到低逐漸添加變量,當新添加的變量之后,出現(xiàn)系數(shù)為負的情況,舍棄該變量
直到添加最后一個變量
Q9:為什么回歸模型中各個變量的系數(shù)均為正數(shù)?
由以上分析我們知道對于分箱的WOE編碼,分箱中壞客戶占比越大,WOE值越大;也就是說該分箱中客戶為壞客戶的概率就越大,對應的WOE值越大,即WOE與邏輯回歸的預測結果 (壞客戶的概率) 成正比。
Q10:為什么說假如有一些變量的系數(shù)出現(xiàn)了負數(shù),說明有一些自變量的線性相關性較強?
我們知道,正常情況下,WOE編碼后的變量系數(shù)一定為正值。由上面為什么進行線性相關性分析的問題可知,由于一些自變量線性相關,導致系數(shù)權重會有無數(shù)種取法,使得可以為正數(shù),也可以為負數(shù)。
(2)根據(jù)p-value進行篩選
p-value是假設檢驗的里面的概念。模型假設某自變量與因變量線性無關,p-value可以理解為該假設成立的可能性 (便于理解,不太準確)。一般,當p-value大于閾值時,表示假設顯著,即自變量與因變量線性無關;當p-value小于閾值時,表示假設不顯著,即自變量與因變量線性相關。閾值又稱為顯著性水平,通常取0.05。
因此當某個字段的 p-value 大于0.05時,應該刪除此變量。
Q11:先根據(jù)系數(shù)符號進行篩選,再進行p-value篩選?
變量的線性相關性會影響變量的預測效果,進而影響變量的p-value值。因此應該先根據(jù)系數(shù)符號進行篩選,再進行p-value篩選。
7.模型評價
(1)混淆矩陣,TPR (Recal),F(xiàn)PR
TPR (或Recall) 為壞客戶的查全率,表示被模型抓到的壞客戶占總的壞客戶的比例,表達式為:

FPR 為好客戶誤判率,表示好客戶中倍模型誤誤判的比例,表達式為:

可以把TPR看做模型的收益,F(xiàn)PR看做模型付出的代價。如果一個模型 TPR越大,表示模型能夠抓到的壞客戶比例越大,即收益越大;FPR越大,表示模型能夠將好客戶誤抓的比例越大,即代價越大。
(2)AUC
AUC 表示模型對任意壞客戶的輸出結果為大于模型對任意好客戶的輸出結果的概率。AUC的取值范圍在0.5和1之間,AUC 越大,表示模型預測性能越好。
8.小結
最后我們再來回答最初的三個問題作為本文的小結:
(1)用戶的屬性有千千萬萬個維度,而評分卡模型所選用的字段在30個以下,那么怎樣挑選這些字段呢?
變量預測能力篩選
變量相關性分析(包括兩兩相關性分析,多重共線性分析)
根據(jù)p-value篩選
根據(jù)變量的系數(shù)符號進行篩選
(2)評分法卡模型采用的是對每個字段的分段進行評分,那么怎樣對評分卡進行分段呢?
——變量分箱
(3)怎樣對字段的每個分段進行評分呢?這個評分是怎么來的?
WOE編碼
將預測概率值轉化為評分
利用變量相關性分析和變量的系數(shù)符號保證每個分箱評分的合理性
End. 作者:August 來源:知乎專欄 本文為轉載分享,如侵權請聯(lián)系后臺刪除
