顧清華, 宋思遠, 張新生, 暴子旗
(1.西安建筑科技大學 資源工程學院,陜西 西安 710055; 2.西安市智慧工業感知計算與決策重點實驗室,陜西 西安 710055; 3.西安建筑科技大學 管理學院,陜西 西安 710055)
隨著我國經濟快速發展,良好的信用經濟環境是我國社會發展的經濟基礎。從商業銀行的視角來看,隨著個人信貸業務的快速擴張,個人信用風險已成為商業銀行面臨的重要風險,也是導致國家金融體系不穩定的重要原因之一,因此如何更好評價個人信用風險成為當務之急。
在個人信用風險預測問題中,分析以往的金融借貸數據可知,借貸行為產生后,最終可以如期還款的用戶占大部分,僅有少數違約用戶由于其還款能力有限不能按時還款,因此形成不平衡的風險數據。不平衡數據會使得樣本分類準確率急速下降,不能滿足模型對分類效果的要求[1,2]。為了降低不平衡數據的傾斜度,現有研究對不平衡數據的處理主要包括過采樣[3]、欠采樣[4]以及混合采樣[5]三種方式。由于個人信用風險數據極度不平衡,違約樣本數量遠遠大于非違約樣本,而被錯分的違約樣本會造成銀行企業的利潤損失,欠采樣容易造成信息損失,為了保證分類模型的樣本數量以及足夠的訓練,大都采用過采樣技術[6]。
信用風險評估的方法有很多, FERNANDES和ARTES[7]使用LR衡量客戶違約風險,模型簡單好解釋,但信用評價準確度不高。BUTARU等[8]在信用卡拖欠問題上,發現決策樹和隨機森林的預測效果優于邏輯回歸。程硯秋[9]使用違約樣本正確識別率代替以往的非違約樣本識別率的度量指標,并采用不均衡支持向量機對信用風險評價指標進行賦權,從而有效區分樣本。個人信用風險數據維度較大,傳統單模型受到變量維度的限制,不能在大環境下使用,且客戶數據情況復雜,使用單一分類器可能不能很好將其區分開,而集成學習的應用大大改善了這一缺點。陳舒期和梁雪春[10]提出基于AR-SKB的SVM集成模型大大提高了支持向量機的分類識別性能。ZHU等[11]比較了信用風險預測的六種方法,顯示集成學習有更高的準確性。柳向東和李鳳[12]通過對比RF,ANN,CART算法,實驗表明RF適合處理不平衡數據集,且對信用風險的識別能力較好。ZHANG等[13]和NIU等[14]使用Bagging對數據類別進行有效識別,獲得了良好的信用預測性能。上述研究表明,集成算法可以更好地保證模型的穩健性,在信用風險評估上也可以表現出更好的性能。而本文使用的Stacking方法是一種新穎的集成算法,通過組合不同性能的學習器來更好的預測信用風險,將集成的知識遷移到簡單分類器上,顯著提升預測效果。雖然Stacking方法已被廣泛用于其他領域[15-17],但是目前在信用風險評估的相關研究工作還很少。
基于此,本文提出了改進BS-Stacking集成模型,首先對Borderline SMOTE-2算法進行改進,在強化小眾樣本邊界區域識別的基礎上,進一步對噪聲點進行去除,從而保證對違約樣本的精確預測;此外,針對Stacking集成算法中分類器存在冗余情況、可能會降低預測性能的問題,使用網格搜索進行調參,并提出使用LR對個體學習器進行貢獻度分析,從而得到最優個體學習器組合,使得整個模型達到最優性能。通過與單分類器以及不同堆疊方式的比較,驗證了所提出集成模型的有效性。
本文提出一種基于改進BS-Stacking模型的個人信用風險評估方法,其中改進后的模型用于處理不平衡的個人信用風險評估數據。模型主要包括5個部分:(1)使用改進后的Borderline SMOTE-2對不平衡個人信用風險數據進行采樣;(2)網格搜索調參;(3)利用采樣后的數據與尋優后的參數對個體學習器進行訓練;(4)利用個體學習器訓練生成的新特征對元模型進行訓練;(5)利用元模型LR對各個體學習器進行貢獻度分析;(6)得出最終模型以及性能測試結果。模型流程見圖1。

圖1 模型流程圖
Borderline-SMOTE[18]是一種自適應綜合過采樣方法,主要思想是找到小眾樣本的邊界區域,對邊界區域的小眾樣本采用SMOTE方法進行樣本生成。該算法有兩個變種:Borderline SMOTE-1和Borderline SMOTE-2,這兩種方法都可以加強邊界處模糊樣本的存在感,而Borderline SMOTE-2是在方法1的基礎上,在生成樣本點時考慮將K近鄰中的任意一個樣本進行線性插值,使新增樣本更加靠近真實值。
在Borderline SMOTE-2中,算法將處于大小樣本分類邊界的樣本點進行線性插值生成新的樣本點,未對安全區的樣本點以及噪聲點進行處理。噪聲點的出現有兩種情況:輸出錯誤與輸入錯誤,個人信用風險數據數據量大,管理規范不統一,容易出現以上兩種情況。而噪聲點的存在勢必會影響算法學習的性能與效果,因此本研究在Borderline SMOTE-2的基礎上,將噪聲點進行過濾,可以使算法更好地學習數據。圖2為原理圖,算法流程如下:

