王 靜,王艷麗,孫士保*,賈少勇
(1. 河南科技大學信息工程學院,河南 洛陽 471023;2. 河南科技大學軟件學院,河南 洛陽 471023)
隨著我國經濟的飛速發展以及消費觀念的改變,信貸業務正在逐漸擴大,銀行決定是否向貸款人發放貸款在信貸行業中備受關注。不良貸款的出現增加了銀行的信用風險問題,因此,構建有效的信用評分模型在信貸行業中被人們越來越關注和重視。
信用評分實質上是將總體按照不同的特征分配到“良好信用”組或“不良信用”組,從而對貸款的信用風險進行評價。通過構建信用評分模型,提高評估績效的同時減輕風險的靈活性。
傳統的信用評分模型是眾多學者基于統計學和機器學習法等方面來構建,此方法主要有線性判別分析(Linear discriminant analysis,LDA)[1]、Logistic回歸[2]等。典型的信用評分模型簡單且可解釋強,但因預測準確率偏低,應用范圍相對較少。隨著計算技術和優化理論的發展,信用評分方法也逐漸智能化,其中較為常見的信用評分方法有決策樹(Decision Tree,DT)[3]、神經網絡(ANN)[4]、支持向量機(Support Vector Machine,SVM)[5]等,鑒于以上常見方法在建立信用評分時模型簡單易理解,神經網絡和集成學習模型預測準確率較高。在處理二分類問題時模型有較好效果,但可解釋性相比于傳統的信用評分方法較弱。
信用評分模型若運用到現實生活中,則需要考慮一些不可忽視的問題。如在前期篩選數據時出現“好”客戶數據遠遠多于“壞”客戶數據,從而出現數據不平衡現象。目前,處理非平衡數據問題從分類算法和數據兩個層面:數據層面常基于采樣技術,分類算法層面常基于代價敏感學習。在信貸業務中,代價敏感學習實現修正分類面相對較難,從而提出數據層面的采樣方法。采用此方法解決實際問題中出現的數據分布不平衡問題[6]。早期有學者使用隨機欠采樣對數據進行預處理,但少數類樣本易丟失。Blake等[7]提出Balance Cascade算法,此算法易過擬合。Chawla等[8]提出一種新的過采樣方法SMOTE(synthetic minority over-sampling technique),此方法易產生混疊現象造成分類效果不佳。Han等[9]基于SMOTE算法提出Borderline-SMOTE算法,在邊緣區域進行插值,使得新樣本更加有效且分類效果良好。同時有眾多學者對評分模型的預測準確度方面進行研究,徐海洋等[10]改進線性判別分析構建多目標信用評分模型,此方法能有效地提升分類準確率,但僅從統計方法進行探討具有一定的局限性。陳煜等[11]引入隨機代價敏感向量的方式,增強隨機森林分類器的差異性,但分類效果不佳。Han Lu[12]將人工智能和logistic回歸融合構建信用評分模型,表明組合模型相較于單一模型精度更高。
基于現有研究,構建信用評分模型將基于過采樣方法處理非平衡數據,同時考慮可解釋性和預測準確率在信用評分模型中所占的比重。因此,本文提出結合Borderline-SMOTE的方法對不平衡分布的數據進行預處理。LDA模型引進顯著的預測結果作為BP神經網絡模型的輸入變量的方法構建信用評分模型。此外,通過多個數據集與多種機器學習算法進行對比,選取適當的評價指標論證模型的可行性和有效性。
LDA最早由Fisher提出解決二分類問題的fisher判別分析,LDA是一種非常有效的可監督的降維技術。當前該項技術在人臉識別等方面已廣泛存在[13]。線性判別分析有較好的預測變量的某些屬性,能夠準確地尋找到最佳的線性組合,以最佳精度將研究對象分為兩個或兩個群體以上。因此,本文將基于LDA模型在信用評分問題中預測輸出變量。

(1)

(2)
zi=WTxi
(3)

20世紀80年代,BP神經網絡是Rumelhart與McCelland為首的研究小組所提出[14]。BPNN則是按照誤差逆轉傳播法訓練的神經網絡,其主要思想是學習過程中信號的正向傳播和誤差的反向傳播方式的組合。BPNN拓撲圖如圖1所示。

圖1 BPNN拓撲結構
BPNN本質上是一種基于梯度最陡下降訓練算法的網絡,是迄今為止最常用的范式。設D={(x1,y1),(x2,y2),…,(xm,ym)},xi∈Rd,yi∈Rl為訓練集,l輸入層節點數,h隱含層節點數,o輸出層節點數,輸入層至隱含層的權重由ωij表示,隱含層至輸出層的權重由ωjk表示,輸入層至隱含層偏置由aj表示,隱含層至輸出層偏置由bk表示,學習率由η表示,g(x)取Sig函數

