1. 程式人生 > >大資料新演算法在個人信用風險評估模型中使用效果的評估

大資料新演算法在個人信用風險評估模型中使用效果的評估

上世紀80年代,美國費埃哲公司基於邏輯迴歸演算法構建了費埃哲信用評分體系,併成為美國信用評分市場的巨頭。然而,隨著大資料建模技術的日新月異,許多新演算法、新技術層出不窮。本專案選取了五種大資料新演算法,包括支援向量機(SVM)、決策樹、隨機森林、自適應提升(AdaBoost)和梯度提升決策樹(GBDT),在中國人民銀行徵信中心的大規模樣本上進行了個人風險評估模型的構建,並從三方面進行評估。首先,從模型的準確性和可解釋性方面綜合對比各演算法構建的模型在個人信用風險評估中的效果。之後使用時點外測試樣本,對各演算法構建的模型的外部時點穩定性進行了評估。

專案背景

目前,中國人民銀行徵信中心的信用報告數字解讀體系參考了美國個人消費信用評估公司費埃哲開發的費埃哲信用評分體系。費埃哲信用評分體系構建於上世紀80年代,其核心演算法是邏輯迴歸。 隨著統計分析和大資料建模技術的進步,演算法的發展日新月異,形成了包括決策樹、隨機森林、神經網路分析與自適應提升(AdaBoost)等在內的許多新演算法新技術,而這些大資料新演算法在目前徵信中心的資料集上的準確性、穩定性與可解釋性仍有待驗證評估。

為此,中國人民銀行徵信中心聯合北京至信普林科技有限公司,選取了五種大資料新演算法,分別為支援向量機(SVM)、決策樹、隨機森林、自適應提升(AdaBoost)和梯度提升決策樹(GBDT),全面評估和比較上述五種演算法在個人信用風險評估模型中的效果,包括穩定性、準確性與可解釋性,以進一步理解相關演算法在評分上的優勢與短板。對新型評分模型的探索與試驗有助於為徵信中心積累模型演算法經驗,與國際領先的建模方法接軌,同時以新穎的信用評估模型作為戰略儲備,為打造我國自有的信用評分體系積累經驗。

演算法介紹

支援向量機(Support Vector Machine,SVM)是一種分類學習演算法。支援向量機(SVM)的基本模型是定義在特徵空間上的間隔最大的線性分類器。線性支援向量機與邏輯迴歸類似,都是給每一個變數賦予一個權重因子,最終變數的加權和作為預測的依據。同時支援向量機(SVM)可以使用核函式將變數對映到高維空間,從而提升模型效果。然而這種方法的主要缺點是訓練速度慢,難以直接運用到大規模資料,因此本專案僅對線性支援向量機進行了測試。

決策樹(Decision Tree)是一種基本的分類與迴歸方法。決策樹模型呈樹形結構,可以認為“是否”判斷規則(if-then)的集合,也可以看作定義在特徵空間與類空間上的條件概率分佈。其主要優點是訓練速度快,預測速度也很快。相對於線性模型,決策樹還可以處理非線性資料。此外,決策樹模型可解釋性非常強,對於資料的適應能力也很強;其缺點則是單棵決策樹容易過擬合。

隨機森林(Random Forest)由多棵決策樹組成,每棵決策樹擅長特定人群、重點關注特定變數,然後一起決策,作出最終判斷。隨機森林在構建每棵決策樹時,通過樣本和變數兩個維度進行隨機抽樣。隨機森林的優點是訓練速度快,可以很好地進行並行化,能夠處理大規模資料。

自適應提升(Adaptive Boosting,AdaBoost)核心思想是利用同一訓練樣本的不同加權版本,訓練一組弱分類器(Weak Learner),然後把這些弱分類器以加權的形式整合起來,形成一個最終的強分類器(Strong Learner)。在每一步迭代過程中,被當前弱分類器分錯的樣本的權重會相應得到提高,被當前弱分類器分對的樣本的權重則會相應降低。弱分類器的權重則根據當前分類器的加權錯誤率來確定。自適應提升(AdaBoost)的優點是不容易產生過擬合,預測效果好。

梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)與自適應提升(AdaBoost)在很多方面類似,也是子模型之間相互協作,不同的是後一個子模型對前一個模型的失誤進行修正。梯度提升決策樹(GBDT)模型預測的時候,對於輸入的一個樣本例項,首先會賦予一個初值,然後會遍歷每一棵決策樹,每棵樹都會對預測值進行調整修正,最後得到預測的結果。

