鐘華星



【摘要】針對金融借貸數據存在的較嚴重的類別不平衡問題,構建基于RUSBoost算法的違約風險預測模型。作為一種集成學習方法,RUSBoost算法利用欠采樣實現了訓練集的類別均衡,同時又通過對基學習器的獨立采樣有效克服了因欠采樣而造成的信息丟失問題,從而實現了對類別不平衡數據的較強適應能力。基于某網絡借貸平臺的金融大數據,首次將RUSBoost算法應用于違約風險預測,同時也將隨機森林、決策樹以及支持向量機等數據挖掘方法分別應用于違約風險預測問題,并與傳統的Logistic回歸方法和最小二乘模型進行對比分析。從實驗結果來看,絕大部分數據挖掘模型的預測性能要明顯優于傳統模型,而基于RUSBoost算法的違約風險預測模型又明顯優于其他數據挖掘模型。
【關鍵詞】集成學習;數據挖掘;違約風險;網絡借貸
【中圖分類號】F832.4 ? ? ?【文獻標識碼】A ? ? ?【文章編號】1004-0994(2020)10-0074-7
一、引言
信息不對稱是導致金融市場效率不高、風險積聚的重要原因之一。而在新技術條件下,金融行業積累、沉淀了海量的多源異構數據。因此,有必要深入研究如何通過大數據技術緩解金融市場中的信息不對稱問題,提升金融市場效率。在此背景下,本文研究了數據挖掘方法,尤其是RUSBoost算法在信用風險評估領域的應用。
金融大數據通常具有模式復雜、維度較高、非線性較強、數據類型較多等特點,而傳統的信用風險評估方法(包括Logistic回歸、OLS模型等)并不能很好地適應上述數據特征。同時,傳統方法在處理海量、高維數據時還面臨計算復雜度較高的問題。但數據挖掘方法可以通過模型選擇和參數調整適應不同特點的數據,例如:通過特征選擇和降維學習可以高效地處理高維數據。此外,利用數據挖掘方法在建模時可以引入更多維度的異構信息。信用風險的分析評估對于提升金融中介效率、控制和預防金融風險具有重要意義。其中,網絡借貸的違約風險一直是近幾年社會關注的焦點問題。本文將利用某網絡借貸平臺數據,分別構建基于RUSBoost算法、隨機森林、決策樹以及SVM算法的違約風險預測模型,并且將上述各數據挖掘模型與傳統的Logistic回歸方法和最小二乘模型(OLS)進行對比分析。本文首次將RUSBoost算法應用于違約風險預測,從實驗結果來看,該算法取得了不錯的效果。
正常情況下,大部分網絡借貸平臺的違約率都在5%以內。這意味著在所獲得的數據集中只有不到5%的樣本是違約數據,剩余95%以上的樣本都是未違約數據。在將數據挖掘方法應用于違約風險預測的過程中,上述類別不平衡(class-imbalance)問題是影響算法性能的主要因素之一。
應對類別不平衡問題的常用方法主要有兩類[1] :一種是“欠采樣”(undersampling),即從樣本數量較大的類別中去除一部分樣本數據,使得類別分布更均衡;另一種是“過采樣”(oversampling),即通過各種二次采樣方法增加某些類別的樣本數量。欠采樣方法的最大缺點是因舍棄樣本數據而丟失了部分信息[2] ,優點是簡化了模型的訓練過程,縮短了訓練時間。過采樣方法不存在信息丟失問題,但頻繁地重復采樣不僅導致數據集規模上升、模型訓練的時間成本增加,也容易造成嚴重的過擬合問題[3] 。本文所采用的RUSBoost算法[4] 是一種結合了欠采樣方法與Boosting算法[5] 的混合算法。
二、文獻綜述
在信用風險研究領域,尤其是針對借款人的違約風險預測問題,主要存在兩類方法:一類是以Logistic回歸、Probit模型以及OLS等為代表的傳統方法;另一類是近幾年才開始逐步流行的數據挖掘方法,包括隨機森林、決策樹以及SVM算法等。目前的多數研究仍以經典的傳統方法為主,但傳統方法對數據分布有嚴格的假設前提[6] ,這限制了傳統方法的預測效果,使得在大多數情況下傳統方法的準確度低于數據挖掘方法[7] 。
因此,現在出現了將傳統方法與機器學習方法相結合的新趨勢。Khandani等[8] 將CART(Classification And Regression Tree)算法與非參數估計方法相結合,構建了非線性的違約風險預測模型,從而利用交易數據和征信數據預測信用卡持有者的逾期和違約情況。Tsai等[9] 針對消費者信用評級問題,設計和比較了幾種不同的統計回歸方法與機器學習方法相結合的方式,最后研究發現基于Logistic回歸與神經網絡的混合模型預測準確率最高。
近年來,數據挖掘方法被越來越多地應用于信用風險領域。Huang等[10] 嘗試采用SVM算法對信用卡進行評分,而Lee[11] 則將SVM算法應用于企業信用評級,并且通過交叉驗證實驗證明了該方法的性能優于傳統的統計回歸方法。方匡南等[12,13] 首次將非參數隨機森林分類方法分別應用于信用卡的信用風險評估以及住房貸款的違約風險評估,實驗表明該方法的預測準確率明顯高于Logitic模型等其他方法。呂勁松等[14] 針對商業銀行信貸資產質量審計問題,通過將屬性選擇、決策樹和SVM算法相結合,可以部分識別影響銀行資產質量的貸款記錄。針對網絡借貸的違約風險預測問題,范超等[15] 以及鄒欣[16] 分別比較了不同數據挖掘方法和統計回歸模型在預測性能上的優劣,并且分析了影響借款人違約的主要因素。
總之,目前基于數據挖掘方法的信用風險研究并不多,但由于對樣本數據和應用場景的限制較少,使得多數情況下數據挖掘方法的性能要優于經典的統計回歸方法[7] 。而國內在這方面的研究起步較晚,未來將有廣闊的發展空間。
三、基于RUSBoost算法的違約風險預測模型
針對樣本數據存在的嚴重的類別分布不平衡問題,本文將利用RUSBoost算法來構建違約風險預測模型。該算法通過欠采樣使得訓練數據的類別分布更均衡,同時縮短了訓練時間。此外,由于每個基學習器的訓練集都是獨立采樣獲得的,因而該算法可以有效克服因欠采樣而造成的信息丟失問題。已有研究也表明,相較于其他算法而言,RUSBoost算法是一種更簡潔、高效的方法,可以更好地適應類別不平衡問題[4] 。但目前在信用風險領域還沒有相關研究,本文首次將該算法應用于違約風險預測。
RUSBoost算法是一種結合了欠采樣方法與Boosting的混合算法[4] 。Boosting是一種將多個簡單的基學習器提升為強學習器的算法[5] ,最常用的Boosting方法是Freund等[17] 提出的AdaBoost算法。本文中的RUSBoost算法亦是基于AdaBoost算法構建的。RUSBoost算法首先利用初始訓練集訓練出一個基學習器;再根據當前基學習器的訓練誤差調整每個訓練樣本的分布權重,通過增大被誤分類樣本的權重,使其在后續訓練過程中獲得更多關注;然后利用調整后的樣本訓練出下一個基學習器;如此反復迭代,直至生成T個基學習器;最后將根據上述T個基學習器的加權投票結果來預測未標記樣本。
RUSBoost算法的流程如圖1所示。首先,所有樣本的分布初始化為1/m;其次,利用欠采樣方法生成訓練集St',并且通過對St'中各樣本的原有權重進行歸一化處理,以獲得新分布Λt';然后,在訓練集St'和分布Λt'下訓練獲得基學習器ht,并且更新最優權重αt和樣本分布Λt+1,以用于下次迭代;最終通過T次迭代,輸出全部基學習器的加權線性組合。在迭代過程中,RUSBoost算法通過調整樣本權重的分布(即增加被誤分類樣本的權重)來提升后續基學習器的準確率。
四、其他違約風險預測模型
除了RUSBoost算法,本文還分別利用隨機森林、決策樹以及SVM算法等數據挖掘方法構建對應的違約風險預測模型,以比較各類方法的性能。
1. 隨機森林。隨機森林是由Breiman[18] 提出的一種基于Bagging策略的并行式集成學習方法。它通過T次隨機采樣獲得T個不同的訓練集,并且基于每個訓練集訓練出對應的基學習器,最后通過投票或者平均的方法集成上述T個基學習器的輸出結果。隨機森林一般以決策樹作為基學習器,并且在訓練過程中引入了隨機屬性選擇,即:在每個結點決策樹會首先從屬性集中隨機選擇出一個候選子集,然后再從上述候選子集中選擇一個最優屬性作為決策樹的一個劃分結點。
與傳統決策樹相比,隨機森林通過引入屬性擾動增加了基學習器的多樣性,使得其集成后的泛化性能有顯著提升。
2. 決策樹。決策樹是通過屬性測試構建出一棵樹模型,一般以信息增益為準則來選擇最優屬性。假設數據全集D在屬性a上取值為ai的樣本集為Di,樣本數量為|Di|,而D中第k類樣本占全部樣本的比例為pk,則對數據集D按照屬性q進行劃分后的信息增益定義為:
式(13)表示數據集的信息熵。信息增益越大,說明按照該屬性劃分后數據集的類別純度提升越大。所以,決策樹模型在每個結點會選擇信息增益最大的屬性進行劃分。
本文采用C4.5決策樹算法[19] 構建對應的違約風險預測模型。該算法以增益率為準則來選擇最優屬性,其定義為:
該式表征了屬性a在不同取值下的熵。C4.5算法將先過濾出信息增益高于平均值的屬性,再從上述候選屬性集中選擇增益率最高的屬性。這樣可以避免算法偏好于取值數目較多的屬性。
3. 支持向量機。支持向量機[20] 首先用核函數將樣本數據映射到某個高維空間,然后通過構造最優超平面實現高維空間上的線性分類。本文采用高斯核函數構建違約風險預測模型,其定義為:
其中,σ>0為高斯核的帶寬。
五、數據描述與變量說明
1. 數據描述。本文研究的樣本數據來源于網絡借貸平臺“人人貸”2010年10月 ~ 2018年5月發布的借款訂單數據。該初始樣本包含了1358004個借款訂單,涉及1132918個借款人。所有訂單的借款額以及借款期限的分布情況分別如圖2和圖3所示,其中縱軸為訂單數量,橫軸分別為借款額(單位為元)和借款期限(單位為月)。從圖2可以看出,大部分訂單的借款額在5.5萬元以內,訂單數量分布最集中的前三個區間分別為10萬 ~ 15萬元、5萬 ~ 5.5萬元以及3萬 ~ 3.5萬元。同時,由圖3可知,借款期限的分布更集中。對于大部分借款成功的訂單,其還款期限長則1 ~ 2年,短則3 ~ 6個月。其中,申請還款期限為36個月的訂單雖然數量較多,但大部分都是借款額在10萬元以上的大額訂單,借款成功率很低。
所有訂單被分為4種狀態:已流標、進行中、已還清和已違約。其中,已流標訂單為579315個,占全部訂單的42.66%;進行中的訂單為485006個,占全部訂單的35.71%;已還清和已違約訂單各289431?個和4251?個,占比分別為21.31%和0.31%。
由于進行中的訂單暫時無法判斷其是否違約,而已流標訂單已經借款失敗,故在進行違約風險分析時,本文只考慮已還清和已違約兩種狀態的訂單。所以,本文的研究樣本共包含了293682?個有效訂單,其中違約訂單4251個,違約率為1.45%。由于兩類訂單的樣本數量分布嚴重不平衡,在后續研究中,本文將采用欠采樣方法來構建類別均衡的數據集,每次從289431?個已還清訂單中隨機抽樣出4251個樣本,再將已獲得的8502個類別均衡的樣本按照一定比例劃分為訓練集和測試集。
2. 變量說明。在本文所構建的違約風險預測模型中,其目標變量(被解釋變量)是預測訂單是否違約。若違約,則目標變量取值為1;否則為0。
同時,本文的違約風險預測模型涉及34個特征變量(解釋變量),分為以下6類:①個人基本信息:借款人的性別,出生日期,出生地點,是否已婚。②訂單信息:本次借款的借款額,借貸期限,利息率,借款開始時間,借款用途和還款來源。③借貸歷史:借款人在本平臺上已申請的借款訂單數量,以及其中借款成功、已還清和已違約的訂單數量;借款人已申請的借款訂單的總借款額,以及其中借款成功的借款額與所付利息、已還清的借款額與所付利息。④資產與負債信息:借款人是否有其他貸款,是否有房產,是否有房貸,是否有車產,是否有車貸。⑤工作與收入信息:借款人的收入水平,工作年限,工作職級,工作地點,工作單位類型,所屬行業,企業規模。⑥教育背景:借款人的學歷水平、畢業學校類型、畢業年份。
本文通過研究發現借款人的收入水平和學歷水平對借款成功率的影響較大。不同收入水平借款人的整體占比、借款成功率與違約率情況如表1所示,而不同學歷水平借款人的借款結果見表2。
從收入水平來看,月收入在1000元以下的借款人成功率較高,違約率為零,這是因為該層級的訂單數量較少、借款額較小,其統計結果可能不具有代表性;月收入在50000元以上的借款人可能存在收入信息證明不真實、借款額較大的問題,導致該層級的借款成功率有所下降、違約率上升。而從其他5個收入層級可以看出,隨著收入水平的上升,借款成功率明顯提高、違約率逐步下降。
從學歷水平來看,高學歷借款者的借款成功率更高、違約率更低。其中,研究生及以上學歷者的借款成功率低于本科學歷者,主要是由于前者的樣本數量較少的緣故。
六、實證結果及分析
為了驗證各數據挖掘方法的違約風險預測性能,本文采用10折交叉驗證(10-Fold Cross Validation)的方式比較了不同模型預測結果的平均準確率。所謂“10折交叉驗證”是將數據集劃分為10個規模相等的互斥子集,每次隨機選擇其中一份數據子集作為測試集,剩余9份子集都作為訓練集,從而可以進行10次訓練和測試,最終以這10次測試結果的平均準確率來評價每個模型的預測性能。
在10折交叉驗證方式下,不同模型的平均準確率如圖4所示。這里既包含了RUSBoost、隨機森林、決策樹以及SVM等數據挖掘模型,也比較了傳統的Logistic回歸方法和最小二乘模型(OLS)。從圖4中可以看出,除SVM模型外,其他3種數據挖掘模型的平均準確率都保持在70%以上,明顯高于傳統模型。其中,RUSBoost算法的平均準確率最高,達到83.47%;其次是隨機森林和決策樹模型,分別為79.33%和71.46%。這充分驗證了RUSBoost算法在違約風險預測方面的良好性能。
為了進一步分析每個模型對已違約訂單和未違約訂單兩類樣本的區分能力,本文采用K-S值(Kolmogorov-Smirnov Statistic)來分析評價每個模型的分類能力。K-S值是針對Kolmogorov-Smirnov檢驗(K-S檢驗)構建的統計量,而K-S檢驗是一種用于檢驗兩個累積分布函數(或者經驗分布函數)是否具有顯著性差異的非參數方法。由于其不需要假設被檢驗數據符合正態分布,故該方法非常適合于對不滿足正態分布的小樣本數據進行假設檢驗。
若已違約和未違約的樣本類別分別表示為c1和c2,則每個類別的經驗分布函數為Fci(t)=P[p(x)≤t|ci]。其中,p(x)是由模型預測出的樣本屬于該類別的后驗概率(頻率),0≤t≤1。因此,K-S值定義為上述兩個經驗分布函數之間的最大距離,即:
K-S值最大可以達到1,最小為0。K-S值越大,說明模型對不同類別的區分能力越強,模型的預測準確性也越高。一般來說,K-S值大于0.2即可認為模型有較強的類別區分能力。
不同模型的K-S值比較結果如圖5所示。從圖5中可以看出,K-S值的對比結果與平均準確率相類似。除SVM模型外,其他3種數據挖掘模型的K-S值明顯高于傳統模型。RUSBoost算法的K-S值為0.7312,是所有模型中最高的。這主要得益于RUSBoost算法對類別不平衡問題有較強的適應能力,其通過對每個基學習器分別構建不同的訓練集,可以有效克服因欠采樣而造成的信息丟失問題。
ROC曲線(Receiver Operating Characteristic Curve)和AUC(Area Under Curve)值是另一類常用的分析評價模型預測性能的指標。ROC曲線描述了預測模型的TPR(True Positive Rate)與FPR(False Positive Rate)在不同分類閾值下的變化關系。其中,TPR是指模型預測違約正確的樣本數量占全部實際違約樣本的比例;FPR是指模型預測違約錯誤的樣本數量占全部實際未違約樣本的比例。顯然,ROC曲線越靠近(0,1)點,則模型的預測效果越好。因為(0,1)點是所有違約樣本都預測正確且對未違約樣本沒有預測錯誤的理想模型。而ROC曲線越靠近原點至(1,1)點的對角線,則說明模型的預測性能越接近“隨機猜測”。此外,還可以用AUC值(即ROC曲線與橫坐標軸圍成的面積)比較不同模型的ROC曲線。AUC值越大,則模型的預測性能越好。
不同模型的ROC曲線及其對應的AUC值分別如圖6和圖7所示。從中可以看出,SVM模型和Logistic回歸模型的ROC曲線最接近對角線,它們的AUC值也是最小的。而RUSBoost算法的ROC曲線最靠近左上角,并且基本包含了其他模型的ROC曲線。這說明基于RUSBoost算法的違約風險預測模型是有效的。
七、結論
本文構建了基于RUSBoost算法的違約風險預測模型,并且利用網絡借貸平臺的金融大數據,對各類基于數據挖掘方法的違約風險預測模型進行了對比分析。從實驗結果來看,絕大部分數據挖掘模型的預測性能要明顯優于傳統模型,而基于RUSBoost算法的違約風險預測模型又明顯優于其他數據挖掘模型。這是因為RUSBoost算法利用欠采樣實現了訓練集的類別均衡,同時又通過對每個基學習器分別構建不同的訓練集,可以有效克服因欠采樣而造成的信息丟失問題,從而實現對類別不平衡問題較強的適應能力。
本文首次將RUSBoost算法應用于違約風險預測,雖然取得了不錯的預測性能,但仍有很大的提升空間。在未來的研究中,可以充分利用金融借貸數據中已經存在的大量文本信息。這些文本數據所蘊含的豐富信息,對進一步提升模型的預測性能具有重要意義。
【 主 要 參 考 文 獻 】
[ 1 ] ? Weiss G. M.. Mining with rarity: A unifying framework[ J].ACM SIGKDD Explorations Newsletter,2004(1):7 ~ 19.
[ 2 ] ? Batista G. E., Prati R. C., Monard M. C.. A study of the behavior of several methods for balancing machine learning training data[ J].ACM SIGKDD Explorations Newsletter,2004(1):20 ~ 29.
[ 3 ] ? Drummond C., Holte R. C.. C4.5, class imbalance, and cost sensitivity: Why under-sampling beats over-sampling[C].Workshop on learningfrom imbalanced datasets II. Washington,DC: Citeseer,2003:1 ~ 8.
[ 4 ] ? Seiffert C., Khoshgoftaar T. M., Van Hulse J., et al.. RUSBoost:A hybrid approach to alleviating class imbalance[ J].IEEE Transactions onSystems Man & Cybernetics Part A Systems & Humans,2009(1):185 ~ 197.
[ 5 ] ? Freund Y., Schapire R., Abe N.. A short introduction to boosting[ J].Journal-Japanese Society for Artificial Intelligence,1999(771-780):1612.
[ 6 ] ? Hill R. C., Griffiths W. E., Lim G. C.. Principles of econometrics[M].New Jersey: John Wiley & Sons,2018:196 ~ 315.
[ 7 ] ? Goyal A., Kaur R.. Accuracy prediction for loan risk using machine learning models[ J].International Journal of Computer Science Trendsand Technology,2016(1):52 ~ 57.
[ 8 ] ? Khandani A. E., Kim A. J., Lo A. W.. Consumer credit-risk models via machine-learning algorithms[ J].Journal of Banking & Finance,2010(11):2767 ~ 2787.
[ 9 ] ? Tsai C. F., Chen M. L.. Credit rating by hybrid machine learning techniques[ J].Applied Soft Computing,2010(2):374 ~ 380.
[10] ? Huang C. L., Chen M. C., Wang C. J.. Credit scoring with a data mining approach based on support vector machines[ J].Expert Systemswith Applications,2007(4):847 ~ 856.
[11] ? Lee Y. C.. Application of support vector machines to corporate credit rating prediction[ J].Expert Systems with Applications,2007(1):67 ~ 74.
[12] ? 方匡南,吳見彬,朱建平等.信貸信息不對稱下的信用卡信用風險研究[ J].經濟研究,2010(1):97 ~ 107.
[13] ? 方匡南,吳見彬.個人住房貸款違約預測與利率政策模擬[ J].統計研究,2013(10):54 ~ 60.
[14] ? 呂勁松,王志成,隋學深等.基于數據挖掘的商業銀行對公信貸資產質量審計研究[ J].金融研究,2016(7):150 ~ 159.
[15] ? 范超,王磊,解明明.新經濟業態P2P網絡借貸的風險甄別研究[ J].統計研究,2017(2):33 ~ 43.
[16] ? 鄒欣.基于數據挖掘模型的違約風險分析——以網絡借貸為例[ J].上海金融,2018(5):16 ~ 23.
[17] ? Freund Y., Schapire R. E.. Experiments with a new boosting algorithm[C].ICML,1996:148 ~ 156.
[18] ? Breiman L.. Random forests[ J].Machine Learning,2001(1):5 ~ 32.
[19] ? Quinlan J. R.. C4.5:Programs for machine learning[M].California: Elsevier,2014:17 ~ 80.
[20] ? Cortes C., Vapnik V.. Support-vector networks[ J].Machine Learning,1995(3):273 ~ 297.