風險控制-undersampling,拒絕推斷和好壞樣本定義之間的關係-20180325

最近在和朋友討論undersampling對模型結構影響的時候,驚訝的發現undersampling,拒絕推斷,以及A卡評分模型中好壞樣本定義似乎隱含著某種內在聯繫,而這種聯繫與樣本分布有關。

這篇文章只代表個人觀點,不一定正確,願意接受打臉。

1、A卡模型中好壞樣本如何定義

如我在前面的文章(風險控制-基於邏輯回歸的信用申請評分卡建立流程-20170926)所說,好壞樣本的定義應該跟你建立模型的目的應該是嚴格相關的。比如你要預測樣本的首逾概率,那麼發生首逾的樣本就是壞樣本,未發生首逾並還款良好的樣本就是好樣本,同樣,如果你要預測樣本後期最終不還款的概率,那麼這時你用首逾樣本的定義就不太合適,這時你應該查看各期的逾期滾動,若M2入M3的滾動率已經達到90%,那麼你就可以判定那些進入M2的逾期款項是追不回來的,那麼就可以將入M2的樣本定義為壞樣本,同理,你也要查看那些逾期xx天往後滾動的比例,比如還款3期以上,逾期10天以內的樣本基本會順利結清,那麼你就可以定義還款3期以上,逾期10天以內的樣本為好樣本。

然而在總體的樣本中,除了好壞樣本之外,還有很大一部分的樣本,我們一般稱其為undetermined樣本,這部分樣本其實就是處於好壞樣本中間狀態的樣本。如下圖所示;

Pic 1

我們之所以會在中間留一部分這樣的undetermined的樣本,從業務直覺上來說,那是因為我們其實很難確定這部分樣本的狀態(好壞),所以我們才將他們歸為中間樣本。

但另一方面,評分模型在實際預測時,其實是要對這部分樣本進行評分的。這也意味著建模樣本中的bad rate其實是與整體樣本不一樣的,有可能高,也有可能低。所以好壞樣本的選擇其實就是一個採樣的過程。

2、好壞樣本的選擇其實就是一個欠採樣(undersampling)的過程

我們知道sampling的方法一般應用在非均衡樣本的建模上,一般有兩種思路,其一便是undersampling,而undersampling又可以分為兩種,一種是Resampling,隨機抽樣,另外一種是border cleaning的,就是盡量避免選擇相互臨近的樣本。

我們所說的好壞樣本選擇其實就是一次border cleaning的undersampling,這些相互臨近的樣本就是上文所說的undetermined樣本。

其實從理想狀態來說,如果表現期足夠長,所有Approved的樣本其實都是可以定義出好跟壞的,因為壞的樣本最終總會暴露出來,但在實際情況中,由於表現期較短的問題,除了那些我們可以很確定是壞的樣本之外,還有很大一部分樣本其實我們是沒法確定他的狀態的,而且可以確定的說,即使在好樣本中,我們也會有一部分判斷錯誤的樣本混在裡面。

3、拒絕樣本其實是和undetermined樣本的存在是一致的

Pic 2

拒絕樣本與中間樣本一樣,沒有明確的狀態定義,但它也是實際預測中整體樣本的一部分,所以這部分樣本與中間樣本的存在是一樣的,也是相當於sampling中一部分,只是二者在bad rate上的分布不一樣,拒絕樣本bad rate更高,中間樣本bad rate更低,但bad rate其實並不影響模型對樣本的評分,更確切的說,評分模型其實是一個排序模型,如果undetermined的樣本、拒絕樣本以及建模樣本(Good+Bad)的特徵在數值上的分布是一樣的,bad rate只會影響樣本預測分數的絕對值,但不會改變樣本的評分排序。這個結論是我自己得出的,不保證正確,我僅在邏輯回歸上來說說undersampling對模型結構的影響。

重要的事情說三遍:不保證下文一定正確,歡迎打臉。

