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