1. 程式人生 > >【評分卡】評分卡入門與建立原則——分箱、WOE、IV、分值分配

【評分卡】評分卡入門與建立原則——分箱、WOE、IV、分值分配

這裡寫圖片描述

本文主要講“變數選擇”“模型開發”“評分卡建立和刻度”

變數分析

首先,需要確定變數之間是否存在共線性,若存在高度相關性,只需儲存最穩定、預測能力最高的那個。需要通過 VIF(variance inflation factor)也就是 方差膨脹因子進行檢驗。
變數分為連續變數和分類變數。在評分卡建模中,變數分箱(binning)是對連續變數離散化(discretization)的一種稱呼。要將logistic模型轉換為標準評分卡的形式,這一環節是必須完成的。信用評分卡開發中一般有常用的等距分段、等深分段、最優分段。

單因子分析,用來檢測各變數的預測強度,方法為WOE、IV;

WOE

WOE(weight of Evidence)字面意思證據權重,對分箱後的每組進行。假設good為好客戶(未違約),bad為壞客戶(違約)。

KaTeX parse error: No such environment: align at position 9: \begin{̲a̲l̲i̲g̲n̲}̲ WOE_i &= ln(\f…
#good(i)表示每組中標籤為good的數量,#good(T)為good的總數量;bad相同。

IV

IV(information value)衡量的是某一個變數的資訊量,公式如下:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ IV &= \sum_{i=…


N為分組的組數;
IV可用來表示一個變數的預測能力。

IV 預測能力
<0.03 無預測能力
0.03~0.09
0.1~0.29
0.3~0.49
>=0.5 極高

根據IV值來調整分箱結構並重新計算WOE和IV,直到IV達到最大值,此時的分箱效果最好。

分組一般原則

  1. 組間差異大
  2. 組內差異小
  3. 每組佔比不低於5%
  4. 必須有好、壞兩種分類

舉例說明

例如按年齡分組,一般進行分箱,我們都喜歡按照少年、青年、中年、老年幾大類進行分組,但效果真的不一定好:

Age good bad WOE
<18 50 40 ln(50/33040/220)=0.182321556793955
ln(\frac{50/330}{40/220}) = -0.182321556793955
18~30 100 60 ln(100/33060/220)=0.105360515657826ln(\frac{100/330}{60/220}) = 0.105360515657826
30~60 100 80 ln(100/33080/220)=0.182321556793955ln(\frac{100/330}{80/220}) = -0.182321556793955
>60 80 40 ln(80/33040/220)=0.287682072451781ln(\frac{80/330}{40/220}) = 0.287682072451781
ALL 330 220

KaTeX parse error: No such environment: align at position 9: \begin{̲a̲l̲i̲g̲n̲}̲ IV &= (\frac{…
根據IV值可以看出,預測能力低,建議重新調整分箱。

建立模型

先進行資料劃分,一般70%訓練集、30%測試集。訓練集用於訓練模型,測試集用於檢測訓練後的模型。
一般採用Logistic Regression建立模型,訓練模型。將建好的模型對待測樣本進行預測。
模型建立標準

評分卡

評分卡計算方法

odds為good使用者概率(p)與bad使用者概率(1-p)的比值。
odds=p1p odds=\frac{p}{1-p}
評分卡設定的分值刻度可以通過將分值表示為比率對數的現行表示式來定義。公式如下:
score=A+Bln(odds) score_總=A+B*ln(odds)
注:若odds是 \frac{壞客戶概率}{好客戶概率},odds應取倒數,再經過lnln轉換則B前面是減號。所以有的地方此公式B前為負號。

設定比率為θ0\theta_0(也就是odds)的特定點分值為P0P_0,比率為2θ02\theta_0的點的分值為P0+PDOP_0+PDO。帶入上面公式可得到:
{P0=A+Bln(θ0)P0+PDO=A+Bln(2θ0) \begin{cases} P_0 &amp;= A+Bln(\theta_0) \\ P_0+PDO &amp;= A+Bln(2\theta_0) \end{cases}
求解上述公式,可以得到A、B值:
{B=PDOln2A=P0Bln(θ0) \begin{cases} B &amp;= \frac{PDO}{ln2} \\ A &amp;= P_0-Bln(\theta_0) \end{cases}

P0P_0PDOPDO 的值都是已知常數,可計算出A、B值帶入scorescore公式,得到不同θ0\theta_0下的評分卡分值。
θ0\theta_0也就是oddsodds,可由Logistic Regression模型評估的結果 pp 計算得到。
到這個地方,一個樣本的評分結果已經計算得到。

分值分配

在實際的應用中,我們會計算出每個變數的各分箱對應的分值。新使用者產生時,對應到每個分箱的值,將這些值相加,最後加上初始基礎分,得到最終的結果。
如果使用者某個變數發生改變,由一個分箱變成另一個,只需將更新後所在分箱的值做替換,再重新相加即可得到新的總分。

我們都知道,假設模型結果為p,根據Logistic Regression計算公式有:
p=11+eθTx p = \frac{1}{1+e^{-\theta^Tx}}
經過轉換得到
ln(p1p)=θTx ln(\frac{p}{1-p})=\theta^Tx
所以
score=A+B(θTx)=A+B(w0+w1x1++wnxn) score_總 = A+B*(\theta^Tx)=A+B*(w_0+w_1x_1+···+w_nx_n)
=(A+Bw0)+Bw1x1++Bwnxn =(A+B*w_0)+B*w_1x_1+···+B*w_nx_n
這裡w1,w2,...,wnw_1,w_2,...,w_n是Logistic Regression中的x1,x2,...,xnx_1,x_2,...,x_n的係數。
(A+Bw0)(A+B*w_0)為基礎分數,Bw1x1,,BwnxnB*w_1x_1,···,B*w_nx_n為每個變數對應分配到的分數。

之前步驟中每個變數都有進行分箱操作,分為若干類。所以下一步的話,把每個變數對應的分數,分別乘以變數中每個分箱的WOE,得到每個分箱的評分結果。

變數 分箱類別 分值
基礎分數 - (A+Bw0)(A+B*w_0)
x1x_1 1
2

ii
(Bw1)WOE11(B*w_1)*WOE_{11}
(Bw1)WOE12(B*w_1)*WOE_{12}
···
(Bw1)WOE1i(B*w_1)*WOE_{1i}
x2x_2 1
2

jj
(Bw2)WOE21(B*w_2)*WOE_{21}
(Bw2)<