基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

作者:餘子娟,CDA數據分析研究院CDA L3 數據科學家學員 & CDA L2持證人,專注於金額科技領域,為銀行賦能,助力銀行信用卡中心全生命週期經營問題。

身處互聯網金融時代,信用無處不在。為對客戶進行一個優質與否的評判,使用信用評分,對客戶實行打分製成為當前風控領域的難點。而基於機器學習的信用評分卡則是其中關鍵的環節。

信用評分卡分為A卡(Application scorecard)、B卡(Behavior scorecard)和C卡(Collection scorecard)。A卡是申請評分卡,用於貸前審批階段對借款申請人的量化評估;B卡為行為評分卡,用於貸後管理,通過借款人的還款及交易行為,結合其他維度的數據預測用戶是否會逾期;C卡即催收評分卡,用於催收管理,在借款人當前還款狀態為逾期的情況下,預測未來該筆貸款變為壞賬的概率。

本文就帶大家揭祕信用卡風控評分體系之行為評分卡是如何建立的?

客戶信息涉及很多因素,因此敏感信息已在之前脫敏。

目標

通過某銀行客戶的個人基本資料、過去的信用數據及交易資料,依循評分卡建模的步驟,分析歸納出好客戶和壞客戶的特徵,並建立一個客戶是否會持續逾期的評分卡預測模型。

步驟

  1. 對客戶交易數據結合還款情況進行數據處理;使用機器學習構建B類評分卡,並對模型進行評價;再由新樣本集對評分卡進行測試,並輸出驗證結果。

數據

我使用了Kaggle的多個數據集,Kaggle數據集鏈接:

https://www.kaggle.com/yuzijuan/behavior-scorecard

其中m0_200411.txt為訓練集,m0_200412.txt為測試集,TXN_DATA.TXT為交易數據集,MccCode.csv為交易碼。

代碼

我將本文涉及到的代碼全部放在github項目集中。

https://github.com/ICBC-123/scorecard

環境和工具

Jupyter notebook 、Pandas、Numpy、woebin、var_filter、perf、scorecard、splitdf(後5個為自有評分卡程序)

數據處理

1.訓練集處理

首先對數據集中不同類別變量進行數據探索,查看了數據的分佈情況。

基於機器學習的信用卡之行為評分卡是如何建立的?

訓練集中PAY_COND(繳費狀態碼)是可加工的變量,從24位繳費狀態中可以獲得:

  • 每三個月的逾期次數,形成一個6位數的變量,例如012121;獲取最大逾期月份,最小為0,最大為9;獲得客戶的使用月份數和實動月份數

代碼實現如下:

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

賬單金額、繳費金額及歸屬額度是可加工的變量:

  • 近6個月各月的額度使用率近6個月各月的還貸比,由於還貸比分佈不均,將頭尾取[-2,2]作為截斷。
基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

2.交易數據集處理

交易數據集共計1886.8萬筆,有8個交易屬性,可加工較多變量:

  • 月均消費次數月均消費金額月均入賬次數月均入賬金額筆均消費金額交易月份數

……

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

交易數據集中有MccCode,可以和客戶目標屬性結合,得到客戶高中低風險交易佔比。

  • 高風險交易佔比中風險交易佔比低風險交易佔比

風險程度來源:先將訓練集與交易數據按照ID匹配,求每個客戶不同交易類別的交易數量和交易佔比;再求得壞客戶的交易數佔總交易的佔比為風險切分點,高於該佔比15%的交易類別為高風險類別,低於該佔比15%的為低風險類別;最後將各個風險類別對應的風險程度代入交易數據,求得每個客戶高中低風險交易佔比。

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

最終形成了基本特徵、交易特徵、信用卡特徵及其衍生變量共計53個指標。

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

建立評分卡

依據根據CRISM-DM數據挖掘理論,設計模型建立步驟,通過數據檢驗、數據初篩、分箱及計算WOE、IV篩選,最終建模及評分卡。

基於機器學習的信用卡之行為評分卡是如何建立的?

1.數據檢驗

對已處理好的數據集進行數據檢驗,包括缺失程度、單變量檢驗、超多分類檢驗、異常值、空值填充及正負樣本平衡檢驗。本案例中正負樣本比為1:3,由於是金融領域逾期類問題,現實中並不認為這個比例屬於不平衡樣本,一般樣本比例小於1:5,需要進行不平衡類問題處理。常用欠採樣、過採樣或混合採樣來填充樣本濃度,預測結果不可直接應用,排序之後可用順序結果應用於實際。

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

2.分箱及計算WOE

