◆張杏枝
改進SMOTE方法基于XGBoost的信用評分模型
◆張杏枝
(重慶交通職業(yè)學院(江津)大數(shù)據(jù)學院 重慶 402247)
針對信用數(shù)據(jù)中的高維稀疏特征與樣本不平衡問題易導致模型分類性能欠佳,提出一種新穎的框架來構(gòu)建信用評分模型。首先,通過計算特征相似度解決高維稀疏特征;其次針對樣本不平衡問題提出基于特征聚類改進的SMOTE方法(FC-SMOTE),以平衡數(shù)據(jù)集進而提高模型分類性能;最后,采用XGBoost作為基分類器構(gòu)建信用評分模型。選擇網(wǎng)上公開的真實信用數(shù)據(jù)及UCI數(shù)據(jù)庫中的信用數(shù)據(jù)進行實驗,和傳統(tǒng)過采樣方法SMOTE、Borderline SMOTE、ADASYN進行對比,實驗結(jié)果表明,提出的FC-SMOTE方法使基于XGBoost構(gòu)建的信用評分模型具有更高預(yù)測精度。
信用評分;特征相似度;特征聚類;不平衡數(shù)據(jù);SMOTE;XGBoost
信用卡支付在世界范圍內(nèi)越來越普遍,信用卡評分機構(gòu)往往利用直觀經(jīng)驗來評估申請人的信用狀況,這導致出現(xiàn)許多誤判情況,最終每年給信用機構(gòu)帶來巨大損失。因此,信用評分模型已被信用機構(gòu)廣泛用于確定信用申請人屬于好還是壞的申請人,并給出違約概率的估計。信用評分模型可降低信用分析成本,提高信用機構(gòu)信用決策能力,減少信用機構(gòu)的損失。
一些統(tǒng)計技術(shù)已被廣泛用于信用評分模型,如線性判別分析[1-2],logistic回歸分析[3]。然而,基于傳統(tǒng)統(tǒng)計技術(shù)的信用評分模型一般是根據(jù)申請人的申請和征信機構(gòu)的數(shù)據(jù)來評估申請人的違約概率,然后通過設(shè)置違約概率的閾值,拒絕低于貸款申請水平的信貸申請人。在信貸行業(yè)快速發(fā)展的今天,傳統(tǒng)統(tǒng)計技術(shù)在信用評分模型中沒有得到很好的應(yīng)用,因此信貸行業(yè)正在積極開發(fā)更準確的信用評分模型。
根據(jù)以往研究,人工智能(Artificial Intelligence,AI)技術(shù)在處理信用評分問題上優(yōu)于傳統(tǒng)統(tǒng)計技術(shù),如人工神經(jīng)網(wǎng)絡(luò)[4]、決策樹(DT)[5]、支持向量機(SVM)[6]等。與統(tǒng)計技術(shù)相比,AI技術(shù)無需假設(shè)一定的數(shù)據(jù)分布,它是從訓練樣本數(shù)據(jù)中自動選擇的,所以在面對大量信用評分數(shù)據(jù)時,根據(jù)信貸行業(yè)不同的信用數(shù)據(jù)集,AI技術(shù)都是有效的。
雖然AI技術(shù)優(yōu)于統(tǒng)計技術(shù),但信用評分數(shù)據(jù)中具有大量高稀疏、冗余特征與數(shù)據(jù)不平衡問題,導致許多信用評分模型具有高度的復雜性及預(yù)測精度過低,容易出現(xiàn)更多的誤判概率,即將壞的信用申請人認定為好的申請人或?qū)⒑玫纳暾埲苏J定為壞的申請人,這一誤判將會給信用機構(gòu)帶來巨大損失。因此,為提高預(yù)測精度,減少信貸人員的負荷計算,便于銀行快速決策,信貸行業(yè)迫切需要一種有效的方法去解決高稀疏、冗余特征與數(shù)據(jù)樣本不平衡之間的問題。
高稀疏、冗余特征主要通過特征選擇方法解決問題,特征選擇的主要目的是從問題域中確定最小和最優(yōu)的特征子集,同時保持適當?shù)母邷蚀_度表示原始特征。文獻[7]提出基于卡方的特征選擇并將其應(yīng)用到七個不同分類器中,最后將七個分類器聚合進行研究;文獻[8]中為計算特征之間的相關(guān)性,提出核矩陣即核彈性網(wǎng)絡(luò)進行計算;文獻[9]提出使用加權(quán)L1范數(shù)的特征組去解決高維信用數(shù)據(jù),但由于該方法沒有考慮特征穩(wěn)定性與模型之間的關(guān)系,導致模型預(yù)測精度過低。
不平衡數(shù)據(jù)集是數(shù)據(jù)集中存在某些類樣本數(shù)量遠遠高于其他類,反之則樣本數(shù)量低于其他類,通常把樣本數(shù)量較多類化為多數(shù)類,樣本數(shù)量較少類化為少數(shù)類[10]。在類不平衡數(shù)據(jù)集的分類問題中,由于少數(shù)類樣本具有更高的誤分代價,因此對于其他類別樣本而言,少數(shù)類樣本顯得更加重要[11]。不平衡數(shù)據(jù)樣本分布不平衡,導致一些傳統(tǒng)分類算法的分類性能不佳。針對數(shù)據(jù)不平衡問題,目前一方面主要采用欠采樣、過采樣兩種方法進行解決,另一方面主要對現(xiàn)有機器學習算法進行改進以此來解決數(shù)據(jù)不平衡問題。文獻[12]對多數(shù)類樣本進行隨機欠采樣,進而提出自適應(yīng)增強(Adaptive Boosting,AdaBoost)方法,但由于隨機欠采樣具有不穩(wěn)定性,導致獲取的最終樣本不具有代表性;文獻[13]為解決過采樣方法易出現(xiàn)過擬合的問題,提出通過計算每個少數(shù)類樣本的權(quán)重取合成新的樣本,但由于該方法需要使用到大量參數(shù),導致其實用性受到限制;文獻[14]對傳統(tǒng)SMOTE算法進行改進,提出ADASYN算法去生成新樣本,新樣本的生成主要通過樣本的學習難易程度去合成具有不同數(shù)量的新樣本;文獻[15]提出Borderline-SMOTE算法對位于邊界的少數(shù)類樣本進行過采樣。
針對上述研究發(fā)現(xiàn),相關(guān)文獻對于高稀疏、冗余特征與不平衡數(shù)據(jù)之間沒有進行深入研究,因此基于此,提出一種利用特征聚類改進SMOTE過采樣算法(FC-SMOTE)并基于XGBoost分類器構(gòu)建信用評分模型。首先對真實信用數(shù)據(jù)進行預(yù)處理;其次提出聚類計算信用特征之間的相似度進而解決高稀疏、冗余特征問題;接著針對傳統(tǒng)SMOTE容易出現(xiàn)過擬合問題,提出基于特征聚類的SMOTE(FC-SMOTE)對傳統(tǒng)SMOTE進行改進,以此更好解決過采樣出現(xiàn)過擬合問題及更好解決高稀疏特征與不平衡數(shù)據(jù)之間的問題;最后基于XGBoost分類器構(gòu)建信用評分模型對信貸申請人的信用狀況評估。實驗結(jié)果表明,利用所提方法構(gòu)建的信用評分模型具有更高效的預(yù)測精度。
SMOTE算法,即合成少數(shù)過采樣技術(shù),該算法是Chawla等[16]為解決數(shù)據(jù)不平衡問題在2002年提出的,它是對傳統(tǒng)隨機過采樣算法的改進,主要思想是對少數(shù)類樣本進行分析,通過“插值”為少數(shù)類樣本合成新的樣本,并添加到數(shù)據(jù)集中,進而平衡原始數(shù)據(jù)集中的不平衡類別分布問題。具體算法如下[17]:
輸入:少數(shù)類樣本1,近鄰數(shù),采樣倍數(shù)為
XGBoost(Extreme Gradient Boosting)是一種基于Boosting的極限梯度提升算法,即一種提升數(shù)模型[18-19],將許多樹模型集成形成一個強大的分類器,所用到的基礎(chǔ)樹模型為CART回歸樹。
(1)模型表示為
(2)目標函數(shù)和損失函數(shù)優(yōu)化
(3)最優(yōu)值
XGBoost算法在分類方面具有非常優(yōu)異的表現(xiàn),在分類性能上具有較高精度。因此,將采用其作為信用評分模型構(gòu)建的基分類器,將XGBoost算法應(yīng)用到信用評分預(yù)測中。
針對相關(guān)方法對高稀疏、冗余特征與不平衡數(shù)據(jù)之間沒有進行深入研究的情況,本文提出FC-SMOTE過采樣方法,采用XGBoost作為基分類器構(gòu)建信用評分模型,模型框架如圖1所示。后續(xù)內(nèi)容將對模型流程步驟進行詳細描述。
由于信貸數(shù)據(jù)來源較廣,導致征信機構(gòu)獲取的信用數(shù)據(jù)中常存在大量缺失、冗余數(shù)據(jù)。因此為減少信用數(shù)據(jù)中噪聲數(shù)據(jù)對評分模型最終預(yù)測精度造成損失,在建立評分模型之前需對原始信用數(shù)據(jù)進行預(yù)處理,本文采樣現(xiàn)有數(shù)據(jù)預(yù)處理方法中的Min-Max標準化方法,通過對原始信用數(shù)據(jù)進行線性變換,使其結(jié)果值處于[0,1]之間,該標準化公式為:
3.2.1 特征相似性計算消除噪聲特征
對數(shù)據(jù)進行預(yù)處理后,需要對信貸申請人的信用特征進行重要度計算,一方面可以減少后續(xù)評分模型的輸入,因為在重要度計算過程中,可根據(jù)每個特征值大小將一些無用特征剔除;另一方面可以加快模型的訓練速度,進而降低模型時間復雜度。通過公式(8)、(9)計算兩個變量之間的相關(guān)性,根據(jù)相關(guān)性值的大小剔除部分冗余、高稀疏特征。
3.2.2 特征聚類改進的SMOTE方法—FC-SMOTE
通過3.2.1節(jié)消除部分冗余特征后,為了挑選出最佳特征子集及解決樣本的不平衡分布,提出基于特征聚類改進的SMOTE過采樣方法-FC-SMOTE,其具體過程描述如下:
(1)采樣3.2.1處理后生成的新訓練集對信用特征進行聚類,即特征聚類(采樣傳統(tǒng)K-means方法);
其中1表示簇元素內(nèi)特征類間相關(guān)性,2表示類內(nèi)相關(guān)性。
(3)產(chǎn)生最佳特征簇的過程中,通過簇數(shù)中的特征個數(shù)為其分配不同權(quán)重,以此對少數(shù)特征簇樣本進行過采樣,保持少數(shù)類樣本的平衡,權(quán)重分配計算如下:
(4)根據(jù)公式(13)的權(quán)重大小對少數(shù)類樣本進行采樣,選擇樣本與所屬類簇簇心之間進行線性插值,進而得到簇中合成樣本集2。將L2加入新合成少數(shù)類數(shù)據(jù)集1;
(5)輸出合成樣本集1。
3.2.3 改進SMOTE基于XGBoost的信用評分模型
數(shù)據(jù)集經(jīng)過3.2.1和3.2.2處理后,將得到一個相對“干凈“且平衡的數(shù)據(jù)集,最后對處理后的數(shù)據(jù)集使用XGBoost分類器構(gòu)建信用評分模型。具體的流程如表1所示。
表1 改進SMOTE基于XGBoost的信用評分模型算法流程
輸入:平衡后的信用數(shù)據(jù)集輸出:預(yù)測精度Accuracy,F(xiàn)1-Score 過程:(1)通過公式(7)對原始數(shù)據(jù)預(yù)處理,將原始數(shù)據(jù)按照7/3劃分為訓練集L和測試集T;(2)針對訓練集L利用公式(8)、(9)消除冗余特征;(3)利用公式(10)、(11)、(12)、(13)對訓練集L重新采樣,得到新的訓練樣本L1;(4)對于L1,將其劃分為訓練集與驗證集,多次抽取小樣本,分別為,最終合成新訓練樣本;(5)將訓練集通過XGBoost分類器進行訓練;(6)將驗證集代入XGBoost模型進行驗證;(7)end for
實驗環(huán)境:Intel Core i3-3110M CPU 2.40GHz,8G內(nèi)存的普通PC機,基于PyCharm 2020平臺,采用python語言進行實驗。
實驗數(shù)據(jù):本文采用的實驗數(shù)據(jù)集來自于UCI數(shù)據(jù)庫中的German、Australian信用數(shù)據(jù)集及網(wǎng)上公開的Europe信貸客戶數(shù)據(jù)集(France、German和Spain),為保證信貸客戶的安全及保持數(shù)據(jù)的機密性,分別對以上三個數(shù)據(jù)集中的某些特征名稱和值進行了加密,將其更改為無意義的數(shù)據(jù)符號,上述數(shù)據(jù)集基本信息歸納整理如表2。
圖1 改進SMOTE基于XGBoost的信用評分模型框架
表2 實驗數(shù)據(jù)集描述
國家樣本大小類別特征信用良好信用不良不平衡率 German10002207003002.33 Australian6902143073830.82 Europe10000212203779633.91
本實驗采用的信用評分數(shù)據(jù)是一個經(jīng)典二分類問題,因此選取混淆矩陣中相應(yīng)指標值進行評估,包括精確率Precision、召回率Recall、F1分數(shù)(F1-Score)和準確率Accuracy。其中,對信用評分中的混淆矩陣各個指標具體描述為:設(shè)Y=1表示“好”顧客,Y=0表示“壞”顧客,則混淆矩陣如表3所示。
表3 混淆矩陣
混淆矩陣真實 Y=0,好顧客Y=0,好顧客 預(yù)測Y=0,好顧客TPFP Y=0,好顧客FNTN
其中,TP(Ture Positive)預(yù)測信用屬于“好”顧客,而實際信用也屬于“好”顧客;
FP(False Negative)實際信用屬于“壞”顧客,而預(yù)測信用屬于“好”顧客;
FN(False Positive)實際信用屬于“好”顧客,而預(yù)測信用屬于“壞”顧客;
TN(Ture Negative)預(yù)測信用屬于“壞”顧客,而實際信用也屬“壞”顧客;
4.3.1 特征相似度消除噪聲特征
圖2展示了利用公式(8)、(9)計算出的特征與類標簽之間的相似度值,通過相似度值的大小可將值較低的冗余特征剔除,以減少噪聲特征對后續(xù)模型的訓練時間。
4.3.2 FC-SMOTE方法驗證
為驗證FC-SMOTE過采樣方法對改善數(shù)據(jù)平衡的效果,將其與采用傳統(tǒng)SMOTE、Borderline SMOTE、ADASYN過采樣方法對數(shù)據(jù)進行抽樣后的少數(shù)類樣本占比進行對比,實驗結(jié)果如圖3所示。
由圖3可看出,通過采用FC-SMOTE過采樣方法對少數(shù)類樣本進行采樣處理后,其占比明顯得到提升,進而使數(shù)據(jù)樣本得到平衡。
同時,表4、5展示的是基于3.2.1節(jié)對消除噪聲特征進行剔除后,針對新生成的數(shù)據(jù)集,對少數(shù)類樣本進行抽樣過程中,挑選出的最佳子集。
圖2 特征相似度
圖3 數(shù)據(jù)過采樣處理對比
表4 German信用數(shù)據(jù)最佳特征子集生成過程
聚類個數(shù)聚類編號特征特征合并比率合并后比率 K=214,5,7,8,10,11,14,15,17,18 5.4 21,2,3,6,12,201.5 K=314,8,10,11,15,16,17 4.0 21 32,3,5,7,12,12,14,2015.05.5 K=415,7,12,14,2 4 21 34,8,10,11,15,17,18 3 47,8,2,3,6111.5 K=512,3,6111.5 24,8,10,11,17,18 2.5 35,7,12,14,2 2.5 41 515,1 1.8
表5 Australian信用數(shù)據(jù)最佳特征子集生成過程
聚類個數(shù)聚類編號特征特征合并比率合并后比率 K=212,3,4,6,7,11,12,13 4.5 23,5,8,9,101.5 K=312,3,4,6,11,12,13 4.0 28 35,7,9,1081.52 K=412,3,4,6,12,131,1134 25,7,9,1081.52 38 411 0.5 K=512,3,461.62 25,9,10811.5 38 46,7 0.5 511,12,1370.61.1
根據(jù)表4、5可得出,對于German信用數(shù)據(jù)集來說,最優(yōu)特征子集為{1,2,3,6,7,8,12,20},Australian信用數(shù)據(jù)集最優(yōu)特征子集為{3,5,8,9,10,11,12,13},由于Europe數(shù)據(jù)集的特殊性,最終選定是特征子集為{3,4,5,6,7,8,9,10,11,12}。
4.3.3 模型有效性驗證
為驗證FC-SMOTE過采樣方法基于XGBoost算法構(gòu)的建信用評分模型最終性能,將提出的FC-SMOTE方法與傳統(tǒng)過采樣方法SMOTE、Borderline SMOTE、ADASYN在基分類器XGBoost上進行實驗對比,分別用準確率Accuracy、F1分數(shù)(F1-Score)進行判定,實驗結(jié)果如表6、7所示。
表6 四種算法在三個信用數(shù)據(jù)集上的F1-Score值
算法GermanAustralianEurope SMOTE-XGBoost72.9178.6269.41 ADASYN-XGBoost74.1183.6371.85 Borderline SMOTE-XGBoost79.3786.9076.52 FC-SMOTE-XGBoost84.2188.9378.98
表7 四種算法在三個信用數(shù)據(jù)集上的Accuracy值
算法GermanAustralianEurope SMOTE-XGBoost69.7283.1265.06 ADASYN-XGBoost72.4182.7770.66 Borderline SMOTE-XGBoost75.2880.8171.52 FC-SMOTE-XGBoost79.1289.3277.84
由表6、7可知,German、Europe信用數(shù)據(jù)集相對于Australian信用數(shù)據(jù)來說,數(shù)據(jù)不平衡分布較明顯,導致在F1-Score、Accuracy得分都低于Australian信用數(shù)據(jù)集的得分;但相比而言,三個信用數(shù)據(jù)采用FC-SMOTE過采樣方法基于XGBoost算法構(gòu)建的信用評分模型的最終F1-Score、Accuracy比采用傳統(tǒng)過采樣方法SMOTE、Borderline SMOTE、ADASYN三種方法分值得到明顯提升,其中對于German數(shù)據(jù)集,其Accuracy相比基于Borderline SMOTE-XGBoost構(gòu)建的評分模型的預(yù)測精度提升了4.84%;Australian數(shù)據(jù)集,其Accuracy相比基于SMOTE-XGBoost構(gòu)建的評分模型的預(yù)測精度提升了6.2%;Europe數(shù)據(jù)集,其Accuracy相比基于Borderline SMOTE-XGBoost構(gòu)建的評分模型的預(yù)測精度提升了6.32%,對于信貸機構(gòu)來說,信貸模型預(yù)測精度提升1%將會為其減少巨大損失,因此,根據(jù)上述結(jié)果顯示,利用FC-SMOTE方法去構(gòu)建信用評分模型對模型的預(yù)測精度提升有較好的效果。
在信用數(shù)據(jù)方面,由于存在大量噪聲特征、數(shù)據(jù)嚴重不平衡分布問題,使得研究人員在現(xiàn)有信用評分模型的基礎(chǔ)上,不斷提出新型信用評分模型,并不斷研究在構(gòu)建評分模型時,如何更好地處理好噪聲特征與不平衡數(shù)據(jù)之間的關(guān)系。因此,為構(gòu)建更有效的信用評分模型,本文提出了改進SMOTE的基于XGBoost的信用評分模型,在此過程中,不僅充分考慮了消費特征之間的相似性,還對傳統(tǒng)的過采樣方法進行了改進,更好地解決了信用特征與數(shù)據(jù)不平衡分布的問題。實驗表明,所提出的方法構(gòu)建的信用評分模型有很好的預(yù)測性能。但由于采用的信用數(shù)據(jù)量不是很大,而且特征數(shù)也比較少,所以對于數(shù)據(jù)量龐大和特征數(shù)量多的信用數(shù)據(jù),可能會導致所提出方法構(gòu)建的模型計算時間過長,因此,在今后的工作中,將嘗試采用集合分類器去構(gòu)建更穩(wěn)定的信用評分模型。
[1]A.K. Reichert,C.C. Cho,G.M. Wagner,An examination of the conceptual issues involved in developing credit-scoring models,Journal of Business and Economic Statistics 1(2)(1983)101-114.
[2]G. Karels,A. Prakash,Multivariate normality and forecasting of business bankruptcy,Journal of Business Finance Accounting 14(4)(1987)573-593.
[3]Bravo,C.,Maldonado,S.,Weber,R.,2013. Granting and managing loans for microentrepreneurs:new developments and practical experiences. Eur. J. Oper. Res. 227(2),358e366.
[4]Angelini E,di Tollo G,& Roli,A. A neural network approach for credit risk evaluation. Q. Rev. Econ. Financ. 48, 733-755(2008).
[5]Wen F and Yang X. Skewness of return distribution and coefficient of risk premium. J. Syst. Sci. Complex,2009;22:360-71.
[6]Kim G,Wu CH,Lim S and Kim J. Modified matrix splitting method for the support vector machine and its application to the credit classification of companies in Korea. Expert Syst. Appl,2012;39:8824-34.
[7]Shashi Dahiya,S.S Handa and N.P Singh. Credit scoring ensemble of various classifiers on reduced feature set. Industrija, vol.43,No.4,2015.
[8]B. Vinzamuri and C. K. Reddy. Cox regression with correlation based regularization for electronic health records. Proceedings of the IEEE International Conference on Data Mining (ICDM),757-767,2013.
[9]Bhanukiran Vinzamuri,Karthik K. Padthe,and Chandan K. Reddy. Feature Grouping using Weighted L1 Norm for High-Dimensional Data. 2016 IEEE 16th International Conference on Data Mining,1233-1238,2016.
[10]莫贊,蓋彥蓉,樊冠龍.基于GAN-AdaBoost-DT不平衡分類算法的信用卡欺詐分類[J].計算機應(yīng)用,2019,39(2)618-622.
[11]Bahnsen A C,Aouada D,Stojanovic A,et al. Feature engineering strategies for credit card fraud detection[J]. Expert Systems with Applications An International Journal,2016,51(C): 134-142.
[12]SEIFFERT C,KHOSHGOFTAAR T M,van HULSE J,et al. RUSBoost:a hybrid approach to alleviating class imbalance [J]. IEEE Transactions on Systems,Man,and Cybernetics-Part A:Systems and Humans,2010,40(1):185-197.
[13]ZHU T,LIN Y,LIU Y.Synth eticminority over sampling technique for multi class imbalance eproblems [J].Pattern Recognigtion,2017:327G340.
[4]He,H.,Bai,Y.,Garcia,E.A.,et al.(2008)ADASYN:Adaptive Synthetic Sampling Approach for Imbalanced Learning. IEEE International Joint Conference on Neural Networks,1322-1328.
[15]Han,H.,Wang,W.-Y.and Mao,B.-H.(2005) Borderline-SMOTE:A New Over-Sampling Method in Imbalanced Data Sets Learning. Advances in Intelligent Computing. Springer,Berlin,Heidelberg. https://doi.org/10. 1007/11538059_91.
[16]Chawla,N.V.,Bowyer,K.W.,Hall,L.O.,et al.SMOTE:Synthetic Minority Over-Sampling Technique.Journal ofArtificial Intelligence Research,16,321-357. https://doi.org/10.1613/jair.953.
[17]許芷慧,楊立洪. 改進SMOTE算法在Logistic回歸信用評分模型中的應(yīng)用[J].數(shù)據(jù)挖掘,2021,11(2),50-58.
[18]KARAMSHUK D,NOULAS A,SCELLATO S. Geo-Spotting: Mining online location-based services for optimal retail store placement[C]// Proceeding of the 19th ACMSIGKDD International Conference on Knowledge Discovery and Data Mining,2013:793-801.
[19]CHEN T Y,CHEN L C,CHEN Y M. Mining location based service data for feature construction in retail store recommendation[C]// Industrial Conference on Data Mining.Springer,2017:68-77.
[20]劉斌,陳凱. 基于SMOTE和XGBoost的貸款風險預(yù)測方法[J]. 計算機與現(xiàn)代化,2020.