圖2 Borderline SMOTE-2 原理圖
輸入:小眾樣本P,大眾樣本N,訓練集T
輸出:生成后的新數據集
Step1對于少數類P中的每一個樣本P′,從整個訓練集中計算其m個最近鄰,其中m個最近鄰中多數類樣本的數量為m′(0≤m′≤m);
Step2對于若0≤m′≤m/2,則該樣本點為安全點,不對其做任何改動;
Step3對于若m′=m,即m個最近鄰均為多數類樣本,則該樣本點為噪聲點,在該步驟中去除該類點;
Step4對于若m/2≤m′≤m,則該樣本點為危險點,即容易被誤分類的點,設置集合Danger={P′},并進行下一步操作;



本研究所用數據集是基于UCI公開的德國個人信用數據集,其中包含1000個樣本,24個特征,為二分類數據。其中好壞樣本占比700:300,為不平衡數據集,因此對其使用改進后的Borderline SMOTE-2方法對數據進行處理。通過算法處理后的數據集正負樣本比為700:661,共1361條數據,共有噪聲點39個。
Stacking是一種分層模型集成框架,通常使用異質弱學習器,并行的學習他們,并通過一個元模型將其組合起來,根據不同弱模型的預測結果作為新特征集合供元模型訓練使用,并輸出一個最終的預測結果。Stacking算法的并行計算在于學習模型的穩定性,并且分層預測的計算結果遠遠優于向量均值化和投票機制。
本文使用兩個堆疊層進行了實驗。第一層由8種不同的基礎模型組成(SVC,GBDT,RF,AdaBoost,XGBoost,LightGBM,KNN,LR),第二層只包含一個最終模型或元模型(LR)。該框架如圖3所示。

圖3 堆疊概要圖
在第一層模型中,以Adaboost為代表的Boosting在訓練過程中對于錯分數據給予較大的權重,從而提升整體模型的準確率;以RF為代表的Bagging使用有放回隨機抽樣,數據集之間相互獨立,可以提高不穩定模型的準確率,并降低過擬合的程度;其他單算法則保證了模型輸出數據的多樣性。Stacking能夠成功的關鍵在于第一層模型能針對原始訓練數據得出有差異性且預測能力好的輸出值,第二層模型繼續學習后,進一步提升整體模型預測的準確度和穩定性。
邏輯回歸在個人信用評估領域的應用已經相當成熟,具有良好的適用性和穩健性。假設具有p個獨立變量的觀測向量x=(x1,x2,…,xp),根據觀測值某件事情發生的條件概率為P(Y=1|x)。邏輯回歸模型采用如下方法計算該條件概率:首先將特征線性求和,然后使用邏輯函數進行映射,求得條件概率。
特征向量各個分量線性求和公式為:hθ(x)=z=θTx。其中θ是模型中體現貢獻度的參數,x是輸入。邏輯函數(也稱sigmoid函數)的表達式為公式(1),樣本特征向量和權值線性求和,之后依據sigmoid函數的形式求出公式(1),根據決策邊界可以進行兩類樣本的分類。
(1)
函數圖像如圖4所示。