分箱其實是當前信用卡風險領域較為困難的操作,如何合理分箱是數據處理之外較難的話題。本案例的分類變量是按照將多個類別合併為一類分箱再計算WOE的,連續數據是有監督分箱,按照CART分類樹最優分箱計算各變量的WOE。隨機選取WOE值查看如下:

基於機器學習的信用卡之行為評分卡是如何建立的?

可以看到逾期最大月份的IV值較高,壞樣本在不同分類上的區隔較大;歸屬額度的WOE呈現明顯的單調,表明這個變量對結果的貢獻較大,變量越重要。

基於機器學習的信用卡之行為評分卡是如何建立的?

而從這四個變量可知,壞樣本在不同分類上的區隔不大,WOE值在水平線左右小幅度浮動,表明這個變量對結果的貢獻不大,變量不算重要。

分箱代碼如下:

基於機器學習的信用卡之行為評分卡是如何建立的?

3.建立評分卡

計算出IV值後,由於該模型變量較多,可以選擇篩選掉IV小於0.02的變量,剩餘37個變量輸入模型。並將數據字典保存成文件,用於後續預測調用使用。

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

按照7:3生成訓練集和測試集,計算出各個變量的WOE後用WOE值替換原始數據,並計算各個變量之間的相關性。

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

此處分別建立了邏輯迴歸、決策樹、梯度提升樹來評判模型效果。

基於機器學習的信用卡之行為評分卡是如何建立的?

可以看出三種模型效果均較好,就測試集的KS值而言,邏輯迴歸和梯度提升樹較好,由於奧卡姆剃刀原理,當模型效果差別不大時,我們有理由選擇複雜度較低,業務可解釋性更強的模型即邏輯迴歸作為最終的輸出模型,後續我們也會用驗證集進行驗證。將得到的模型保存,用於後續模型調用。

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

建立邏輯迴歸模型後,對模型穩定性進行了測試,得到PSI遠小於0.1,模型穩定性很好。

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

最終生成的評分卡部分截圖如下:

基於機器學習的信用卡之行為評分卡是如何建立的?

效果評估及預測

然後將原測試集(m0_200412.txt)作為驗證集,進行預測的流程圖如下:

基於機器學習的信用卡之行為評分卡是如何建立的?

其中數據加工和數據驗證與之前流程一致,重複操作即可。操作好後加載模型和驗證集,調用已保存好的數據字典文件,將原數據轉化為WOE值,若變量出現新值,用0替換原數據。

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

基於機器學習的信用卡之行為評分卡是如何建立的?

我此處仍然通過邏輯迴歸、決策樹和梯度提升樹三種模型來驗證數據,效果如下圖:

基於機器學習的信用卡之行為評分卡是如何建立的?

可以看到決策樹的效果已經坍塌,而梯度提升樹的效果不如邏輯迴歸。需要說明的是,根據業務邏輯,我們更關注的是真正逾期的客戶有多少被我們預測出來了即召回率(Recall),本案例中召回率最高的仍是邏輯迴歸,因此得到:邏輯迴歸從業務理解難度、穩定性、訓練集、測試集、驗證集等多方面表現較優,最終選擇邏輯迴歸為最終預測模型。

基於機器學習的信用卡之行為評分卡是如何建立的?

最終我們得到邏輯迴歸預測下的各個ID的預測結果。

結語

在金融領域,其實機器學習發展速度不快,當外界已經開始用高階模型時,我們卻還苦苦地應用邏輯迴歸來解決問題,有時候會擔心自己所學是不是已經跟不上時代了。其實無需擔憂,金融科技領域,機器學習的發展之路還較遠,路漫漫其修遠兮,吾將上下而求索。

如果大家有疑問,可以自己下載代碼和數據集自行嘗試。本身的分享不僅僅是為了分享,也是自我提升的方式之一,如有問題,還請包涵。

相關拓展

CDA LEVEL 3 數據科學家精英培訓是符合「CDA 數據分析師人才行業標準」最高等級準則的一套能夠 將數據分析師(Data Analyst)培養為數據科學家(Data Scientist),具備專業性、科學性、高端 性、先進性的領袖級人才培養方案。該課程主要面向從業多年的、有技術基礎的大數據及數據分析專 業人士、數據工程師等,為他們提供一個成為數據領袖的跳板。 課程內容是在 CDA LEVEL 1 和 LEVEL 2 大綱的基礎之上,進一步涉及更先進的技術、更系統的架構、 更高效的管理,包含計算機科學技術(高性能),大數據架構設計,機器學習,深度學習,數據治理, 項目管理等內容,讓數據科學是技術的同時,也能成為藝術。

相關推薦

推薦中...