當前位置:
首頁 > 新聞 > 用機器學習做信用評分

用機器學習做信用評分

本文為 AI 研習社編譯的技術博客,原標題 :

Credit Scoring with Machine Learning

作者 | Hongri Jia

翻譯 | 胡瑛皓

校對 | 醬番梨 審核 | 約翰遜·李加薪 整理 | 立魚王

原文鏈接:

https://medium.com/henry-jia/how-to-score-your-credit-1c08dd73e2ed

信用評分是衡量人們信用的數字表示。銀行業通常用它作為支持信貸申請決策的方法。本文講述如何用Python(Pandas、Sklearn)開發標準評分卡模型,它已成為一種最受歡迎且最簡單的衡量客戶信用的形式。

用機器學習做信用評分

項目動機

如今信用對每個人來說都非常重要,因為它是衡量一個人是否可靠的一種指標。很多時候服務提供商在提供服務前會先評估客戶的信用記錄,然後決定是否提供服務。可是審核個人資料並手工生成信用報告是非常耗時的。信用評分節省時間而且容易解讀,所以就被開發出來服務這些目的。

產生信用分的過程稱為信用評分,它被廣泛應用於許多行業特別是銀行業。銀行通常用信用分決定誰應該授信、授信額度是多少、使用什麼樣的操作策略去避免信用風險。總體來說主要是兩部分:

  • 建立統計模型

  • 應用統計模型為信用申請或現有信用帳戶打分

本文會介紹最受歡迎的信用評分方法,我們稱為評分卡模型。有兩個原因使其成為主流的方法。首先,評分卡模型很容易跟沒有相關背景和經驗的人(諸如客戶)解釋說明。其次,評分卡模型的開發過程很標準且被廣泛接受,這意味著公司不需要投入太多研發經費。以下是評分卡的樣例,後面會講到如何使用。

用機器學習做信用評分

圖1 評分卡樣例

數據探索和特徵工程

接下來將詳細說明如何開發評分卡模型。我用的數據集來自Kaggle競賽。 圖2列出該數據集的數據字典信息。其中第一個變數是目標變數,二元分類變數,其餘變數是特徵。

用機器學習做信用評分

圖2 數據字典

瀏覽完數據後,開始用一些特徵工程的方法處理一下數據。首先檢查每個特徵變數是否包含缺失值,然後用中位數估算補齊。

用機器學習做信用評分

接下來處理異常值。總體來說,需要根據異常的類型進行處理。例如 如果異常值是由機械錯誤或測量導致的,可以用缺失值的方法進行處理。在這個數據集中有很大的數值,不過這些值看起來都很合理,所以取top/bottom coding。圖3中表明當採用top coding後,數據分布看起來更接近於正態。

用機器學習做信用評分

圖3 用Top coding處理異常值

如圖1中樣例評分卡所示,很顯然每個特徵已被分組為不同的屬性(或屬性組),分組原因如下:

  • 有助於洞察特徵的關聯屬性及性能

  • 在非線性依賴特徵應用線性模型

  • 深入了解風險預測器的行為,有助於制定更好的組合管理策略

那麼我們可以採用分桶法,處理後每個值被賦予它所應在的一個屬性,這樣一來數值特徵便被轉化為分類特徵。以下是分桶後的輸出樣例。

用機器學習做信用評分

圖4 分桶處理「年齡」

所有特徵分組後,特徵工程就完成了。接下來是計算每個屬性的證據權重(WoE)以及每個特點(特徵)的信息價值。之前提到將所有數值類型都分桶處理後轉換為分類型特徵。然而不能直接用這些分類模型去擬合模型,所以需要給這些分類特徵賦予一些數值。計算證據權重(WoE)的目的是為每個分類變數分配一個唯一值。信息價值(IV)用來衡量特徵的預測力,將被用於特徵選擇。下面給出WoE和IV的公式。這裡「Good」意思是客戶不會有嚴重逾期或者目標變數=0,而「Bad」客戶會產生逾期目標變數=1.

