郭 暢
(安徽大學(xué)經(jīng)濟(jì)學(xué)院,安徽 合肥 230601)
信貸風(fēng)險(xiǎn)一直是商業(yè)銀行不可避免的信用風(fēng)險(xiǎn)之一,然而信用風(fēng)險(xiǎn)管控對(duì)風(fēng)險(xiǎn)評(píng)級(jí)模型有較高的要求,2019年來,隨著數(shù)字普惠金融模式“開放銀行+”的推進(jìn),帶來了個(gè)人、小微信貸業(yè)務(wù)的提升[1]。此時(shí),隨著數(shù)據(jù)量的快速增多,如何對(duì)抗不平衡數(shù)據(jù)的弊端,建立更加精確的信用風(fēng)險(xiǎn)違約預(yù)測(cè)模型,降低商業(yè)銀行所遭受的客戶信貸風(fēng)險(xiǎn),在當(dāng)今金融科技浪潮下更凸顯其重要意義。信貸違約預(yù)測(cè)的目標(biāo)是提前預(yù)知哪些客戶更傾向于違約。然而違約事件的發(fā)生是少數(shù)的,收集到的信貸數(shù)據(jù)往往呈現(xiàn)出正負(fù)樣本分布不平衡的結(jié)構(gòu)。常用的機(jī)器學(xué)習(xí)算法往往建立在訓(xùn)練集各個(gè)類別數(shù)目分布比例大致均等的假設(shè)上[2-3],而在非平衡數(shù)據(jù)集中的表現(xiàn)一般較差。因此,如何處理不平衡的信貸數(shù)據(jù)集對(duì)風(fēng)控模型精度的提升顯得尤為重要。
隨著人工智能第三次浪潮來襲,以神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)和集成方法為首的機(jī)器學(xué)習(xí)算法越來越多地涌入信用風(fēng)險(xiǎn)評(píng)估領(lǐng)域。陳力[4]通過綜合不同的采樣方法,并結(jié)合集成學(xué)習(xí)算法和模型評(píng)價(jià)指標(biāo)構(gòu)建新的算法模型RHSBoost,將“數(shù)據(jù)”和“算法”兩個(gè)方面結(jié)合來對(duì)銀行信用評(píng)級(jí)的不同數(shù)據(jù)集進(jìn)行分類預(yù)測(cè)并得到了不錯(cuò)的效果。古平等[5]在結(jié)合“數(shù)據(jù)”和“算法”的層面上提出AdaBoost-SVM-MSA算法,按照一定規(guī)則將SVM分錯(cuò)的樣本劃分為噪聲樣本、危險(xiǎn)樣本、安全樣本三種類型,然后直接刪除噪聲樣本,取安全樣本進(jìn)行SMOTE過采樣,顯著提高了模型分類準(zhǔn)確率。董路安等[6]在文獻(xiàn)[5]的基礎(chǔ)上,運(yùn)用“安全樣本”消除噪聲干擾,并將Weight-SMOTE方法應(yīng)用于決策樹模型中,提升了信用評(píng)級(jí)模型的可解釋性,但對(duì)正負(fù)樣本均進(jìn)行同原數(shù)據(jù)比例的SMOTE抽樣卻忽略了信用評(píng)估數(shù)據(jù)的不平衡結(jié)構(gòu)。李毅等[9]分別采取過采樣[7]、欠采樣[7]、SMOTE人工合成[8]的三種方法得到三個(gè)數(shù)據(jù)集,對(duì)處理后的三個(gè)數(shù)據(jù)集分別建立三個(gè)機(jī)器學(xué)習(xí)模型,并與未處理數(shù)據(jù)的三種模型結(jié)果進(jìn)行對(duì)比試驗(yàn),得出過采樣結(jié)合隨機(jī)森林模型評(píng)估的結(jié)果高于其他模型。陳啟偉等[10]從欠抽樣方法入手,從多數(shù)類樣本中反復(fù)抽取和少數(shù)類樣本量已知的樣本組成多個(gè)子數(shù)據(jù)集,對(duì)多個(gè)數(shù)據(jù)子集建立模型并采用簡(jiǎn)單平均集成得到較好的預(yù)測(cè)性能。然而,文獻(xiàn)[7-9]未討論現(xiàn)有欠抽樣方法上的改進(jìn)效果,文獻(xiàn)[10]未從子模型個(gè)數(shù)和模型評(píng)價(jià)效果方面進(jìn)行研究。
結(jié)合上述文獻(xiàn)的不足,本文同時(shí)從“數(shù)據(jù)”的修正和“算法”的改進(jìn)入手,選擇UCI真實(shí)業(yè)務(wù)場(chǎng)景的30 000條記錄23個(gè)指標(biāo)的臺(tái)灣客戶信用卡信貸數(shù)據(jù),將“數(shù)據(jù)”和“算法”兩個(gè)層面改進(jìn)的Batch-US-RF集成模型、Batch-US-Xgboost集成模型與Batch-US處理后的單模型、未經(jīng)Batch-US處理的單個(gè)集成模型,與單模型進(jìn)行對(duì)比,并研究模型在不平衡信用卡信貸數(shù)據(jù)上的違約預(yù)測(cè)效果。
批量欠采樣(Batch-US)是基于隨機(jī)欠采樣(random under sample)方法造成的多數(shù)類樣本信息缺失的改進(jìn),它對(duì)多數(shù)類樣本采取多次欠采樣,再和少數(shù)類樣本組合成一系列新樣本,來消除由于信息缺失帶來的分類器分類效果不穩(wěn)定的缺陷。首先,使用欠采樣將多數(shù)類樣本劃分為多個(gè)部分,其中每部分與少數(shù)類樣本數(shù)相同;接著,將這些數(shù)據(jù)和所有少數(shù)類樣本組成新的子集;然后,對(duì)不同的訓(xùn)練子集建立差異化的集成模型;最后,將每折交叉驗(yàn)證的預(yù)測(cè)集預(yù)測(cè)其概率并進(jìn)行簡(jiǎn)單算數(shù)平均后再組合。算法的整體結(jié)構(gòu)見圖1所示,其中本文訓(xùn)練的子模型分別選擇隨機(jī)森林和Xgboost,將所有子模型的輸出概率的平均作為分類結(jié)果輸出。
輸入: 數(shù)據(jù)集D={(xi,yi),i=1,2,…,N,yi∈{0,1}}。0類(多數(shù)類)樣本數(shù)記為Nm,1類(稀有類)樣本數(shù)記為Ns,有Nm+Ns=N。
算法步驟:
1)將數(shù)據(jù)集D中的0類樣本和1類樣本分別記為Sm和Ss,k=ceil(Sm/Ss)進(jìn)一取整;
2)forj=1,2,…,k,do;
3) 從1~(Ns-i+1)中隨機(jī)抽樣,取出對(duì)應(yīng)序號(hào)的樣本x′;
4) 在類0樣本中取出所選樣本Ss=Ss-x′;
5) 隨機(jī)欠采樣后的數(shù)據(jù)集{Dj′=(xi,yi),i=1,2,…,N-Ss·RS/(RS+1),j=1,2,…,k,yi∈{0,1}},RS表示采樣比率;
6) 對(duì)每個(gè)Dj′訓(xùn)練一個(gè)子模型,記hj(x);
7)end for;
1.2.1 隨機(jī)森林模型
集成學(xué)習(xí)模型有兩個(gè)重要的方面——基于Bagging的集成模型和基于Boosting的集成模型?;贐agging的集成模型是將多個(gè)有差異的分類器取平均,能夠解決一定程度上的模型不穩(wěn)定問題。隨機(jī)森林(random forest,RF)作為典型的Bagging類模型,可和采樣技術(shù)結(jié)合被用于解決類不平衡問題。本文就是利用樣本采樣技術(shù)構(gòu)造平衡隨機(jī)森林[11],并對(duì)隨機(jī)森林的預(yù)測(cè)結(jié)果再次組合。
隨機(jī)森林是基于Bagging的集成學(xué)習(xí)方法,它采用bootstrap自助抽樣從數(shù)據(jù)集中抽取多個(gè)子樣本,對(duì)抽樣后的子樣本分別建立具有差異性的CART決策樹模型(每個(gè)模型隨機(jī)選取m個(gè)特征,本文選擇使模型誤差最小的m),最后對(duì)每個(gè)分類器的預(yù)測(cè)結(jié)果進(jìn)行組合,組合方法采用多數(shù)表決(投票法),算法的流程如圖2所示。
1.2.2 極限梯度提升模型
基于Boosting的集成模型Xgboost[12]使用貪心算法和加法模型,每次構(gòu)建一個(gè)當(dāng)下最優(yōu)的樹模型,將所有樹模型的最終結(jié)果求和作為最終的預(yù)測(cè)結(jié)果。其優(yōu)點(diǎn)在于GBDT算法的求解采用了二階梯度,并加入了正則化項(xiàng),由于樹模型容易過擬和,因此通過同時(shí)控制模型損失函數(shù)和模型復(fù)雜度得到更優(yōu)結(jié)果。模型的原理和推導(dǎo)見文獻(xiàn)[10]。當(dāng)基模型同樣選擇樹模型時(shí)算法的流程如圖3所示。
本文數(shù)據(jù)源于UCI機(jī)器學(xué)習(xí)網(wǎng)站(http://archive.ics.uci.edu/)公布的臺(tái)灣客戶信用卡信貸數(shù)據(jù)集,3萬(wàn)條樣本數(shù)據(jù)包括來自三個(gè)方面用戶信息的23個(gè)指標(biāo)數(shù)據(jù)。其中:正??蛻粽紨?shù)據(jù)的77.88%,違約客戶占22.12%;人口統(tǒng)計(jì)學(xué)特征的用戶基本屬性信息指標(biāo)包括性別、年齡、教育程度、婚姻狀況等4個(gè)變量;金融特征的借貸相關(guān)信息指標(biāo)包括月還款情況、月賬單、月支付金額等19個(gè)字段。由于數(shù)據(jù)存在錯(cuò)誤值和離群值。對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單預(yù)處理后,具體的數(shù)據(jù)說明見表1。
表1 變量說明表
續(xù)表
2.2.1 評(píng)價(jià)指標(biāo)
對(duì)于本文正負(fù)樣本比例約3.5∶1的不均衡的數(shù)據(jù)集,傳統(tǒng)的基于準(zhǔn)確率的模型評(píng)價(jià)指標(biāo)已經(jīng)不再適用[13-14]。基于此,本文選取F1指標(biāo)和ROC曲線下面積AUC來評(píng)價(jià)模型的預(yù)測(cè)精度,用KS值(kolmogorov smirnov)[15]檢測(cè)實(shí)際風(fēng)控模型的好壞。KS取值越接近1則模型區(qū)分度越高,預(yù)測(cè)能力越強(qiáng)。模型評(píng)價(jià)指標(biāo)由表2混淆矩陣計(jì)算得出,指標(biāo)計(jì)算公式為:查準(zhǔn)率P=NTP/(WTP+NFP);查全率R=NTP/(NTP+NFN);F1=2×precision×recall/(precison+recall)。
表2 二分類結(jié)果混淆矩陣Tab.2 Confusion matrix of classification results真實(shí)情況Actual預(yù)測(cè)結(jié)果Predict0類Class 01類Class 10類Class 0TN(正負(fù)例)FP(假正例)1類 Class 1FN(假負(fù)例)TP(真正例)
2.2.2 模型建立和評(píng)估
由表1變量說明可見,本文選用的客戶信用卡信貸數(shù)據(jù)間量綱差別較大,需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。本文為了更好地進(jìn)行模型評(píng)估,增強(qiáng)模型穩(wěn)定性,對(duì)每個(gè)模型分別進(jìn)行5折交叉驗(yàn)證(模型如表3所示)。對(duì)于本文不平衡的信用卡信貸數(shù)據(jù),經(jīng)閾值調(diào)優(yōu),對(duì)未經(jīng)平衡處理的數(shù)據(jù)閾值設(shè)定為0.45,處理后的數(shù)據(jù)閾值設(shè)定為0.55。
表3 模型類型及名稱Tab.3 Model type and name模型類型Model type模型名稱Model name單模型Single modelDTLRKNN單個(gè)集成模型Single ensemble modelRFXgboost單模型Batch-US-集成Single model Batch-US-EnsembleBatch-US-DTBatch-US-KNNBatch-US-LR集成模型Batch-US-集成Ensemble model Batch-US-EnsembleBatch-US-RFBatch-US-Xgboost
由于樹模型容易過擬和,本文對(duì)選擇的每個(gè)樹模型進(jìn)行參數(shù)調(diào)優(yōu)(見表4),并在Batch-US模型集成過程的Rstudio中構(gòu)建ovun.sample隨機(jī)欠采樣函數(shù),通過設(shè)置seed隨機(jī)種子的不同,對(duì)每一折交叉驗(yàn)證數(shù)據(jù)構(gòu)建多個(gè)隨機(jī)欠采樣子樣本,得到多個(gè)平衡子樣本,再加上參數(shù)調(diào)節(jié),使每個(gè)子模型更具差異性,從而增加集成模型的泛化能力。其中對(duì)Batch-US改進(jìn)的模型分別構(gòu)建10個(gè)差異性的子模型。
表4 樹模型調(diào)優(yōu)參數(shù)及范圍
本文對(duì)文獻(xiàn)[10]中的評(píng)價(jià)指標(biāo)進(jìn)行改進(jìn),基于準(zhǔn)確率對(duì)不平衡數(shù)據(jù)的缺陷,選擇用F1值衡量模型精度,用AUC值評(píng)估模型的優(yōu)劣,用KS值衡量模型的穩(wěn)健性和風(fēng)控能力。將10個(gè)模型經(jīng)五折交叉驗(yàn)證后的預(yù)測(cè)指標(biāo)平均,匯總至表5。
表5 模型結(jié)果匯總
由表5模型結(jié)果可知,不管是單模型還是集成模型,在通過本文的Batch-US批量欠采樣集成后,在F1值、AUC值和KS值3個(gè)評(píng)價(jià)指標(biāo)上都有明顯的提升。在本身就較優(yōu)的集成模型上更能進(jìn)一步提升模型的表現(xiàn)能力。Batch-US-RF模型的F1值、AUC值和KS值分別比改進(jìn)前提高了3.57%、1.29%、1.61%;Batch-US-Xgboost模型的F1值、AUC值和KS值分別比改進(jìn)前提高了7.11%、0.4%、0.66%。Batch-US-集成模型的精度衡量指標(biāo)F1值和AUC值都是10個(gè)模型中最優(yōu)的,并且觀察其區(qū)分度指標(biāo)KS值也大于0.4且排名在10個(gè)模型中前三,說明模型風(fēng)控能力較好。
表5評(píng)價(jià)指標(biāo)結(jié)果均為本模型數(shù)量選擇k=10的結(jié)果。為了進(jìn)一步研究子模型數(shù)量是否對(duì)模型精度造成影響,本文將兩個(gè)Batch-US-集成模型通過設(shè)定子模型數(shù)量k為10,20,…,110時(shí)的模型評(píng)價(jià)效果繪制學(xué)習(xí)曲線,如圖4、圖5所示。
由圖4、圖5可知,Batch-US-Xgboost模型通過增加子模型數(shù)量,其F1值和AUC值在一開始的確有一個(gè)上升幅度,但是隨著模型不斷增多,這三個(gè)評(píng)價(jià)指標(biāo)均先趨于穩(wěn)定而后隨子模型個(gè)數(shù)上升甚至出現(xiàn)輕微下降趨勢(shì)。Batch-US-RF模型通過增加子模型數(shù)量,其AUC值在一開始的確有一個(gè)上升幅度,但是隨著子模型不斷增多AUC值趨于穩(wěn)定;其F1值在前60個(gè)模型的整體趨勢(shì)不斷上升,但是在60個(gè)子模型后圍繞一個(gè)固定值波動(dòng)(認(rèn)為其趨于穩(wěn)定)。因此,子模型數(shù)量并非越多越好,兩個(gè)Batch-US-集成模型的子模型數(shù)量在60個(gè)左右能夠取得AUC和F1指標(biāo)的較優(yōu)和模型較穩(wěn)定的結(jié)果。
本文使用UCI臺(tái)灣客戶信用卡信貸數(shù)據(jù),分別對(duì)數(shù)據(jù)進(jìn)行單模型、集成模型和Batch-US處理后建模。由表5可以看出,基于欠采樣改進(jìn)的Batch-US-集成模型的建模結(jié)果明顯優(yōu)于處理之前的數(shù)據(jù)建模結(jié)果。由于在風(fēng)控模型中千分之一的精度改變帶來的影響也是巨大的,對(duì)不平衡數(shù)據(jù)的處理具有較大意義,本文進(jìn)行Batch-US集成后模型的確提升了模型預(yù)測(cè)效果,且Batch-US-集成模型總能表現(xiàn)出更好結(jié)果。
該系列模型從“數(shù)據(jù)”層面使用批量欠采樣處理修正了隨機(jī)欠采樣的弊端,從“算法”層面對(duì)多個(gè)模型采用簡(jiǎn)單平均集成增加了分類器的穩(wěn)定性。通過實(shí)證分析,結(jié)合模型評(píng)價(jià)指標(biāo),驗(yàn)證了Batch-US-RF和Batch-US-Xgboost模型不管從模型精度、綜合效果方面還是從實(shí)際風(fēng)控效果方面都具有較高的表現(xiàn)能力,尤以Batch-US-Xgboost模型有效性和精度最高。本文通過繪制不同子模型個(gè)數(shù)和模型評(píng)價(jià)指標(biāo)的學(xué)習(xí)曲線,得出結(jié)論:對(duì)于Batch-US-集成模型并非子模型數(shù)量越多越好,子模型的數(shù)量可以根據(jù)模型復(fù)雜度和不同評(píng)價(jià)指標(biāo)的傾向性進(jìn)行選擇。