孟志青,姜 琦
(浙江工業(yè)大學 管理學院,浙江 杭州 310023)
在一個良性的個人借貸生態(tài)圈內,理想狀態(tài)是平臺、借款人、投資人能夠各取所需、合作共贏。一旦控制不好違約率,借貸本金將產生較大損失,會嚴重導致投資人退出、借款平臺成交量不斷縮水以及更多借出人出走等現象發(fā)生。為維持好良性可持續(xù)的借貸生態(tài)圈,借貸預測模型顯得尤為重要。分析借貸數據,會發(fā)現它是典型的不平衡數據——違約類為少數類。再加上它海量數據、緯度高、類型多(文本型、離散型、連續(xù)型)的特性,極大地影響分類精度[1-2]。在不平衡數據機器學習場景下,采用準確率(accuracy)來評估模型的策略不再適用[3]。以往的研究者為消除不平衡影響,提出一般性的代價敏感分類方法(P Domingos,1999)。Bahnsen等[4]提出基于代價敏感的邏輯斯蒂回歸,并于2015年提出基于代價敏感的決策樹[5-6]。但以往的代價敏感技術都使用單一分類器,應用于集成模型(例如Bagging和Boosting)很少被提及[7]。從借貸模型的業(yè)務角度出發(fā)研究,Serrano-Cinca等[8]提出利潤評分方法而不是借貸的信用評分。Verbraken等剔除基于期望利潤最大化思想,在預期損失和收益間進行權衡,進而給出允許向客戶放貸的閾值。這給筆者以啟發(fā),重視預測的現實意義,引入期望損失的概念來量化借貸樣本的代價敏感項。
Lending Club是美國最大規(guī)模的P2P個人借貸平臺,成立于2007年,由美國Experian公司提供信用評分(社會保障號碼的唯一性),美國證券交易委員會(SEC)進行監(jiān)管。該平臺對以往的歷史借貸數據隱去隱私信息后公開發(fā)布供學者、業(yè)界研究。筆者將利用該平臺公布的2014—2018年數據來進行借貸預測的研究,完整的借貸預測工作涉及數據預處理、特征工程、模型挑選優(yōu)化、評估等工作。綜上所述,將從算法角度出發(fā),基于近年在分類任務上表現優(yōu)秀的XGBoost和LightGBM集成算法模型,引入代價敏感項來更好地分類借貸數據,并根據借貸的現實交易意義,采用期望損失概念來量化代價敏感項,筆者提出的優(yōu)化算法模型命名為ES-XGB和ES-LGB。筆者算法照顧到對少數樣本的訓練來提升違約類的檢出率,并利用借貸業(yè)務場景中的有效信息來實現同時考慮類間差異和類內樣本差異,將誤判代價精細化,最后的數值結果證明所提出的ES-XGB和ES-LGB模型對于借貸預測更準確。
本研究對近年來在實際應用中表現較好的XGBoost和LightGBM集成算法模型進行優(yōu)化,首先介紹兩種算法的理論基礎。XGBoost(Extreme gradient boosting)是增強梯度提升模型,根據文獻[9]的算法解釋如下:給出數據集D={(xi,yi)}(|D|=n,xi∈Rm,yi∈R),集成模型用K個弱分類器累加來預測輸出,即
(1)
式中F={f(x)=ωq(x)}(q:Rm→T,ω∈RT)為回歸樹空間集合,其中q代表樹的結構,T代表樹的葉結點數量。每一個弱分類器fk由樹結構q和葉子權重ω表示。為了學習到一系列的樹結構,定義正則化目標為
(2)
(3)
(4)
LightGBM的目標函數推導過程與XGBoost相似。但較XGBoost具有更快的訓練效率,低內存使用,支持并行學習,可處理大規(guī)模數據的優(yōu)點[10]。該算法中提出兩種新方法:Gradient-based One-Side Sampling(GOSS,基于梯度的one-side采樣)和Exclusive Feature Bundling(EFB,互斥的特征捆綁)??朔薠GBoost需要通過預排序而造成的內存空間消耗大,時間代價大的問題。相對于XGBoost樹level-wise的切分方式,LightGBM采用leaf-wise,是一種更為高效的策略。在分裂次數相同的情況下,leaf-wise可以降低更多的誤差,得到更好的精度。leaf-wise的缺點是可能會長出比較深的決策樹,產生過擬合。因此LightGBM在leaf-wise之上增加了一個最大深度的限制。
二分類場景中成本代價可以使用2×2矩陣[11]來表示,它引入了與兩種類型的正確分類相關的常量成本為真陽性成本CTP與真陰性成本CTN,以及兩種類型的誤分類常量成本為假陽性成本CFP與假陰性成本CFN,如表1所示。進一步多分類的成本矩陣可以基于表1進行擴增行和列得到。
表1 成本矩陣ⅠTable 1 Cost matrix Ⅰ
通過對XGBoost、LightGBM算法中的目標函數中的損失項l乘上懲罰成本代價項,可以重新定義目標函數,讓代價敏感作用于算法迭代中。調整后的初始目標函數式為
(5)
期望損失是衡量損失風險的常用指標,意為在可能發(fā)生概率下的損失程度。在借貸活動中,投資人所遭受的損失有兩種:壞賬違約本金收不回和不投資而錯失利息收益。在許多金融活動決策中,投資者會以期望損失作為衡量指標[12]。假設能提前獲取借貸申請人違約的概率p,償還的概率(1-p),本金記為a,利率記為b。那么發(fā)放該筆貸款的損失為L1=p×a,不發(fā)放該筆貸款的損失為L2=(1-p)×a×b。比較L1,L2大小,可以輔助投資者進行風險規(guī)避型決策。集成模型可以迭代學習歷史多維度特征值,如果能將期望損失的決策方式考慮進迭代中,可以放大對違約損失的考量,使得分類器更加靈敏。
表2 成本矩陣ⅡTable 2 Cost matrixⅡ
根據期望損失量化的成本矩陣,筆者提出ES-XGB和ES-LGB算法中的目標函數為
優(yōu)化算法ES-XGB和ES-LGB的訓練過程偽代碼可用基于期望損失代價敏感優(yōu)化的XGBoost(LightGBM)算法描述為
Input:訓練集D={(xi,yi)}(|D|=n,xi∈Rm,
yi∈R);可容誤差ε
Begin:
Fort=1 toMdo:
Ifgi≤ε:跳出循環(huán),返回F(x)
Fori=1 toNdo:
Ifyi=1:
Else:
F(x)=F(x)+ft(x);
End for
End for
End
Output:F(x)
此次進博會匯豐除了在服務貿易展區(qū)設置占地100平米的展臺,還在進博會期間舉辦客戶專題研討會,重點探討中國市場和中國消費者在全球貿易中的重要性,為全球企業(yè)開拓中國新興消費市場提供支持。匯豐還借助首屆進博會的平臺,陸續(xù)發(fā)布貿易相關的報告和產品,包括:全球首發(fā)、配合進博會專門定制的有關中國市場消費前景的調查報告,以及面向貿易企業(yè)推出的數字化解決方案。
筆者提出的優(yōu)化算法屬于Boosting算法家族,為可加性模型,在每一輪迭代中學習擬合當前目標的負梯度方向進行搜索,當給定誤差情形下,在有限步內是收斂的。ES-XGB和ES-LGB算法運行大部分時間開銷仍然在每一輪分類樹的學習上,分裂節(jié)點搜尋采用直方圖算法(Histogram-basedalgorithm)[13-14],對比于以往計算排序每個特征的可能分裂節(jié)點,該方法事先將連續(xù)特征分箱處理并構造特征直方圖,能夠減少內存消耗并加速運算。若訓練數據集合的個數為D,特征集合的個數為H,特征直方圖集合個數為B,則每一輪分類樹學習復雜度為O((D+B)×H)。
選擇Lending Club平臺上2014—2018年共5 年的全部借貸數據。目標特征為“貸款狀態(tài)”,剔除所有中間狀態(tài),僅保留“償還”和“違約”兩種終結狀態(tài)超過500 000 條借貸記錄。根據借貸場景的現實意義篩選特征最終保留78項特征并分為4類:個人信息、信用信息、銀行賬戶信息、貸款信息共4個維度,每個維度選取個別特征項目列出,如表3所示。
表3 特征類型Table 3 Feature types
如圖1(a)所示,通過Lending Club借貸申請的貸款數目在不斷攀升,在2015年后放緩了增長幅度。在近4年中,有大量“進行中”狀態(tài)貸款,這也解釋“償還”和“違約”的貸款總量和從2015年到2018年會不斷降低。故在實驗驗證階段,2018年可用于訓練的數據量最少。
圖1 各年份不同狀態(tài)的借貸數量和比例Fig.1 The amount and proportion of loans in different states in each year
篩選出上述兩個最終狀態(tài)的貸款量并繪制其百分比圖,如圖1(b)所示,“違約”類型的借貸量在20%附近上下浮動?!皟斶€”類數量約為“違約”類數量的4倍之多。
本研究對數值型變量進行標準化處理,避免量綱帶來的影響[15]。類別型的數據轉換成啞變量,使用數值替換,如表4所示。
表4 分類變量轉換Table 4 Category variable conversion
在缺失值的處理工作中,本研究遵循業(yè)務場景意義來進行填充或刪除。雖然部分字段有較大的缺失率,但分析發(fā)現都是屬于“信用信息”維度中的失信類別的記錄特征,空缺值有其現實含義。例如特征項“距最近一次銀行卡違約的月數”缺失率高達74%。但在現實場景,大多數人的銀行記錄是良好的,空值表明沒有銀行卡違約的行為,則其對應的數值應該是無限大(1表示上個月發(fā)生了一次違約行為,0表示該月發(fā)生了一次違約行為)。采取使用該特征值最大值加60月的填充策略。使用最大值填充策略的還有其他代表違約、失信記錄類型的特征項。
特征項“工作年限”的空缺值代表申請者不能或不愿意提供自己的工作年限,傾向于認為該類型申請人工作時長對于申請到貸款沒有競爭力,用最小值填充。類似的還有特征項“距離最早開通的分期賬戶月數”等。
特征項il_util、revol_util、bc_util、all_utill是屬于二次加工字段,分別代表分期信用卡、循環(huán)賬戶信用卡、銀行卡、所有賬戶對應于各自最高信用額度的比率,采取使用其原始特征值計算加工填補。
依據數據分析結果,將構造2個新特征。原始特征“最早報告信用額度開通時間”是時間型變量。根據該變量和申請貸款的時間點來構造第一個新特征——“信用活動持續(xù)月數”,以月為單位使用SQL中的Month Between(時間點1,時間點2)函數加工獲得。構造第二個新特征——“月收入與月還款額比率”,即用月收入除以月還款額獲得,該特征起到可以將不同借款金額,不同還款時長,不同的年收入多個指標歸一化的作用。
實驗中選取的對比模型包括Linear Regression,Random Forest,AdaBoost(后分別記為LR,RF,Ada);未優(yōu)化的集成算法模型XGBoost和LightGBM(后分別記為XGB,LGB);采用固定成本優(yōu)化XGBoost和LightGBM模型(后分別記為CS-XGB,CS-LGB)。其中CS-XGB,CS-LGB的代價參數設置為CFN=1,CFP=2,CTP=0,CTN=0,即誤判為“償還”類的代價為誤判為“違約”類的2倍。
以上模型的參數均采用第3方開源模塊Scikit-learn(sklearn),模塊XGBoost和模型LightGBM提供的方法中的默認參數,方便實驗復現,其中random_state值設置為42。
對預處理和特征工程后的2014—2018年數據,以年為單位,按照7︰3比例拆分為訓練數據集、預測數據集并進行交叉驗證學習,其數據量如表5所示,實驗結果如表6所示。
表5 實驗中各年份數據量Table 5 Amountof data in experiment in each year
表6 各年份多模型多指標借貸預測實驗結果Table 6 Loan forecasting results of multi-model and multi-index ineach year
分析表6中的數據可得到5個結果:
1) ES-XGB和ES-LGB模型有明顯的綜合提升效果,所有年份中,在G-mean和Precision指標上一致優(yōu)于其他模型。
2) ES-LGB表現最為優(yōu)異,在5個年份中AUC值都領先。ES-LGB在G-mean和Precision指標上被ES-XGB在一些年份上超越過,但全部優(yōu)于除ES-XGB模型外的其他模型。
3) ES-LGB模型相比ES-XGB模型表現更為穩(wěn)定,ES-LGB模型在所有指標上都優(yōu)于自己的基礎模型LGB和固定成本模型CS-LGB,且AUC值是所有模型中最高的。但ES-XGB在2014年和2017年的數據上在AUC指標上表現略低于XGB或CS-XGB,雖然同時在G-mean和Precision指標上表現比后兩者高。
4) 借貸預測應用中,集成Boosting模型XGB和LGB優(yōu)于一般的機器學習模型,而典型的Bagging算法RF和典型的提升算法Ada也優(yōu)于廣義線性模型LR。
5) CS-XGB和CS-XGB優(yōu)于除ES-XGB和ES-LGB模型外的其他模型,說明目標函數中代入成本項可以有效消除樣本極度不平衡影響。進一步的,以期望損失量化為成本代價項進行預測效果更佳。
(6)
使用模型后產生的損失表示誤判為“償還”的本金損失加上誤判為“違約”的利息損失,其計算式為
(7)
用式(6)減去式(7),可計算出使用相應模型規(guī)避減少的損失金額,結果如表7所示。
表7 使用不同算法模型可減少損失金額
顯而易見:在不同年份借貸申請中,應用筆者所提出的ES-XGB和ES-LGB模型可避免減少的損失金額最為可觀。尤其在2015年分別貢獻高達147.0,148.9 百萬美元的金額,遠遠超出其他模型。使用固定成本集成模型CS-XGB和CS-LGB相對于原集成模型也可以避免約3~4倍的損失金額。
說明在借貸場景訓練樣本失衡的情況下,對少類別樣本增加成本權重有其現實意義和貢獻:可以規(guī)避更多的違約損失。應用筆者提出的期望損失來量化代價敏感項的策略可以使得模型在分類中更為敏感,可識別出更多的違約項目,增強風險控制能力。
篩選出模型ES-LGB中貢獻率排名前20的特征值,繪制權重比圖,如圖2所示。特征所對應的橫向直方圖越長代表在模型中分類貢獻性越強。
1—借貸利率;2—月收入與月還款額比率;3—月還款金額;4—距離最早開通分期賬戶月數;5—最大賬戶余額;6—最大循環(huán)賬戶余額; 7—借貸金額;8—距最早開通循環(huán)賬戶月數;9—循環(huán)賬戶余額與循環(huán)賬戶最高信貸額度比率;10—普通賬戶余額與最高信貸額度比率; 11—距最近開通銀行賬戶月數;12—所有賬戶的總余額;13—借貸目的;14—分期賬戶余額與分期賬戶最高信貸額度比; 15—距最近開通循環(huán)賬戶的月數;16—銀行賬戶余額與最高信貸額度比率;17—最高信用額度; 18—信用活動持續(xù)月數;19—距最近征信查詢的月數;20—循環(huán)賬戶的最高借貸額度。圖2 模型ES-LGB中前20個重要特征權重比Fig.2 Weight ratio of the first 20 important features in ES-LGB model
特征項2和特征項18為本研究根據借貸場景創(chuàng)建的特征,其中特征項2“月收入與月還款額比率”排名第二,說明特征工程創(chuàng)建的特征項可以很好幫助劃分借貸人的類別。根據ES-LGB建模還可以學習到屬于“銀行賬戶信息”“信用記錄”的特征因素對借貸申請人的還款行為有較大影響,而屬于“個人信息”維度的特征項沒有進入重要特征的前20位,對模型分類能力影響較弱。
選用Lending Club借貸平臺脫敏后公開的海量借貸數據進行研究,根據借貸業(yè)務場景的現實意義,來合理清洗、篩選數據,其中構造的特征值“月收入與月還款額比率”對模型有較強貢獻性。對2014—2018年共5年的數據選取多種機器學習算法進行比較,并設置了固定成本的CS-XGB和CS-EGB模型作為對照,實驗結果顯示:加入量化的期望損失值作為代價敏感項進行優(yōu)化后的模型ES-XGB和ES-LGB可以使得模型的綜合分類能力更強,預測精度更高,可避免的損失金額最為可觀。不足之處在于只適用于誤判損失刻畫出的場景,而類似疾病預測場景則不能量化出每個樣例的損失成本。筆者提出的模型適合應用在經濟活動場景。