








摘 要:為實現全面準確地評估個人信貸風險,首先,研究了借貸人的各項個人信息指標在信用風險評估中的重要性;接著,基于Python編程語言采用XGBoost集成學習方法搭建了一套個人貸款信用評估模型;隨后,結合SHAP方法篩選出合理的信用評估指標,完善了評估模型;最后,基于LabVIEW平臺開發個人貸款信用評估系統。研究結果表明:最終篩選的指標能更有效地評估個人信貸風險,可以為金融行業提供一個更有效的個人信貸風險評估系統。
關鍵詞:信貸風險;XGBoost算法;SHAP;信用評估;Python
中圖分類號:TP39;TP181 文獻標識碼:A 文章編號:2096-4706(2024)08-0146-06
DOI:10.19850/j.cnki.2096-4706.2024.08.032
0 引 言
隨著我國經濟的快速發展和國民超前消費理念的產生,個人貸款成為人民日常生活中的一個重要組成部分,涵蓋了個人購房貸款、個人汽車貸款、個人助學貸款、個人留學貸款、個人消費貸款、個人經營貸款等。銀行或金融服務公司在決策客戶個人貸款時,涉及兩類風險:一是客戶有償還貸款的能力,不批準貸款將導致業務丟失;二是客戶無償還貸款的能力,批準貸款則有可能客戶違約導致經濟損失。截至2020年第三季度末,全國銀行卡授信總額達18.59萬億,授信使用率達41.78%,信用卡逾期半年未償信貸總額達906.63億元,占信用卡應償信貸余額的1.17% [1]。原有的個人信貸風險評估系統已經無法滿足現階段金融行業的需求,金融機構為了增加收益,在開發金融產品的同時,也需要使用科學、嚴謹的分析方法進行個人信用評估,避免帶來不可估量的經濟損失。因此,構建一個更加全面的風險評估系統對信用貸款市場的發展具有重要的意義。
隨機森林、神經網絡、支持向量機和XGBoost模型等是目前個人信用貸款風險評估中最常用的統計學習模型[2,3]。李奕蒙[4]對銀行個人貸款信用風險的相關問題進行了分析研究,為了提高個人信貸風險的預測率,構建了BP神經網絡模型,采用遺傳算法對神經網絡進行了優化。嚴亦寬等[5]采用決策樹、人工神經網絡、支持向量機這三類非線性算法對企業信用評級調整情況進行數據挖掘,構建的模型具有很高的預測準確率。張麗穎等[6]采用機器學習的方法構建個人貸款違約預測模型,采用Stacking方式綜合利用隨機森林、XGBoost和K近鄰模型的優點,提高模型預測的效果。周永圣等[7]采用改進的隨機森林模型評估個人信用風險,通過優化特征選擇從而降低指標維數,最終提高了分類準確率。
綜上分析可知,關于個人信貸風險預測的模型研究日益豐富,但現有的評估模型已經不能滿足目前信貸市場的需求。盡管收集更多的個人信息有利于提高個人信用評估的準確性,但給客戶帶來了很多不便,加重了授信審批人員信息核實的工作量,因此,設計基于XGBoost和SHAP方法的個人貸款信用評估模型是極其必要和重要的。
1 基礎理論
1.1 XGBoost集成學習方法
XGBoost全稱是極度提升樹(eXtreme Gradient Boosting)是一種高效的Boosting集成學習模型框架,它通過集成多個基學習器形成一個強學習器,得到強大的預測結果和十分高效的運算效率。近年來,XGBoost因其學習效果好,訓練速度快而受到了廣泛的關注。本文僅對基于分類決策樹的XGBoost集成算法展開討論。
XGBoost的基本思想是:
1)許多弱分類器的組合就是一個強分類器,最終預測值為所有決策樹預測值的加權和。
2)不斷在錯誤中學習,用迭代來降低犯錯的概率。
XGBoost模型由目標函數、分類回歸樹、梯度提升和預測函數組成[8]。
目標函數的公式是:
(1)
式中: 為所有基分類器中的損失函數之和; 為預測值" 和真實值nbsp; 之間的誤差。
(2)
式中:Ω( f )為模型的正則化項,用來降低模型的過擬合問題和復雜度;T為葉子子節點的個數;λ為懲罰的力度;w為葉子節點的輸出分數;1/2 為w的L2模平方。
若模型的目標函數越小,則模型的預測效果就越好。
XGBoost的基分類器是分類回歸樹,即CART。XGBoost算法是利用一種加法模型將CART組合起來,每一棵CART的建立都會擬合上一棵CART預測的誤差。所以,隨著CART的添加,基本分類器的損失函數也會逐漸地降低。
提升過程方面,迭代表達式如式(3):
(3)
將式(3)近似地用二階泰勒展開為式(4):
(4)
式中:gi為一階導;hi為二階導。
通過消除常數項 ,得到t迭代的簡化目標方程為:
(5)
定義" 為葉子節點j的樣本集合,將正則項擴展為:
(6)
定義 ,,式(6)可以化簡為:
(7)
在上述式子中,每一個wj是相互獨立的,那么針對一元二次方程 1/2 而言,當新增的這棵樹的結構q(x)已知的情況下,目標函數最小值下的wj:
(8)
將" 代入式(7)可得:
(9)
式(9)是t次循環迭代后的最優目標函數值。所以樹結構q的評分函數是:
(10)
XGBoost的預測函數是:
(11)
式中:fk(xi)為樣本xi來自第k個基本分類器的輸出值; 為K個基本分類器給出的樣本xi的輸出值之和。
1.2 SHAP解釋XGBoost模型
為了進一步明確各指標相對于目標變量的正/負關系,需使用一種方法對XGBoost模型進行解釋分析。SHAP(Shapley Additive Explanations)解釋法是Lundberg等人[9]提出的一種機器學習模型解釋方法。SHAP具備輸出結果的可加一致性,對于每個預測樣本,模型都出現一個預測值,SHAP值是該樣本中每個特征所分配到的數值,其中SHAP值是Shapley [10]基于合作博弈理論首次提出的。
假設第i個樣本為xi,第i個樣本的第j個特征為xij,模型對第i個樣本的預測值為yi,所有樣本預測均值為ybase,那么xij的SHAP值服從以下等式:
(12)
式中:f (xi, j)為xij的SHAP值。這一特質確保了貢獻值的加和等于最終輸出,使得這種解釋方法消除了各個模型間結構差異帶來的解釋性差異。
不同于以往的線性模型使用參數的大小或正負衡量某一指標對于模型的貢獻,SHAP方法將每個樣本的指標組合貢獻通過SHAP值計算出來,可以反映出每個樣本中的特征的影響力,同時還能表現出該特征影響的正負性。當SHAP值小于零時,表示該特征使得預測值降低,有負向作用;當SHAP值大于零時,表示該特征使得預測值升高,有正向作用。若SHAP值的絕對值越大,說明其對結果的影響越大。
通過SHAP方法最終將會得到在每個樣本中各個指標的貢獻度SHAP值,從而反映出該指標在模型中的重要性,如果某指標在大多數樣本上表現出了一致的趨勢,那么說明模型認定這一指標具有重要的正向或者負向作用,因此,可以利用SHAP方法來解釋XGBoost模型中各指標對結果作用的正負性及大小。
2 個人信貸風險評估系統的構建
2.1 系統構成
該個人貸款信用風險評估系統是基于LabVIEW平臺開發的,分為服務器端和客戶端系統。其中服務器端系統主要通過基于XGBoost集成學習方法結合SHAP的Python編程語言來實現個人貸款信用風險評估模型的訓練、更新和評估;客戶端系統主要分為四大模塊:用戶管理模塊、信用風險評估模塊、風險預警管理模塊、客戶風險跟蹤模塊,具體內容如下:
1)用戶管理模塊。該模塊主要包括對用戶信息的查詢、修改和權限設置。用戶的角色分為三種:管理員、客戶經理和部門主管。管理員具有查詢、編輯、刪除用戶的權限;客戶經理具有發起信用風險評估、維護和查看自己名下客戶信息、跟蹤已發放貸款客戶信用情況的權限;部門主管具有查看所有客戶經理信息和查看所有客戶信用評估的權限,用戶管理模塊的某一界面(用戶信息由管理員導入)如圖1所示。
2)信用風險評估模塊。信用風險評估模塊主要包含發起風險評估和歷史評估數據查詢功能。發起風險評估功能會根據錄入的客戶基本信息,結合訓練好的基于XGBoost和SHAP的個人貸款風險評估模型,對客戶風險進行評估,最終優化后的客戶基本信息重要性分布如圖2所示。
客戶信息按照重要性分成三級,其中最重要的第一級有工作經歷和負債收入比率信息;第二級有年齡和信用卡負債率信息;第三級有家庭信息和受教育程度等信息。綜合這些客戶信息的重要程度,客戶經理在人工核實信息時,可以知道哪些信息是起決定性作用的,避免重要信息的遺漏。
進入風險評估模塊,點擊發起評估功能,按照相應操作準確填寫相關客戶基本信息,系統便會對客戶風險進行評估,客戶風險評估模塊的某一界面如圖3所示。
3)風險預警管理模塊。風險預警管理模塊主要針對已放貸客戶,客戶經理在客戶信息有變化后,重新對其進行風險評估,篩選出可能有風險的客戶,客戶經理可以重點跟蹤并給出貸款還款提醒,模塊界面如圖4所示。
4)客戶風險跟蹤模塊。該模塊主要針對已放款客戶,在有逾期記錄時,及時維護和更新該客戶的數據,并將該數據作為新的已打標簽的測試樣本。這樣定期更新風險評估系統,有助于提高評估系統的準確度,流程如圖5所示。
打開風險跟蹤模塊,即可快速查看客戶的最新數據,該模塊含有放貸客戶名單和客戶逾期名單兩個功能,客戶風險跟蹤模塊某一界面圖如圖6所示。
綜上所述:個人貸款信用評估風險系統能通過借貸人的主要信息指標來預測客戶的借貸風險,能隨時跟蹤更新客戶的個人信息,提高系統的評估準確度,大大減少了銀行授信審批人員的信息核實工作量,降低了銀行借貸風險,同時也可以避免客戶出現違約的情況。
2.2 基于XGBoost和SHAP的風險評估模型
為了測試模型預測結果的準確性,對評估模型進行了訓練測試,實驗訓練模型的數據來源于Kaggle機器學習競賽中的發放銀行貸款的信用風險分析數據集。該數據集共有1 150條客戶數據。包含客戶年齡、教育水平、工作經歷、客戶住址、客戶年收入、負債收入比率、信用卡負債率、其他債務和歷史違約記錄。
根據訓練樣本中的數據整理出各指標中客戶是否違約的分布情況,其中0表示未違約,1表示違約,各項指標的違約分布情況如圖7所示。
從圖7中可以看出,未違約與違約兩種情況下,每一項指標都存在比較多的交叉區域,難以從單一指標去判斷是否違約。但是可以從中找到一些分布規律,例如,年齡小的客戶違約的可能性更大,銀行在貸款授信審批時應該更加警惕;債務收入比率高的客戶違約的可能性明顯偏大,銀行應對這類客戶重點關注;工作年限長的客戶違約的可能性更小,銀行可以對這類客戶給予充足的信任。
分析了客戶違約分布情況,現將利用該數據對模型進行訓練測試,從數據集中隨機選擇920條數據作為訓練樣本,230條數據作為測試樣本,XGBoost模型的混淆矩陣如圖8所示,基于SHAP方法下的指標重要性排序如圖9所示。
由圖8的混淆矩陣可知,檢測樣本為230個時,預測正確的個數為204個,預測準確度為88.7%,預測精度較好。但由于神經網絡訓練時需要較多樣本,而測試時訓練數據存在限制,所以精度不是很高,若數據量增加會使預測正確率有一定的上升。
圖9的指標重要性排序可以發現,工作經歷對違約情況預測的重要性最大,可以大致將客戶信息按照重要性分成三級,其中最重要的第一級有工作經歷和負債收入比率信息;第二級有年齡和信用卡負債率信息;第三級有家庭信息和受教育程度等信息。根據這些指標的分級情況。客戶經理在采集客戶信息時可以從以下兩個方面優化工作:
1)重點關注第一級和第二級信息的真實性。
2)由于債務收入比、年齡、信用卡負債率、家庭信息和受教育程度比較容易量化,而工作經歷的量化可以從個人和單位多維度進行評價,從而確保強相關指標評價的合理性。
3 結 論
針對銀行和金融服務行業在發放客戶個人貸款時會遇到的各種風險,深入研究客戶個人貸款信用風險評估的影響因素指標,構建了較為全面的個人貸款信用風險評估系統。該系統運用XGBoost和SHAP方法,利用銀行貸款的信用風險分析數據集來實現個人貸款信用風險評估模型的訓練、更新和評估。該評估系統主要分為四大模塊:用戶管理模塊、信用風險評估模塊、風險預警管理模塊、客戶風險跟蹤模塊。該系統是一個動態的跟蹤系統,可以記錄客戶的基本個人信息,同時還能及時更新客戶貸款信息,從而快速準確地跟蹤出具有信貸風險的客戶名單,更為嚴謹地評估了客戶的個人信貸風險,讓銀行管理者及時了解到自己客戶的最新信息,避免客戶出現違約的情況,降低信貸風險。
根據以上分析,得到啟示:
1)針對所選樣本數據集對模型進行測試,得到了較為準確的預測結果,有力地驗證了評估系統的有效性與合理性。
2)構建的個人貸款信用風險評估模型可以幫助銀行管理者根據自己客戶所處的不同信用風險級別是否存在違約風險,及時、有效地制定解決方案,有利于降低個人貸款風險。
3)進一步豐富了征信建設,提高了銀行的業務效率,保持了風險和效益的平衡發展,提高貸款的經濟效益,對整個信貸行業的發展具有重要意義。
參考文獻:
[1] MARQUéS A I,GARCíA V,SáNCHEZ J S,et al. A Literature Review on the Application of Evolutionary Computing to Credit Scoring [J].Journal of the Operational Research Society,2013,64(9):1384-1399.
[2] NISHA A,DEEP KAUR P. A Bolasso Based Consistent Feature Selection Enabled Random Forest Classification Algorithm: An Application to Credit Risk Assessment [J].Applied Soft Computing,2020,86:1-15.
[3] 逯瑤瑤.基于機器學習分類算法的貸款違約預測研究 [D].蘭州:蘭州大學,2021.
[4] 李奕蒙.基于神經網絡的中小商業銀行個人貸款違約風險研究 [D].成都:西南財經大學,2019.
[5] 嚴亦寬,薛巍立.基于機器學習的信用評級調整研究 [J].南大商學評論,2018(3):88-100.
[6] 張麗穎,楊若瑾.基于機器學習的個人貸款違約預測模型的應用研究 [J].金融監管研究,2022(6):46-59.
[7] 周永圣,崔佳麗,周琳云,等.基于改進的隨機森林模型的個人信用風險評估研究 [J].征信,2020,38(1):28-32.
[8] 牛彩芳.基于XGBoost算法的信用評級系統設計與實現 [D].武漢:中南財經政法大學,2020.
[9] LUNDBERG S,LEE S-I. A Unified Approach to Interpreting Model Predictions [J/OL].arXiv:1705.07874 [cs.AI].(2017-05-22).https://arxiv.org/abs/1705.07874.
[10] SHAPLEY L S. A Value for N-person Games [J].Technical Report, Santa Monica: Rand Corporation,1952,295:1-13.
作者簡介:伍潔(2003—),女,漢族,湖北黃岡人,本科在讀,研究方向:金融數學;通訊作者:陳迪芳(1986—),女,漢族,湖北十堰人,副教授,博士,研究方向:金融統計、數字經濟與綠色金融;李瑞彤(2003—),女,漢族,湖北荊州人,本科在讀,研究方向:金融數學;石景陽(2003—),男,漢族,湖北隨州人,本科在讀,研究方向:金融數學。
收稿日期:2023-08-19
基金項目:湖北省大學生創新創業訓練計劃項目(S202210525055);教育部產學合作協同育人項目(202101087049);湖北省大學生創新創業訓練計劃項目(S202210525056)
Research on the Personal Credit Risk Assessment Based on XGBoost and SHAP Methods
WU Jie, CHEN Difang, LI Ruitong, SHI Jingyang
(School of Mathematics, Physics and Optoelectronic Engineering, Hubei University of Automotive Technology, Shiyan 442002, China)
Abstract: To achieve a comprehensive and accurate assessment of personal credit risk, firstly, the importance of various personal information indicators of borrowers in credit risk assessment is studied. Next, based on Python programming language and XGBoost integrated learning method, a personal loan credit assessment model is constructed. Subsequently, reasonable credit assessment indicators are selected by using the SHAP method to improve the assessment model. Finally, it develops a personal loan credit evaluation system based on the LabVIEW platform. The research results indicate that the final selected indicators can more effectively evaluate personal credit risk, and can provide a more effective personal credit risk assessment system for the financial industry.
Keywords: credit risk; XGBoost algorithm; SHAP; credit evaluation; Python