邏輯迴歸適合處理線性資料,而實際問題往往是非線性的,特別是在信用風險評估場景下。支援向量機(SVM)能夠通過核函式等方法處理非線性資料,然而在樣本量大時訓練速度太慢。決策樹能夠處理非線性資料,但是單棵決策樹對資料十分敏感,容易產生過擬合問題。隨機森林通過取樣來減小計算量,同時能夠利用並行方式進行模型訓練,因而適合處理大規模高維資料。自適應提升(AdaBoost)和梯度提升決策樹(GBDT)在基本決策樹模型的基礎上,通過資料權重變換等方式,能夠將一個弱模型變成強模型,同時能夠有效避免過擬合問題。

建模流程

本次研究使用的資料集為徵信中心資料庫儲存的1265萬人的個人徵信資料,具體包括2010年7月31日時間點的貸款記錄、貸記卡記錄、準貸記卡記錄、特殊交易記錄和查詢記錄。採用自2010年7月31日至2012年7月31日之間個人違約情況的記錄定義表現變數,表現變數取值範圍為0(未逾期)和1(逾期90天以上)。

專案建模的流程如下:(1)首先對原始資料進行分析,研究原始資料各欄位的含義並分析資料質量;(2)基於分析結果,確定刻畫個人信用的七大類統計指標, 包括歷史還款資訊、帳戶型別和數量、正在使用和已結清帳戶資訊、信用時長、新開帳戶資訊、查詢資訊和特殊交易資訊;(3)對部分連續型指標採用單變數決策樹的方法進行分欄處理;(4)利用大資料演算法構建個人信用風險評估模型;(5)對各演算法構建的模型效果進行評估和分析。

本專案中資料的分析、處理與建模等均是基於派森(Python) 環境。②

效果評估

本專案主要從準確性,穩定性,可解釋性三個方面來評估模型。其中準確性指標包括感受性曲線下面積(ROC_AUC)和區分度指標(Kolmogorov-Smirnov,KS),穩定性指標主要參考群體穩定指數(Population Shift Index,PSI)。可解釋性可通過指標重要度來進行評估,其中指標重要度用於衡量各個解釋變數對演算法預測結果影響的程度。感受性曲線下面積(ROC_AUC)、區分度指標(KS)和群體穩定指數(PSI)的具體含義如下:

感受性曲線下面積(ROC_AUC)

感受性曲線下面積(ROC_AUC)是一個從整體上評價模型準確性的指標,是感受性曲線(ROC)與橫軸之間的面積。相比於其他評價指標,感受性曲線(ROC)具有一定的穩定性,它不會因為正負樣本分佈的變化而產生不同的曲線。感受性曲線(ROC)通過真陽率(True Positive Rate, TPR)和假陽率(False Positive Rate, FPR)兩個指標進行繪製。感受性曲線(ROC)示意如圖1所示。感受性曲線下面積(ROC_AUC)取值範圍為[0,1],取值越大,代表模型整體準確性越好。

區分度指標(KS)

區分度指標(KS)是度量具體模型下正常樣本和違約樣本分佈的最大差距,首先按照樣本的信用分數或預測違約率從小到大進行排序,然後計算每一個分數或違約率下好壞樣本的累計佔比。正常和違約樣本的累計佔比差值的最大值即為區分度指標(KS)。區分度指標(KS)的示意如圖2所示。區分度指標(KS)小於0.2代表模型準確性差,超過0.75則代表模型準確性高。

群體穩定指數(PSI)

模型是在特定時間點開發的,是否對外部樣本有效需要經過穩定性測試。群體穩定指數(Population Stability Index,PSI)是最常用的模型穩定性評價指標。群體穩定指數(PSI)的計算公式為:

其中預期佔比(Expected%)和實際佔比(Actual%)分別表示在模型訓練樣本和測試樣本中,對應分數段或違約率段內的人群佔比。一般而言,群體穩定指數(PSI)小於0.1代表模型穩定性高,群體穩定指數(PSI)大於0.1小於0.25代表模型穩定性中等,群體穩定指數(PSI)大於0.25代表模型穩定性較差。

2010年樣本測試。我們首先在2010年樣本上進行建模,評估各模型的準確性與可解釋性。2010年樣本是指2010年表現變數取值為0(未逾期)和1(逾期90天以上)的人群,樣本大小約為1000萬。選取樣本的70%作為訓練樣本構建模型,30%作為測試樣本評估模型效果。各模型的感受性曲線下面積(ROC_AUC)和區分度指標(KS)分別如圖3所示和圖4所示。