用機器學習做信用評分

通常特徵分析報告可提供WoE和IV。我在Python中定義了一個函數自動生成這個報告。以「Age」特徵為例,其特徵分析報告如圖5所示

用機器學習做信用評分

圖5 「Age」特徵分析報告

繪製一張柱狀圖,方便比較各種特徵的IV。從柱狀圖中可以看到最後兩個特徵「NumberOfOpenCreditLinesAndLoans」和 「NumberRealEstateLoansOrLines」的IV值較小,因而只選用其他8個特徵訓練模型。

用機器學習做信用評分

圖6 特徵預測力

模型擬合及評分卡得分係數計算

特徵選取完成後,用WoE替換原有變數的值進行建模。訓練模型的數據已經準備好了。評分卡模型開發通常使用的模型是邏輯回歸,它是一個通用的二分類模型。我通過交叉驗證和網格搜索調整參數,然後用測試數據集檢查模型的精度。 由於Kaggle不會給出目標變數的值,我不得不在線提交以獲得精度。為了證明這些數據處理是有效的,我分別用原始數據和處理後的數據進行建模。Kaggle給出的結果,經過數據處理精度從0.693956提升至0.800946。雷鋒網雷鋒網雷鋒網

最後一步是為每個屬性計算評分卡得分係數,這樣就得到了最終的評分卡。評分卡模型的得分可以通過以下式子計算得到:

Score = (β×WoE+ α/n)×Factor + Offset/n

此處:β —含 給定屬性的邏輯回歸模型的係數

α —邏輯回歸模型的截距 WoE — 給定屬性的證據權重

n —模型特徵數量Factor, Offset — 縮放參數

前四個參數的計算方法在前面已經提到過,這裡給出最後兩個參數factor和offset的計算方法。

  • Factor = pdo/Ln(2)

  • Offset = Score — (Factor × ln(Odds))

這裡pdo意思是加倍odds需要的點數,壞樣本率在之前的特徵分析報告中已計算過了。如果評分卡模型的基礎odds是50:1,其得分為600,那麼pdo=20 ,也就是說每增加20點odds翻一倍,具體來說factor和offset公式如下:

Factor = 20/Ln(2) = 28.85

Offset = 600- 28.85 × Ln (50) = 487.14

算完這些之後,評分卡開發就完成了,圖7中列出了評分卡的部分結果。

用機器學習做信用評分

圖7 最終評分卡 部分特徵

如果來了一個新客戶,你可以立刻查表找出特徵對應的得分,然後評分卡最終的得分是每個特徵得分值之和。比如說,銀行開發了一位新的信用卡申請人,年齡45歲、負債率0.5、月收入5000美元。其信用評分為 53 + 55 + 57 = 165。

如需要開發更精準的評分卡,開發人員需要考慮更多場景。例如有些個人屬於「Bad」,然而申請卻通過了。或者一些個人屬於「Good」,但申請被拒絕。因此拒絕推斷需要結合到開發過程中。這裡並未實現,因為在我的數據集中缺少拒絕數據。如果你想更深入了解這部分,推薦你閱讀Naeem Siddiqi寫的 《Credit Risk Scorecards — Developing and Implementing Intelligent Credit Scoring》。

想要繼續查看該篇文章相關鏈接和參考文獻?

點擊用機器學習做信用評分】即可訪問:

https://ai.yanxishe.com/page/TextTranslation/1626

機器學習大禮包

限時免費18本經典書籍/Stanford經典教材+論文

點擊鏈接即可獲取:https://ai.yanxishe.com/page/resourceDetail/574

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

比特大陸發布螞蟻礦機S17 Pro,搭載第二代7nm晶元
對話Roadstar投資人:一家自動駕駛公司之死(二)

TAG:雷鋒網 |