4、undersampling在理想情況下不影響邏輯回歸的係數值(不包括截距項)

先來看一個小的例子:

假設我們現在有一個二分類模型,只有一個性別變數,那麼這個模型的形式可以寫成:

ln(p/(1-p)) = eta_0+eta_1*female

其中female變數只取0,1,0代表Male,1代表Female

具體數據如下:

那麼對於男性來說, odds1 = (16/90)/(74/90)=0.216

對於女性: odds2 = (32/110)/(78/110) = 0.41

那麼 eta_0 = ln(odds1) = -1.53

eta_1 = ln(odds2/odds1) = 0.64

現在我們來做一個undersampling,為了簡化這個問題,我們不對Bad的樣本抽樣,只對Good的樣本進行均分隨機抽樣,只抽50%,假設這次抽取的非常好,剛好,male和female的樣本各抽了一半:

同理男性的 odds3 = (16/53)/(37/53) = 0.432

對於女性: odds4 = 32/39 = 0.82

eta_0 = ln(odds3) = -0.838

eta_1 = ln(odds4/odds3) = 0.64

我們做完undersampling後,發現 eta_1 是沒變的,隻影響了截距項,也就是說理想狀態下undersampling是不改變 odds ratio的(或者說woe值),這也意味著非截距項的係數是不改變的,改變的只是截距項。這其實也說明了undersampling隻影響了樣本的絕對預測概率,但不改變樣本的排序,相當於分隔面沿某坐標軸進行了一次平移。

但是,在上文中,我們其實有一個隱含的假設,就是sampling的樣本幾乎包含了全部樣本的信息,在這種情況下上式結論才是成立的。通常這種假設在大樣本情況下是成立的,但如果樣本過小,採用sampling總是會丟失整體樣本的一些信息,上式就不會再成立,也許分隔面不但發生了平移,還會發生旋轉,那麼在這種情況下,樣本的排序就會發生變化。

5、中間樣本,拒絕樣本需不需要考慮,如何量化

先說結論:需要考慮;

但是這種考慮並不是魯莽的把這部分樣本直接拿進來,而是會考慮我拿進來的收益與我不拿進來的收益之間的一個抉擇。

在第四部分我們已經說到,如果sampling的樣本與整體樣本是分布一致的話,那麼我們拿sampling的樣本建模不會丟失過多信息。我們可以將定義的好壞樣本看成是sampling後的樣本,將拒絕樣本和中間樣本看成是sampling剔除的樣本。當這兩部分樣本在特徵空間的分布一致時,我們可以認為好壞樣本已經可以代表拒絕樣本和中間樣本。

如何確定好壞樣本可以代表拒絕樣本和中間樣本,仍然回到第4部分,在邏輯回歸中,我們知道如果odds ratio不變的話,係數是不會變的,那麼這也意味著,如果好壞樣本與拒絕樣本和中間樣本在odds ratio上是相差不大的話,那麼根據好壞樣本建立的模型對拒絕樣本和中間樣本中好壞的狀態是有區分能力的。

但是拒絕樣本和好壞樣本的狀態是未知的,我們只知道(預估)拒絕樣本的bad rate是很高的,所以通過odds ratio去進行判斷其實是行不通的,那麼我們只能先假設建模樣本能代表拒絕樣本和中間樣本,那麼我們就可以認為模型對這部分樣本是有效的,對於拒絕樣本來說,它的分布相比建模樣本,評分是靠後的,中間樣本的評分是靠前的,至於如何定一個具體的標準來判斷是否有效,我覺這個問題很難回答,它跟你的業務問題、好壞樣本選擇以及樣本拒絕的嚴格程度相關。


推薦閱讀:

logistic regression 邏輯回歸
DL 學習 - 認識 RNN
斯坦福大學機器學習課程(介紹和線性回歸)

TAG:機器學習 | 風險控制 | 信用評級 |