從上述結果可以看出,整合演算法(隨機森林,梯度提升決策樹,自適應提升)建立的模型表現更好,感受性曲線下面積(ROC_AUC)指標達到0.95以上。 支援向量機(SVM)的準確性表現最差,這與資料樣本大,在專案環境下無法使用核函式有關。決策樹表現一般,感受性曲線下面積(ROC_AUC)指標分別為0.9477。 具體地,如果以區分度指標(KS)作為衡量標準,自適應提升(AdaBoost)表現最好,區分度指標(KS)達到0.7803。其他模型的表現排序為:隨機森林>梯度提升決策樹(GBDT)>決策樹>支援向量機(SVM)。

在可解釋性方面,通過各演算法計算指標重要度以幫助對結果進行解讀。綜合考慮所有模型生成的指標重要度而得出的綜合排序如表1所示。

從各模型指標重要度綜合排序來看,對個人信用評估影響最大的因素分別是:逾期情況、正常還款比例、免擔保貸款、授信額度使用率、信用年限等。可見,影響大資料新演算法預測結果的都是可解釋性較高的統計指標。與傳統的邏輯迴歸模型相比,大資料演算法不需要太多的變數選擇和變數評估工作,能夠在模型的構建過程中自動選取重要的變數,並對變數的重要性進行自動評估。

外部時點樣本測試。為了評估模型在外部時點樣本上的表現,我們對大資料新演算法模型在外部時點樣本上進行了測試。其中外部時點樣本選取截至2011年3月31日時間點的紀錄,樣本總人數約為1300萬。使用2010年訓練樣本所訓練的模型在外部時點樣本上進行測試,分析比較其在外部時點樣本上的準確性和穩定性。

各模型的效能評價指標如圖5與表2所示,其中2010年表示模型在2010年測試樣本上的表現,2011年表示模型在2011年測試樣本上的表現。

對比模型在2010年及2011年樣本上的預測結果,在準確性方面,決策樹、隨機森林、自適應提升(AdaBoost)的感受性曲線下面積(ROC_AUC)有所下降,而梯度提升決策樹(GBDT)的感受性曲線下面積(ROC_AUC)有所提升;決策樹、自適應提升(AdaBoost)的區分度指標(KS)有所下降,而邏輯迴歸、隨機森林、梯度提升決策樹(GBDT)和支援向量機(SVM)的區分度指標(KS)有所提升。整體來說,準確性方面各模型在2011年測試樣本上的表現與在2010年測試樣本上的表現無明顯差異,表現穩定。從群體穩定指數(PSI)來看,自適應提升(AdaBoost)和支援向量機(SVM)穩定性最好(PSI<0.1),而決策樹與梯度提升決策樹(GBDT)的穩定性次之(0.1<PSI<0.25),隨機森林的穩定性較低(PSI>0.25)。

總結

為了評估大資料新演算法在個人信用風險評估模型中使用效果,中國人民銀行徵信中心聯合北京至信普林科技有限公司,從準確性、穩定性和可解釋性三個方面對主流的大資料演算法的模型構建效果進行了綜合評估。專案選取了五種大資料新演算法,包括決策樹、隨機森林、自適應提升(AdaBoost)、梯度提升決策樹(GBDT)和支援向量機(SVM),在千萬級別的大規模樣本中進行個人風險評估模型的構建和分析。

在2010年1000萬樣本上的分析結果表明,自適應提升(AdaBoost)、梯度提升決策樹(GBDT)和隨機森林三種整合演算法準確性表現最佳,決策樹準確性次之,支援向量機(SVM)的準確性最差。同時,對外部時點樣本的分析結果表明,自適應提升(AdaBoost)和支援向量機(SVM)穩定性高,決策樹、梯度提升決策樹(GBDT)穩定性中,隨機森林穩定性低。在可解釋性方面,大資料新演算法都能夠對統計指標的重要度作出評估,統計指標綜合排序靠前的統計指標的解釋性較好。綜合來看,部分大資料演算法(如自適應提升)在準確性和穩定性上均表現優異,可以作為我國新一代信用風險評估模型的戰略儲備。

大資料演算法是模型構建的工具,其結果不是絕對的,如何根據資料特徵和演算法特性構建合適的模型也是非常關鍵的。在實際模型開發過程中,需要業務專家和資料科學團隊在資料邏輯的理解和建模指標的選取上緊密合作。此外,資料科學團隊需要對演算法的核心原理有著深刻的理解,並且具備快速的演算法實現能力,強大的大規模資料處理能力,才能充分利用大資料演算法開發出高效能的信用風險評估模型。