圖4 Sigmoid函數圖
邏輯回歸損失函數為公式(2),在求解參數θ的過程中利用梯度下降法可以得到θ的更新公式,見公式(3)。
(2)
(3)
其中m:訓練樣本的個數;y:原訓練樣本中的y值;上角標i:第i個樣本;α:步長;下標j:參數θ的第j個元素。
2.1.1 數據描述
數據集是銀行真實的數據,來自UCI公開的德國信用數據集(網址http://archive.ics.uci.edu/ml/datasets/Statlog+%28German+Credit+Data%29),該數據集有1000個樣本,屬于小型數據集,正類樣本(非違約,標簽為1)有700個,負類樣本(違約,標簽為2)有300個,每個原始樣本有20個指標屬性,便于數據分析,該數據集被增加至24個屬性,表1是20個數據特征描述。

表1 樣本特征描述
2.1.2 數據預處理
數據集中包括定性指標與定量指標,定性指標即表示類別的指標,對于定性指標之間的數學計算是沒有意義的,因此不能直接使用。通常有兩種方法進行處理:一是處理只作為分類的指標,二是處理有區域劃分的有序指標,表2為基于這兩種方法對定性指標的處理結果,定量化處理后的指標與余下的指標進行歸一化處理,保證數據分析的結果不受到量綱的影響,最終得到我們最終的評價指標體系數據。

表2 定性指標處理
本研究是基于Stacking的個人信用風險預測,選用準確率(Accuracy)和AUC值來衡量預測的準確性,利用精準率(Precision)、召回率(Recall)、F1得分、特異度(Specificity)來衡量模型的有效性。
2.3.1 改進后的Borderline SMOTE-2測試結果比較
在最初算法中,選用SVC,GBDT,RF,AdaBoost,XGBoost,LightGBM,KNN,LR共8個模型作為個體學習器,選擇LR作為元模型訓練個體學習器的輸出,采用5折交叉驗證結合網格搜索的方式確定分類器參數,訓練集與測試集劃分比例為7:3,從而進行實驗,結果如表3、表4所示,表3、表4數據均為10次試驗之后的平均值,meta1為未進行刪減的8個基模型。

表3 使用不平衡處理算法對數據進行處理的準確率實驗結果對比

表4 堆疊模型在個人信用風險數據上測試結果比較
表3為使用各種不平衡算法以及本文算法處理前后的模型結果對比,數據表明改進后的算法對比其他算法表現最佳,集成分類器相比單分類器增加效果顯著,且Stacking集成后的模型與Bagging、Boosting算法性能相比較,性能最少提升3%,也由此驗證了Stacking模型的有效性,也可以看出改進后的不平衡數據處理方法對提升模型性能有著重要的作用。
圖5為各不平衡算法處理后的準確率變化圖,可以看出RF,LightGBM,GBDT,XGBoost,AdaBoost漲幅最為明顯,其次是KNN,而SVC,LR浮動不明顯,更有下降的趨勢,一方面說明結合改進后的BS算法使用時,集成算法較傳統單分類器可以更好的處理信用風險數據,對數據集的適應能力很強,從而實現精準分類;另一方面LR這種單分類器容易欠擬合,可能會影響整體模型的精度,因此需要對分類器進行篩選,確定最優組合模型。

圖5 各不平衡處理算法的準確率結果
2.3.2 基模型貢獻度排序
圖6是基于元模型對基模型做的貢獻度分析,整體算法將基于圖6來進行模型的最終確定。

圖6 基模型貢獻度
在所提出的模型中,基模型的輸出預測結果作為元模型的新特征使用,那么在訓練完成后,LR分類器依據公式(2)和公式(3)得出一組權值θo,θ1,…,θp。在本模型中,可以得到各分類器的權值并進行排序,從而起到篩選的效果,使得整體Stacking模型達到最優。
2.3.3 整體測試結果說明
表4為各堆疊組合在個人信用風險數據上測試結果的比較,由數據可知,使用堆疊模型比單純使用單模型的各項指標都要好,meta1在精度上比最高的RF提高了1%,對違約樣本識別的指標上提高了1%。meta2為通過表3分析刪去LR的集成模型,meta(3-6)為通過貢獻度排序來進行逐步刪除分類器的集成模型。
圖7是每個指標的變化趨勢,Accuracy,Precision,F1與Specificity均是在meta3之后開始降低,說明在meta3模型組合時,整體精確度、特異度與穩定性達到最高,而Recall與刪減前相比變化不大,說明對非違約樣本的識別沒有變化。在個人信用風險評估中,更需要識別的是違約樣本,因此特異度指標更值得考慮,最終以meta3組合作為最終模型,即以GBDT,RF,AdaBoost,XGBoost,LightGBM,KNN為基模型,LR為元模型構建改進BS-Stacking模型。

(a)Accuracy

(b)Precision

(c)F1-Score

(d)Recall

(e)Specificity
2.3.4Roc-Auc指標說明
圖8是meta3堆疊模型在訓練集上的測試效果。

圖8 模型的ROC曲線圖
圖8中,ROC曲線下的面積為0.8811,和第一層模型的6個分類器相比在表現最優,可以表明Stacking模型使用基模型組成新特征方式的分類性能要優于單分類器,所提出的模型在個人信用風險評估問題上分類效果精確且穩定,可以更好的識別違約樣本。
個人信用風險評估對于企業識別用戶風險至關重要,能否準確識別違約用戶對于社會經濟發展具有重要的影響。本研究所用數據集由1000個樣本、24個特征組成,根據個人信用風險數據特點對Borderline SMOTE-2算法進行改進,在生成邊界區域樣本的基礎上對噪聲點進行有針對性的去除,大大提高了預測性能,然后選用Stacking堆疊模型對處理后的數據進行分類預測,整合八種有差異化的分類器形成一種新的集成框架,并創新性的使用了LR對基模型進行貢獻度分析從而對個體學習器進行篩選,得到最優組合模型,使得集成模型性能達到最優狀態。
實驗結果顯示,提出的模型準確度為88.2%,ROC為88.1%,Recall為92.4%,F1為89%,各項指標均有提升,特別是在對違約樣本的識別率上,所提出模型表現最好。試驗從多個角度證明了不平衡算法以及集成算法的有效性,也表明本算法在個人信用風險評估上可以實現較高的精度與穩健性。