(4)
并進行隱含層的輸出Hj

(5)
和輸出層的輸出Ok

(6)
根據(6)公式計算誤差E

(7)
其中Yk為期望輸出,記Yk-Ok=ek,則E也可以表示

(8)
以上公式中,i=1…l,j=1…l,k=1…o。
誤差反向傳播過程中,使得誤差函數最小化,借用梯度下降法進行隱含層至輸出層的更新,輸入層至隱含層的權值表達為

(9)
以及隱含層至輸出層的更新,輸入層至隱含層的偏置表達為

(10)
以往研究信用評分模型是基于數據平衡所構建,忽略非平衡數據對信用評分模型的影響,使得所構建模型的預測結果偏向于多類。在實際問題中,考慮過多的是少數類樣本,并希望可以有效預測少數類,達到特異預警的效果。
令選取kaggle開源數據集,以及UCI公開的德國數據集和澳大利亞數據集。數據集顯示,三種開源數據集均出現非平衡分布,正負樣本比例分別為1:14;1:3;1:5,如圖2至圖4所示。

圖2 kaggle數據集正負樣本分布

圖3 德國數據集正負樣本分布

圖4 澳大利亞數據集正負樣本分布
本文選用Borderline-SMOTE算法,其算法是基于SMOTE方法改進的自適應合成抽樣法。SMOTE方法在產生新樣本時缺乏對近鄰樣本分布的考慮,采用線性插值處理操作,使得樣本重復率大大增加。為解決此問題,本文基于Borderline-SMOTE算法對少數類邊界過采樣合成新樣本,同時考慮少數類樣本周圍多數類樣本分布情況。相比于SMOTE算法,Borderline-SMOTE算法合成的新樣本可將少數類樣本合理分布,對分類器的影響也相對較小。算法具體操作步驟如下:
1)識別少數類樣本L:
①每個pi?Smin確定最優的鄰近樣本集合,稱該數據集為Si:m-NN,且Si:m-NN?S。
②判斷多數類樣本中與pi鄰近樣本集的數目,表達為:|Si:m-NN∩Smaj|。
2)少數類樣本L按k個最近鄰分類處理:
3)令邊界樣本集B={l1′,l2′,…,lb′},同時進行B集合內每個樣本l1′的計算,i=1,2,…,b是在少量樣本L中的k′個最近鄰lij。
4)隨機選取s(1
5)計算全局特征差值dij=li′-lij,j=1,2,…,s的度量。
6)乘以隨機數rij,rij(0,1),若lij∈N′∪s,則rij(0,0.5)。
7)生成人工少數類樣本hij:
hij=li′+rij*dij,j=1,2,…,s
(11)
8)重復上述步驟3到步驟7操作,若人工少量樣本個數符合需求,則該樣本集得以均衡。
鑒于以上信息,基于均值插補方法處理缺失值,使得月收入變量數據作為定距型,選用該變量的均值進行填補。與此同時,數據中缺失相對較少,選擇直接刪除即可。其次,箱線圖用以判斷異常值
xi>Q3+k(IQR)∨xi (12) IQR=Q3-Q1,k≥0 (13) 進行各個特征的異常值剔除。之后采用Borderline-SMOTE方法解決數據非平衡分布。 基于數據平衡分布,選用LDA模型,將預測較好的輸出變量作為BPNN模型的輸入變量,輸出預測結果。采用LDA-BPNN構建信用評分模型,圖5為該方法的結構框架圖。 圖5 結構框架圖 LDA-Borderline-SMOTE-BPNN信用評分模型構建具體方法:Borderline-SMOTE算法處理非平衡數據分布,其后選用LDA模型將各個數據集預測較好的輸出變量轉變為BP神經網絡的輸入變量,確定初始權值并進行網絡初始化,計算各層的實際期望值和網絡樣本輸出值之間誤差,對客戶進行信用分類。算法具體步驟如下所示。 該方法的基本步驟 Iuput:信用數據集。 Output:模型評價指標。 Step1:對信用數據進行缺失值和異常值處理; Step2:劃分訓練集和測試集; Step3:采用Borderline-SMOTE算法進行數據不平衡處理; Step4:基于以上步驟,采用LDA模型預測較好的輸出變量,作為BPNN模型的輸入變量,構建LDA-Borderline-SMOTE-BPNN信用評分模型,在訓練集上訓練; Step5:在測試集上評估模型。 實驗配置環境在Window10 64位操作系統上執行。對此三類數據集分別選取70%為訓練集,其30%為測試集,數據的預處理則使用Borderline-SMOTE方法。實驗選用Python代碼實現數據平衡分布,初始數據集正負樣本比例1:14、1:2、1:5,經缺失值和異常值處理正負樣本比例為1:7、1:2、1:5,基于Borderline-SMOTE方法進行數據預處理,正負樣本比例均為1:1。 信用評分模型的構建實質是一種二分類問題,因此,選取查準率(Pre)、召回率(recall)、準確率(Acc)作為評價機制,其中正樣本為良好信用者,負樣本為不良信用者。查準率、召回率、準確率的定義分別如下所示 (14) (15) (16) 以上式子中各個值的含義如表1信用評分模型的混淆矩陣所示。 表1 信用評分模型的混淆矩陣 信用評分模型在實際的運用,尤為重要的是預測準確能力。因此,本實驗將采用pr曲線判斷數據平衡前后的預測準確能力。如圖6、圖7、圖8所示。 圖6 kaggle數據集平衡前后pr曲線圖 圖7 澳大利亞數據集平衡前后pr曲線 圖8 德國數據集平衡前后pr曲線 針對不同數據集平衡前后構建的三個模型進行對比分析:以召回率為基準,kaggle數據集中當recall=0.4時,平衡前三個模型的Precision分別為0.02,0.16,0.6,平衡后三個模型的Precision分別為0.03,0.17,0.65;澳大利亞數據集中當recall=0.7時,平衡前三個模型的Precision分別為0.84,0.53,0.86,而平衡后三個模型的Precision分別為0.87,0.59,0.89;德國數據集中當recall=0.925時,平衡前三個模型的Precision分別為0.87,0.875,0.88,而平衡后三個模型的Precision分別為0.88,0.875,0.89。 鑒于以上分析和pr曲線圖的呈現,平衡后三種模型的查準率都略優于平衡前三種模型。因此,基于過采樣技術方法預測能力相對較好。根據pr曲線圖從可解釋性方面而言,平衡后LDA-Borderline-BPNN的模型具較強的可解釋性。 驗證非平衡分布的LDA-BPNN模型的有效性,本實驗采用交叉驗證方法對樣本進行處理,為避免實驗中出現的偶然性,進行10次獨立實驗,將10次的實驗平均值作為數據,進一步測試本實驗的預測效果。各個算法模型檢驗對應的ROC曲線由圖9至圖11所示。 圖9 kaggle數據集ROC曲線圖 圖10 澳大利亞數據集ROC曲線圖 圖11 德國數據集ROC曲線圖 根據ROC曲線得出各個數據集模型的AUC值,從表2中可以看出,采用LDA - Borderline - SMOTE - BPNN模型分類效果在多個模型中預測準確率是相對較高,根據多個模型ROC曲線和AUC值的對比表明分類效果的有效性。 表2 AUC實驗結果 信用評分問題中,為評估模型整體的信用評分能力,需考慮誤分類成本問題。在實際問題中,第一類錯誤的成本雖低于第二類錯誤的成本,但均會給銀行帶來巨大損失。因此良好的信用評分模型的建立則需考慮第一類錯誤和第二類錯誤。表3至表5總結了6種模型的第一類和第二類的誤差。 表3 kaggle數據集第一類和第二類誤差 (%) 表4 澳大利亞數據集第一類和第二類誤差(%) 表5 德國數據集第一類和第二類誤差(%) 由表可知,LDA-BPNN模型在三種數據集的第一類錯誤和第二類錯誤的誤差均相對較低。因此,LDA-BPNN模型能夠有效的減少第一類錯誤和第二類錯誤引發的額外損失,驗證了模型的有效性。 根據表6至表8實驗結果得出LDA - Borderline - SMOTE-BPNN模型擁有最高的準確率、查準率和召回率。準確度數據顯示,提出的算法(LDA - Borderline - SMOTE - BPNN)在三組實驗中分別占據75.49%、87.00%和89.33%,遠高于單一模型BPNN、KNN以及LG等其它算法的準確度;查準率和召回率數據顯示,三個數據集結果均表明LDA - Borderline - SMOTE - BPNN模型相對穩定。 表6 kaggle數據集結果 (%) 表7 澳大利亞數據集結果 (%) 表8 德國數據集結果(%) 本文提出基于LDA - Borderline - SMOTE - BPNN的信用評分模型,通過采用Borderline - SMOTE算法對數據預處理達到數據平衡分布,提高分類效果,實際問題中也可得到應用。以此為基礎,采用LDA模型輸出預測變量作為BPNN的輸入變量,輸出預測準確率(AUC)。實驗結果表明,融合后的模型不僅有效的提高預測準確率和增強可解釋性,而且還有較低的誤分類錯誤。在未來工作中,將其它人工智能技術與BP神經網絡相結合,進一步對BP神經網絡內部做提升,實現基于動態自適應學習速率,進而提升信用評分的分類精度。3.2 LDA-Borderline-SMOTE-BPNN模型

4 實驗結果與分析
4.1 評價指標




4.2 平衡前后對比



4.3 分類算法對比







4.4 實驗結果



5 結論