金庫瑩,郭 瑩
(沈陽工業(yè)大學信息科學與工程學院,沈陽 110870)
根據(jù)中國銀行業(yè)監(jiān)督管理委員會數(shù)據(jù)統(tǒng)計,2021年中國商業(yè)銀行的不良貸款率為1.73%,精準識別良好用戶與違約用戶、評估銀行用戶的信用風險成為亟待解決的問題。信用風險評估是典型的二分類問題,目前已有很多分類算法應用到對銀行用戶的信用評估中,如邏輯回歸[1]、樸素貝葉斯[2]、決策樹[3]、隨機森林[4]、XGBoost[5]等,但通常局限于將模型算法直接套用于對用戶的信用風險研究,忽視了在信用風險領域中類別不平衡問題對于模型的影響。為解決數(shù)據(jù)不平衡的影響,學者們提出了相關采樣算法,如過采樣算法SMOTE[6]、欠采樣算法EasyEnsemble[7]等。本研究基于現(xiàn)有成果,采用SMOTE與TOMEK算法相結合的采樣方式處理不平衡數(shù)據(jù)集,提出一種改進的ST-XGB算法,旨在提高銀行用戶風險評估中的泛化能力,以更好地解決現(xiàn)實中的貸款人信用評估問題。
由于SMOTE算法采樣過程中易出現(xiàn)樣本重疊問題,同時也存在合成數(shù)據(jù)具有邊緣性與質量差的劣勢,在對數(shù)據(jù)進行分類時,對于邊界的臨界點容易產(chǎn)生誤判;TOMEK欠采樣法解決的正是數(shù)據(jù)邊界模糊不清的問題。以SMOTE+TOMEK的方式處理不平衡數(shù)據(jù)的步驟為:先使用SMOTE過采樣,擴大樣本后再對處在邊界模糊的點用TOMEK進行刪除,最終得到一個邊界線較為清晰的數(shù)據(jù)集,最初的不平衡數(shù)據(jù)經(jīng)過采樣后正負樣本也達到了平衡。處理前后的效果對比如圖1所示。
圖1 SMOTE+TOMEK采樣結果示意圖
XGBoost模型是Boosting思想的另一種實現(xiàn),其算法思想就是不斷地添加新的樹,每次添加的樹本質是學習一個新函數(shù),將上一棵樹的損失函數(shù)梯度下降方向作為新函數(shù)優(yōu)化目標,去擬合上一棵樹預測的殘差。
假定所使用的數(shù)據(jù)集為(xi,yi),其中xi∈Rm、yi∈Rm,即m維數(shù)據(jù)集;xi表示數(shù)據(jù)集中特征屬性,yi表示樣本數(shù)據(jù)的標簽,則XGBoost的模型定義為:
式中gi為損失函數(shù)的一階梯度統(tǒng)計;hi為二階梯度統(tǒng)計,ωj為葉子節(jié)點的權重??梢钥闯鯴GBoost的目標函數(shù)與傳統(tǒng)梯度提升樹的方法不同,XGBoost在一定程度上做了近似并通過一階梯度統(tǒng)計和二階梯度統(tǒng)計表示。
fs(xi)本質上是樹模型,每個樣本在每棵樹中會落到對應的一個葉子節(jié)點,則式(2)可以改寫成:
式中,Ij為葉子節(jié)點j的樣本集,fs(xi)將樣本劃分到葉子節(jié)點,計算該葉子節(jié)點的權重ω,因此i∈Ij時,可以用ωj代替fs(xi)。Obj為目標函數(shù),s為它進行迭代的輪數(shù)。
將式(3)看成以自變量ωj、因變量為Obj(s)的一元二次函數(shù)。根據(jù)最值公式,葉子節(jié)點j的最優(yōu)權重ωj*為:
將式(4)代入式(2)中可以得出最優(yōu)的目標函數(shù)值為:
式(5)可以用作評分函數(shù),分值越小表示該樹模型性能越佳。在每次的迭代學習過程中,需對每棵樹模型進行評分,并從中選出最佳,但候選樹的數(shù)量是有限的。XGBoost采取貪心策略算法,從根節(jié)點開始計算目標函數(shù)值,如果節(jié)點分裂后的目標函數(shù)值相比于分裂前的目標函數(shù)值有所減少,則不進行分裂劃分,之后將新生成后的預測函數(shù)加入模型中。
實驗的任務是預測用戶貸款是否存在潛在違約風險。選擇信貸業(yè)務豐富的Lending Club數(shù)據(jù)集,采集的總數(shù)據(jù)量約為40萬,良好用戶與違約用戶比例為4:1。實驗選用的數(shù)據(jù)集包含27列變量信息,數(shù)值型變量13列,類別型特征14列,數(shù)值型變量中包括連續(xù)型變量11列,離散型變量2列。
數(shù)據(jù)處理包含缺失值處理、異常值處理、數(shù)據(jù)轉換和數(shù)據(jù)不平衡處理。實驗采用模型填充的方式處理數(shù)據(jù)中的缺失值,將數(shù)據(jù)中異常值刪除,作為缺失值進行填充。對于類別型變量無法直接放入算法模型,根據(jù)類別型特征分類為有序型和無序型,其中無序型分為高維度與低維度兩種。將有序型類別特征采用目標編碼的方式進行處理;對于低維度無序型類別特征采用獨熱編碼;高維度無序型類別特征采用頻數(shù)編碼。
特征工程包括特征構造和特征篩選兩部分。根據(jù)金融風控領域專家的知識構造可解釋的銀行信貸業(yè)務特征,以此增加模型的預測能力。在此基礎上通過特征交叉和特征分箱的方式進一步衍生特征。通過特征構造衍生出的新特征不一定對模型的預測產(chǎn)生積極的影響,甚至會降低模型的泛化能力,因此實驗采用IV值(Information Value)對數(shù)據(jù)的特征字段進行篩選。通過IV值計算評估每個指標的有效預測能力,篩選出IV值大于0.1的特征,共計25個。
從AUC分值、精準率和誤判為違約用戶三個方面對模型性能進行評價。采用傳統(tǒng)的分類模型與改進的XGBoost模型進行實驗對比分析,對比結果如表1所示。
表1 模型性能對比
從表中可以看出,改進的XGBoost模型在AUC分數(shù)、精準率和判別錯誤個數(shù)三個方面均優(yōu)于其它模型:AUC分值相比XGBoost模型提升了0.83%,精準率相比于決策樹模型提升了0.11%,在判別錯誤個數(shù)方面相比于其它模型大幅度減少為3687個。
對于銀行信貸部門來說,即使是提高1%的預測準確率,也可以極大地降低風險和損失[8]。在數(shù)據(jù)挖掘算法中,模型泛化能力的評判指標AUC分值若達到80%便證明了模型的預測能力。改進的STXGB模型的AUC分值達到了91.43%,模型的泛化能力較為理想,證明了改進算法的有效性。
針對銀行信貸數(shù)據(jù)中用戶類別不平衡的情況,通過SMOTE與TOMEK相結合的采樣方式改進了XGBoost模型。ST-XGB模型有效地提高了對用戶類別的識別精度,避免了不平衡數(shù)據(jù)對于判別結果過于樂觀的弊端,為銀行信貸業(yè)務人員的工作提供了更為有力的支持,更加避免了人工在辦理業(yè)務時的主觀性,對銀行用戶信用風險評估的進一步研究具有一定的意義。