信用評分卡模型的理論准備


0 前言

評分卡模型最早是用在銀行審批用戶申請貸款的環節。不過,由於近年來小貸的盛行,越來越多的公司開始基於自己平台的用戶數據來構建評分卡模型。銀行信用評分卡一般分為兩類:

  1. 申請評分卡,對新貸款申請進行篩選並判斷其違約風險;
  2. 行為評分卡,對審批通過的貸款賬戶進行覆蓋整個貸款周期的管理。

在介紹評分卡的構建過程之前,我們首先引入一個標准信用卡的格式示例,這樣可以有一個直觀的概念。

其中,485是模型計算的基礎分值,39,36,38分別是Age,TAR,ES變量取值所在評分區間或類型的得分,將它們相加就得到了該用戶在所建評分卡的最后總得分。

本篇文章主要介紹評分卡構建中的幾個主要概念,以及在構建評分卡過程中遇見的些許問題,目的也是為了方便自己日后查閱。對於樣本的數據處理過程和代碼實現並沒有涉及。

1 構建評分卡的整個流程圖

該流程中各個步驟的順序可以根據具體情況的不同進行調整,也可以根據需要重復某些步驟。

2 信息值 IV(Information Value)和 證據權重 WOE(Weight of Evidence)

2.1 WOE 定義

介紹 IV 的計算方法之前,首先要明白 WOE 的概念,因為 WOE 是計算 IV 的基礎。標准評分卡的創建也可以不采用WOE轉換,引入WOE的目的並不是為了提高模型質量。

圖片名稱

如上,變量ResStatus為類別變量,有三種類別:屋主、其他、承租人。表中計算了這個變量的每種類別對應目標變量所占的正常和違約的人數,正常占全部正常的比例(正常的分布)和違約占所有違約的比例(違約的分布),然后計算每個類別對應的 WOE 。

WOE 的定義如下:

\[WOE_i = \ln \left[ \frac{Bad\ Distribution_i}{Good\ Distribution_i} \right] \]

\[WOE_i = \ln \left( \frac{B_i / B_T}{G_i / G_T} \right) \]

其中\(B_i, B_T, G_i, G_T\) 分別為第 \(i\) 類中違約用戶數量、總的違約用戶數量、第 \(i\) 類中正常用戶數量、總的正常用戶數量。

需要記住的是,對於類別 \(i\),正常和違約的分布分別定義為:

\[Good\ Distribution_i = \frac{Number\ of\ Good_i}{Total\ Number\ of\ Good} \]

\[Bad\ Distribution_i = \frac{Number\ of\ Bad_i}{Total\ Number\ of\ Bad} \]

如果括號內的比值小於1, WOE 為負值;反之為正值。上面表中ResStatus變量為類別型變量,同樣的定義和計算方法也適用於連續型變量,但對於連續型變量計算 WOE 之前,需要先將變量分段(bin)。

從上式中可以發現,\(WOE_i\) 為第 \(i\) 類中違約與正常的比率與整個樣本中違約與正常比率的比值的對數。因此,其目的是衡量第 \(i\) 類對違約與正常的比率的影響程度。\(|WOE_i|\) 越大,說明此類別更能區分違約與正常用戶,\(|WOE_i|\) 越小,此類別區分違約與正常不明顯。

通常,對連續型變量進行分箱計算WOE之后,其各個分箱的WOE值應該呈現一個單調趨勢。當然,有時連續性變量的WOE也有可能呈現一個U型趨勢(比如在上面前言中評分卡的變量Age)。不管如何,首先都要從業務上能給出一個合理的解釋,否則,這個變量很可能沒法放到我們最后創建的評分卡中。

2.2 IV 定義

IV 是用來衡量自變量對目標變量的影響程度的指標。

\[IV_i = (B_i / B_T - G_i /G_T) * \ln ( \frac{B_i / B_T}{G_i / G_T} ) \]

\[IV = \sum_i IV_i \]

IV 值是 WOE 的加權求和,在 \(IV_i\) 的表達式中分為兩個部分,可以認為,前一部分表示此分組在全部數據中所占比例,后一部分則表示此分組區分違約與正常用戶的能力。\(IV_i\) 由兩部分的值共同決定,也就決定了最后的 \(IV\)

2.3 IV的極端情況

IV 依賴 WOE,如果在分箱后的某個分組對應的違約或者正常的用戶數為0,則這個分組對應 \(WOE_i = \infty\) ,相應的 \(IV_i = +\infty\) ,而此時這樣分組是沒有意義的。解決方法如下:

  1. 如果此分組在所有樣本中所占比例比較大,則可考慮將此變量的分組單獨作為一條規則,作為模型的前置條件或補充條件;
  2. 如果此分組在所有樣本中所占比例比較小,可重新對變量進行分組,使這種現象不再發生;
  3. 可以將分組中的數據0用1代替,使計算有意義。

3 評分卡構建

3.1 評分卡刻度

對於任意一個用戶,將其被估計的違約概率表示為 p,則估計的正常概率為 1-p,則可以得到:

\[Odds = \frac{p}{1-p} \]

評分卡設定的分值刻度可以通過將分值表示為 Odds 對數的線性表達式來定義。如下表示:

