吳照明 胡西川
1(上海海事大學(xué)信息工程學(xué)院 上海 201306) 2(上海海事大學(xué)信息工程學(xué)院計算機系 上海 201306)
互聯(lián)網(wǎng)金融是一種由于當(dāng)今網(wǎng)絡(luò)的快速發(fā)展以及人們?nèi)找嫘鲁钡南M觀念而誕生的新穎金融模式。其將互聯(lián)網(wǎng)作為貨幣流通的媒介,獲得了越來越多金融機構(gòu)的青睞。廣大金融機構(gòu)開始搭建網(wǎng)絡(luò)借貸平臺,在全球興起互聯(lián)網(wǎng)借貸的浪潮。對于廣大金融機構(gòu)而言,新的商機也就意味著要面對新的挑戰(zhàn)。要想在這一領(lǐng)域保持強勁的競爭力,獲得實質(zhì)性的發(fā)展,提升信貸風(fēng)控能力、規(guī)避風(fēng)險、降低損失顯得尤為重要。
我國互聯(lián)網(wǎng)金融發(fā)展?fàn)顩r呈現(xiàn)如下三個基本特點:
(1) 互聯(lián)網(wǎng)金融規(guī)模逐漸擴大。以P2P網(wǎng)絡(luò)借貸平臺為例,最早的P2P是2005年3月成立于英國的Zope網(wǎng)站,后來如雨后春筍一樣在全球迅速興起。我國的第一家P2P網(wǎng)絡(luò)借貸平臺成立于2007年,在最初的應(yīng)用后快速發(fā)展。由網(wǎng)貸之家發(fā)布的數(shù)據(jù)可知,截至2019年底,我國P2P網(wǎng)貸行業(yè)正常運營平臺數(shù)量達到了342家,全年P(guān)2P網(wǎng)貸行業(yè)成交量達到了9 649.11億[1]。
(2) 互聯(lián)網(wǎng)金融的結(jié)構(gòu)逐漸完善。目前我國的互聯(lián)網(wǎng)金融已經(jīng)形成三類參與機構(gòu)互相合作、互利共贏的融合體系。即傳統(tǒng)金融機構(gòu)的互聯(lián)網(wǎng)化、互聯(lián)網(wǎng)巨頭的金融業(yè)務(wù)輸出、科技企業(yè)對金融機構(gòu)的科技服務(wù)。
(3) 互聯(lián)網(wǎng)金融子市場逐漸形成。在進入2019年后,互聯(lián)網(wǎng)金融的宏觀經(jīng)濟、監(jiān)管環(huán)境與行業(yè)經(jīng)營方面均得到改善。其外部環(huán)境壓力顯著減小,使得部分細分領(lǐng)域及機構(gòu)得到了發(fā)展的空間,如中小金融機構(gòu)、銀行科技子公司、互聯(lián)網(wǎng)巨頭旗下的金融產(chǎn)業(yè)等。互聯(lián)網(wǎng)金融子市場的形成已經(jīng)無法阻攔。
如今,互聯(lián)網(wǎng)金融行業(yè)的規(guī)模日益增大,相關(guān)的理財產(chǎn)品和服務(wù)層出不窮,但隨之而來的不僅僅是機遇,更有挑戰(zhàn)。
互聯(lián)網(wǎng)金融行業(yè)的風(fēng)險大致可以分為三種:(1) 由于互聯(lián)網(wǎng)的虛擬性帶來的風(fēng)險。網(wǎng)絡(luò)借貸平臺不能像銀行一樣有借貸人非常準(zhǔn)確的信息,借貸人可能會給予虛假的信息,影響平臺的還貸率。(2) 由于互聯(lián)網(wǎng)的傳播性帶來的風(fēng)險。如果互聯(lián)網(wǎng)金融機構(gòu)出現(xiàn)了一點負面消息,就會被互聯(lián)網(wǎng)無限地放大,導(dǎo)致無法進行及時的補救措施。如2019年10月16日,湖南24家網(wǎng)貸機構(gòu)因不符合政府有關(guān)規(guī)定被予以取締,導(dǎo)致當(dāng)?shù)仄渌木W(wǎng)貸機構(gòu)紛紛被列入觀察名單。(3) 由于互聯(lián)網(wǎng)的技術(shù)性帶來的風(fēng)險?;ヂ?lián)網(wǎng)金融無法像傳統(tǒng)金融有著完善的法律體系來保護。它更多的是需要用技術(shù)來建立一個穩(wěn)固的數(shù)據(jù)防火墻和高效合理的風(fēng)控體系,畢竟互聯(lián)網(wǎng)金融大部分業(yè)務(wù)都是以互聯(lián)網(wǎng)作為媒介,需要更多的技術(shù)支持。一旦技術(shù)環(huán)節(jié)出現(xiàn)了問題,就會造成大規(guī)模的癱瘓,使得金融機構(gòu)受到巨大的損失。如2018年6月27日,由于阿里云的一次宕機,導(dǎo)致數(shù)個如優(yōu)酷、螞蟻金服和飛豬等事業(yè)群停機了約1個小時,帶來了巨大的損失。
由于技術(shù)性帶來的風(fēng)險最大,使得互聯(lián)網(wǎng)金融風(fēng)控模型研究在學(xué)界和業(yè)界受到高度重視。趙明明[2]提出一種基于核密度的K-Means算法,結(jié)合MapReduce分布式架構(gòu),在分布式下將聚類結(jié)果通過用戶ID編號進行標(biāo)簽還原,并以標(biāo)簽的形式描繪出用戶畫像,將用戶分成不同的群體類別。趙慧娟[3]對Apriori算法進行改進,重新定義一種類似于矩陣加法的數(shù)據(jù)存儲方式,針對生成候選項集的連接步驟進行優(yōu)化,以避免產(chǎn)生更多無效的候選項集,提高了算法效率。黎寧[4]采用歸納演繹法和案例研究法對國內(nèi)互聯(lián)網(wǎng)金融領(lǐng)域的金融信貸大數(shù)據(jù)風(fēng)控技術(shù)進行研究。臧嘉惠[5]針對百度金融存在的問題,提出了推動社會征信體系建設(shè)完善、重視對培訓(xùn)機構(gòu)的審核約束、加強行業(yè)監(jiān)管或第三方監(jiān)管、多方面提高員工的風(fēng)險意識四個解決對策。李子木[6]用Spark并行大數(shù)據(jù)處理系統(tǒng)作為分析數(shù)據(jù)環(huán)境為金融企業(yè)提供金融風(fēng)險控制機制。Peter等[7]采用基于具有時變參數(shù)的多變量隱馬爾可夫模型,對金融企業(yè)的財務(wù)收益均值和協(xié)方差進行多周期預(yù)測,根據(jù)數(shù)據(jù)的動態(tài)變化實時改變預(yù)測值的大小,可以有效地幫助企業(yè)規(guī)避風(fēng)險。Ari等[8]提出了一個結(jié)合切爾諾夫約束的方法,降低漂移檢測(FIMT-DD)算法的標(biāo)準(zhǔn)偏差值,提高其快速增量模型樹的準(zhǔn)確率。從而增強FIMT-DD算法對數(shù)據(jù)進行分類預(yù)測的功能。Ivan等[9]將一個基于Java語言的數(shù)據(jù)挖掘軟件——Xelopes作為實驗平臺,對樸素貝葉斯分類算法進行并行計算,以此來提升算法的高效并行化和擴展性。
結(jié)合上述算法優(yōu)化的研究可以看出,在大規(guī)模數(shù)據(jù)集下,需要用數(shù)據(jù)切分的方式解決由于數(shù)據(jù)龐大導(dǎo)致的預(yù)測不準(zhǔn)問題,其對于數(shù)據(jù)篩選和特征衍生具有一定的啟發(fā)作用。雖然K-Means算法、Apriori算法、FIMT-DD算法、Spark通過優(yōu)化之后能夠消除掉一些無效的數(shù)據(jù),提升預(yù)測的準(zhǔn)確率,但是會帶來內(nèi)存消耗過多、處理大規(guī)模數(shù)據(jù)時速度減慢等問題。而根據(jù)數(shù)據(jù)動態(tài)變化實時預(yù)測和對算法進行并行運算雖然提高了準(zhǔn)確率,加快了處理大數(shù)據(jù)時的速度,但是不僅沒有降低內(nèi)存消耗,反而大大增加了處理器的負擔(dān)。LightGBM算法不僅能在提升預(yù)測準(zhǔn)確率的同時,提升處理速度,還能占用較少的內(nèi)存,釋放更多的資源。
LightGBM是一種新的Boosting框架,基本原理與XGBoost一樣,使用基于學(xué)習(xí)算法的決策樹,但是它基于Histogram算法實現(xiàn)。Histogram算法的優(yōu)勢有兩個,第一個是它只需要#data×#feature×1Bytes的內(nèi)存消耗,僅為XGBoost中exact算法的1/8。因為histogram算法僅需要存儲featurebin value(離散化后的數(shù)值),不需要原始的數(shù)值,也不用排序,而binvalue一般用uint8_t(256bins)的類型就夠了。Histogram算法另一個優(yōu)勢則是大幅減少了計算分割點增益的次數(shù)。由于histogram可以進行數(shù)據(jù)并行,所以只需要計算#bin(Histogram的橫軸的數(shù)量)次。
LightGBM的另外一個優(yōu)勢在于它使用了帶有深度限制的按葉子生長(leaf-wise)算法來取代大多數(shù)GBDT使用的按層生長(level-wise)的決策樹生長策略。Leaf-wise在分裂次數(shù)相同的情況下,可以降低更多的誤差,得到更好的精度。由于一個葉子的直方圖可以由它的父親節(jié)點和它兄弟節(jié)點的直方圖做差得到,LightGBM利用這個原理,可以在構(gòu)造一個葉子的直方圖后,用十分微小的代價得到它兄弟葉子的直方圖,將速度提升一倍。
Histogram算法建立直方圖的主要步驟共有四個循環(huán)。
第一個for循環(huán):在當(dāng)前模型下對所有葉子節(jié)點處理(每一個模型)。
第二個for循環(huán):遍歷所有特征,需要最佳分類特征值。使用分箱操作建立直方圖。
第三個for循環(huán):遍歷所有的樣本,根據(jù)公式H[f.bins[i]].g+=gi計算bin中樣本梯度之和,公式H[f.bins[i]].n+=1對bin樣本計數(shù)。
第四個for循環(huán):遍歷所有bin,找到最佳bin。SL為當(dāng)前bin左邊所有bin的梯度和,nL為當(dāng)前bin左邊所有bin的數(shù)量,SP、np為父親樣本的總梯度和和總數(shù)量,SR、nR為當(dāng)前bin右邊所有bin的梯度和和樣本數(shù)量,直接由父節(jié)點減去左邊得到。所以只需建立一個葉節(jié)點的直方圖就可以了。
Leaf-wise和Level-wise的區(qū)別如圖1和圖2所示。
圖1 Leaf-wise策略圖
圖2 Level-wise策略圖
可以看出,Level-wise生成樹策略分裂同一層的每個葉子,這樣可以使用多線程去優(yōu)化,防止過擬合,但是葉子節(jié)點的分裂效益過低。而Left-wise生成樹策略按照葉子的增益效果來分裂,選擇增益效果最大的葉子對其進行分裂,這樣可以提升分裂效益,但會帶來過擬合的問題。
基于LightGBM算法,根據(jù)提取的用戶特征,來構(gòu)建分類預(yù)測模型。
1) 假設(shè)對特征進行篩選和衍生之后,得到的特征表示為:
(1)
再經(jīng)過分桶和0-1標(biāo)準(zhǔn)化后,進行轉(zhuǎn)化:
(2)
將特征b11到bnm作為目標(biāo)變量yi。
2) 計算初始梯度值。用bgistic loss函數(shù)作為特征的損失函數(shù):
L(yi,F(xi))=yilog(pi)+(1-yi)log(1-pi)
(3)
式中:F(xi)為梯度值;Pi為損失概率。
(4)
則初始梯度值為:
(5)
式中:η為學(xué)習(xí)率;Fm(xm)設(shè)為0。原特征值轉(zhuǎn)化為:
(6)
3) 建立樹,總共分為五步去做。
(1)將特征值轉(zhuǎn)化為bin value,即對每個特征做一個分段函數(shù),把所有樣本在該特征上的取值劃分到某一段(bin)中。
(2) 對每個特征構(gòu)建一個直方圖,將原來的特征值表進一步轉(zhuǎn)化:
(7)
式中:eij=(sij,nij);sij為bin中樣本梯度之和;nij為bin中樣本數(shù)量。
(3) 從直方圖中的sij、nij來求分裂增益,選取最大的增益,則此時的特征和bin的取值為最佳分裂特征G和最佳分裂特征值H。
(8)
(9)
(4) 建立根節(jié)點:
Ti=argmax(Gi) 1≤i≤m
(10)
即根節(jié)點為(Ti,Gj,Hj)。
(5) 根據(jù)Gi和Hi對樣本進行切分。直到所有葉子不能分割或者達到切分最大限度。
4) 更新初始梯度值Fm(xi)。
5) 重復(fù)第3)步、第4)步,把所有的樹建成。至此,分類預(yù)測模型主要部分已經(jīng)完成了[10]。
基于LightGBM的分類預(yù)測模型主要使用histogram算法來建立樹,即用直方圖來找出最佳分裂特征和特征值。這種算法不僅可以減少內(nèi)存的消耗,還可以加快計算的速度。但是,這種算法也有不足之處。在采用了leaf-wise策略優(yōu)化后,雖然減少了很多不必要的開銷,但容易長出較深的決策樹,導(dǎo)致過擬合。一般采用設(shè)置最大深度來防止過擬合。
由于實驗數(shù)據(jù)過多,設(shè)置的最大深度仍然可能造成過擬合。所以使用pair-wise算法來降低深度。pair-wise算法是指將兩個相互作用因子通過其交互作用的比例,對產(chǎn)生的case進行篩選,從而找出最佳性價比的集合?;趐air-wise算法的原理,可以在建立樹的過程當(dāng)中,減少節(jié)點的分裂,降低深度,防止過擬合。
在1.2節(jié)風(fēng)控模型算法設(shè)計的第3)步中,對樣本進行切分后,做一個判斷函數(shù):
(1) 遍歷整棵樹,獲取每個點的位置、分裂特征和特征值,即(Ti,Gi,Hi)。
(2) 從上而下獲取上述三個因子的兩兩組合。
(3) 遍歷每個節(jié)點,判斷每個節(jié)點中三個因子的兩兩組合是否在上面出現(xiàn)過,若出現(xiàn)則刪除,否則保存。
(4) 按照不同的順序執(zhí)行第(2)和第(3)步,即第(2)步和第(3)步的遍歷順序為從下而上。
(5) 得到兩組數(shù)據(jù),找出相同的點。
(6) 按照原先樹的節(jié)點順序?qū)Ⅻc排列,組成一棵新的樹。
模型的主要算法確定完畢,接下來就是指標(biāo)體系的建立。此次實驗的數(shù)據(jù)來自國外lending club P2P借貸網(wǎng)站2018年2月至2019年2月的用戶借貸信息,數(shù)據(jù)大概有60萬條,144個特征,將其中缺失值超過30%的特征剔除,還有102個特征,其中float64數(shù)值型特征有77個,object型特征有25個,表1為部分特征[11]。
表1 原始數(shù)據(jù)部分特征
通過查閱大量的消費金融行業(yè)的資料,從用戶個人信息、用戶行為特征、貸款平臺信息、貸后數(shù)據(jù)評分四個方面,以時間和空間兩個維度來進行特征的衍生,建立風(fēng)控模型的指標(biāo)體系。由于特征比較多,就不一一列舉,下面介紹幾個比較重要的特征。在對用戶個人信息進行特征的分析時,發(fā)現(xiàn)有些特征如addr_state(借貸人住址)、emp_title(工作標(biāo)題)、purpose(借貸目的)等為文本型數(shù)據(jù),對其進行分析得到相應(yīng)的詞云圖如圖3和圖4所示。
圖3 emp_title詞云圖
圖4 addr_state詞云圖
可以看出,文本型特征的數(shù)據(jù)種類繁多,且這些特征在模型里的重要程度非常高,所以要對這些文本型特征進行編碼,對于具有2個唯一類別的分類變量(dtype==object),使用Scikit-Learn LabelEncoder進行標(biāo)簽編碼,對于具有2個以上唯一類別的分類變量,使用get_dummies(datafram)函數(shù)進行one-hot編碼。
在用戶個人信息和行為特征中,注意到可以用annual_inc(借貸人年收入)/12除以loan_amnt(期望貸款金額)/int(term(貸款周期))來形成一個新的特征loan_purse,這個特征代表借貸人每月還款本金與月收入的比,把它叫做貸款人的還貸壓力。接下來,還可以用open_acc(借貸人信用檔案中未結(jié)信用額度)除以total_acc(當(dāng)前借貸人信用檔案中總信用額度)代表借貸人的信譽度,把它作為reputation。用issue_d(貸款發(fā)放時間)減去earliest_cr_line(借貸人首開信用卡時間)代表借貸人的信用歷史,把它作為re_history。用舊的特征來衍生新的特征。
在眾多特征中,有著許多的連續(xù)型特征如open_il_24m、dti、delinq_amnt等,用卡方分箱法對其進行分箱,并且計算所有特征的WOE和IV值,選取出IV值大于0.02的變量,用它們對應(yīng)的WOE值對數(shù)據(jù)進行替換。最后,形成的指標(biāo)體系如表2所示。
表2 指標(biāo)體系展示
續(xù)表2
實驗平臺為PyCharm Community Edition 2019.3.3 x64,操作系統(tǒng)為Windows 10旗艦版,CPU為Intel Core i7,16 GB內(nèi)存。實驗平臺如圖5所示。
圖5 實驗平臺截圖
對網(wǎng)上爬取的數(shù)據(jù)進行數(shù)據(jù)清洗和數(shù)據(jù)規(guī)范化處理等相關(guān)操作形成格式區(qū)間統(tǒng)一的數(shù)據(jù)。處理前和處理后的文件對比如圖6所示。
(a) 處理前
(b) 處理后圖6 數(shù)據(jù)處理前后對比
對數(shù)據(jù)進行清洗、篩選、特征衍生形成特定的指標(biāo)體系后,從新的數(shù)據(jù)集中以70%:30%的比例選取訓(xùn)練集與預(yù)測集,在基于LightGBM算法的分類預(yù)測模型上進行訓(xùn)練。通過反復(fù)實驗對比,得出了本次實驗的最近參數(shù),即LightGBM樹的最大葉子數(shù)設(shè)為128,最大樹深度設(shè)為7 643,提升學(xué)習(xí)率設(shè)為0.097 14,擬合樹的棵數(shù)設(shè)為10,設(shè)計出表現(xiàn)最好的模型。再對數(shù)據(jù)進行分類和預(yù)測,得到輸出的結(jié)果,根據(jù)每個用戶的得分,劃分不同的區(qū)間。輸出結(jié)果部分如表3所示。
表3 借貸人得分
由于得分主要集中于0.1到0.2之間,所以從0.1到0.2這一區(qū)間中每隔0.01劃分一個區(qū)間,0.1以下和0.2以上再各分一個,總計12個區(qū)間,分數(shù)越高,用戶的按時還款率越高。通過一個簡單的分數(shù)判定,來預(yù)測平臺用戶的還款率。
由于提供實驗數(shù)據(jù)的平臺已經(jīng)對客戶進行了信用分級,分級情況如圖7所示。
圖7 信用分級
可以看出,該平臺將客戶分為了7個等級,每個等級上左邊的柱形圖代表按時還款的人數(shù),右邊的代表違約的人數(shù)。而A和G等級中的違約人數(shù)太少,無法形成有效的柱形圖,就只統(tǒng)計按時還款的人數(shù),方便分析。通過觀察發(fā)現(xiàn),從A到G等級,隨著等級的升高,客戶的違約率越高,而最高的違約率沒有超過24%,即借貸人的按時還款率在76%到100%不等。根據(jù)圖7得出的結(jié)論和表3中的實驗結(jié)果,將得分小于0.1的借貸人作為還款率最低的那部分人處理,即還款率為76%;大于0.2的借貸人則為還款率100%的客戶。而0.1至0.2之間以0.01作為間隔劃分為10個區(qū)間,將此區(qū)間得分減去0.1再乘以2.4,最后加上76%作為還款率,如得分為0.103 482的借貸人,處于第一號區(qū)間,則根據(jù)公式[(score-0.1)×2.4+76%)],得其還款率為76.836%。經(jīng)過觀察發(fā)現(xiàn),得分越高的借貸人,其年收入越高,年收入與得分的關(guān)系如圖8所示。
圖8 年收入與得分關(guān)系
可以看出,借貸人年收入與得分成正比,且借貸人年收入高于200 000時得分接近0.2,即達到最大還款率;而在年收入低于25 000后接近最小還款率。為了驗證實驗結(jié)果的合理性,將原始數(shù)據(jù)中的借貸人年收入和違約率作為關(guān)系特征來建立關(guān)系,從中分析借貸人年收入和違約率規(guī)律。建立的關(guān)系曲線如圖9所示。
圖9 年收入與違約率關(guān)系
圖9的設(shè)計類似圖7,每個區(qū)間左右邊的條形圖分別為按時還款的人數(shù)和違約人數(shù)。從圖9中不難看出借貸人的違約率是與年收入成反比,即借貸人年收入越高,違約率越低。經(jīng)過進一步觀察發(fā)現(xiàn),在0到25 000這一區(qū)間達到了違約率的峰值,而在200 000到2 000 000的區(qū)間違約率低到忽略不計。這與圖8中的結(jié)論互相印證,證明了實驗結(jié)果是合理有效的。
此外,根據(jù)對實驗結(jié)果的分析發(fā)現(xiàn),得分低于0.1的借貸人在過去兩年內(nèi)的違約次數(shù)基本達到了6次以上,且信用卡透支次數(shù)也達到了4次以上;而隨著得分的升高,借貸人的信用歷史和信譽度都隨之升高,符合現(xiàn)實規(guī)律。
將ROC曲線、AUC值和F1-score作為模型的評估標(biāo)準(zhǔn)。ROC曲線全稱為“受試者工作特征曲線”(Receiver Operating Characteristic),橫軸為“假正例率”(False Positive Rate),即在不同標(biāo)準(zhǔn)下受到的同一刺激;縱軸為“真正例率”(True Positive Rate),即受到刺激下做出的反應(yīng)。通過對ROC曲線的觀察,來判斷模型的準(zhǔn)確性,一般ROC曲線越靠近左上角,其假正例和假反例總數(shù)越少,模型的查全率就越高,模型預(yù)測得就更為準(zhǔn)確。而AUC為ROC曲線下的面積,它能量化地反映出基于ROC曲線衡量出的模型性能;AUC越大,說明該分類器的分類性能越好。F1-score是一種均衡精度和召回率的綜合評價指標(biāo)。
通過求出基于LightGBM算法預(yù)測模型的ROC曲線,以及與邏輯回歸、決策樹、SVM和XGBoost的F1-score、AUC值的對比,來體現(xiàn)LightGBM在用于信貸風(fēng)控模型的優(yōu)勢。圖10為LightGBM算法的ROC曲線。
圖10 ROC曲線圖
圖10中的虛線為基準(zhǔn)線,實線則為改進后的LightGBM算法的ROC曲線。由ROC曲線可知優(yōu)化后的LightGBM算法已經(jīng)達到了很高的準(zhǔn)確率,表4給出了該算法與其他分類預(yù)測算法的對比結(jié)果。
表4 算法各項指標(biāo)對比
由圖10和表4結(jié)果可知,與邏輯回歸、決策樹、SVM和XGBoost算法相比,LightGBM算法預(yù)測得更為準(zhǔn)確,得分更高,AUC值更大。LightCBM算法在分類預(yù)測上有著極大的優(yōu)勢,在運用到消費信貸風(fēng)控模型上面有著很不錯的前景。
通過對LightGBM算法進行研究,再融合pair-wise算法進行改進,建立互聯(lián)網(wǎng)金融信貸風(fēng)控分類預(yù)測模型。用借貸人的相關(guān)信息作為實驗數(shù)據(jù),開展分析和預(yù)測。實驗表明,相較于其他算法模型,LightGBM具有速度快、效率高、更精準(zhǔn)、占用內(nèi)存少,以及可以并行計算等優(yōu)點。互聯(lián)網(wǎng)金融的數(shù)據(jù)會越來越龐大和復(fù)雜,基于LightGBM算法的互聯(lián)網(wǎng)金融風(fēng)險預(yù)測模型在實踐中會有重要的應(yīng)用價值。
本文還有不足之處,例如,數(shù)據(jù)集存在著一定的完整性缺失,指標(biāo)體系也不夠全面,對實驗結(jié)果有一定的影響,有待進一步研究改善。