\[Score = A - Blog(Odds) \]

其中,A 和 B 為常數。上式中負號可以使得違約概率越低,得分越高。
Logistic 回歸模型計算 Odds 如下:

\[log(Odds) = \beta_0 + \beta_1x_1 + \cdots + \beta_px_p \]

其中,\(\beta_0, \beta_1, \cdots, \beta_p\) 由 Logistic 模型擬合給出。

常數 A 和 B 通常被稱為補償和刻度,它們的值可以通過將兩個已知或者假設的分值帶入 $ Score = A - Blog(Odds) $ 中得到。通常,需要兩個假設:

  • 在某個特定的比率設定特定的預期分值 \(P_0\);
  • 指定比率翻番的分數(PDO,Point-to-Double Odds)。

首先,設定比率為 \(\theta_0\) 的特定點的分值為 \(P_0\)。然后,比率為 \(2\theta_0\) 的點分值為 \(P_0 - PDO\)。帶入得到兩個等式:

\[P_0 = A - Blog(\theta_0) \]

\[P_0 - PDO = A - Blog(2\theta_0) \]

解上述兩個方程中的常數 A 和 B, 可以得到:

\[B = \frac{PDO}{log(2)} \]

\[A = P_0 + Blog(\theta_0) \]

例如,假設想要設定評分卡刻度使得比率為 1:60(違約與正常)時的分值為600分,PDO = 20。然后計算出 B = 28.85, A = 481.89,於是計算得分公式為:

\[Score = 481.89 - 28.85log(Odds) \]

3.2 基於Logistic的評分卡構建

最終,評分卡的分值可以寫成下列形式:

\[Score = A - B(\beta_0 + \beta_1x_1 + \cdots + \beta_px_p) \]

變量 $ x_1, \cdots, x_p $ 為自變量對應 WOE,可以進一步寫成:

\[ Score = A - B\left\{ \begin{array}{c} \beta_0 \\ + (\beta_1\omega_{11})\delta_{11} + (\beta_1\omega_{12})\delta_{12} + \cdots \\ \cdots \\ + (\beta_p\omega_{p1})\delta_{p1} + (\beta_p\omega_{p2})\delta_{p2} + \cdots \end{array} \right\} \]

其中,\(\omega_{ij}\) 是第 \(i\) 個變量對應的第 \(j\) 個類別上的 WOE , \(\delta_{ij}\) 是二元變量,表示變量 \(i\) 是否取第 \(j\) 個值。 上式可重新寫為:

\[ \begin{array}{lr} Score = (A - B\beta_0) \\ - (B\beta_1\omega_{11})\delta_{11} - (B\beta_1\omega_{12})\delta_{12} - \cdots \\ - \cdots \\ - (B\beta_p\omega_{p1})\delta_{p1} - (B\beta_p\omega_{p2})\delta_{p2} - \cdots \end{array} \]

其中,\(A - B\beta_0\) 為基礎分值,而下面每一行對應的相應變量 \(x_1, \cdots, x_p\) 的得分。

3.3 其它算法評分卡構建(保留觀點)

從上面可以看到,基於Logistic的評分卡給予每個變量的每個分箱一個特定的分數,其目的是對評分卡做出一個合理的解釋,例如,如果客戶想提高自己的評分,可以通過提高評分卡中的某些指標的值,使之對應的分數提高就可以了。

當然,還有其它一些算法可以幫助我們構建評分卡,比如:RandomForest, GBDT等。這些算法可以給出客戶的違約概率,但是構建的評分卡不能像Logistic那樣計算每個變量的分箱或類型得分,我們只能根據這個違約概率計算客戶的總評分。但依然要依據上面定義的評分刻度:

\[Score = A - Blog(Odds) \]

其中,

\[Odds = \frac{p}{1-p} \]

4 模型穩定性PSI(Population Stability Index)

4.1 穩定性監測

模型上線之后,要對實際運行情況進行監測,主要為兩個方面:

用戶在模型中得分分布的穩定性:模型上線之后的真實數據得分分布(real data)和建模時訓練數據(train data)的得分分布比較;

變量穩定性:模型上線之后的實際變量分布(real data)和建模時訓練數據分布(train data)比較。

4.2 PSI計算

首先對樣本A和樣本B得分按照同一標准分為幾個區間(類別型變量按類別分),計算樣本在每個區間上的占比。在每個區間上,將兩個樣本各自占比相除再取對數,然后乘以各自占比之差,最后將各個區間的計算值相加,最終得到PSI(類似於IV計算),如下:

\[PSI = \sum_i (A_i / A_T - B_i /B_T) * \ln ( \frac{A_i /A_T}{B_i / B_T} ) \]

  • PSI < 0.1 樣本分布有微小變化
  • PSI 在 0.1 和 0.2 之間, 樣本分布有變化
  • PSI > 0.2 樣本分布有顯著變化

重點關注 PSI > 0.2 的變量,說明此變量的分布在建模時與現在已經發生了顯著的變化,查找PSI變動的原因,並重新調整模型。

參考資料:

《信用風險評分卡研究——基於SAS的開發與實施》
數據挖掘模型中的IV和WOE詳解
評分卡上線后如何進行評分卡的監測


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM