网络借贷行业的飞速发展使得传统风控在数据时效性、全面性和层次性上的短板日益凸显。而目前,机器学习的蓬勃兴起使网贷平台能够利用多维大数据构建智能风控模型,更加准确的评估个人信用状况,有效地降低违约风险。本文基于中诚信征信有限公司提供的借款人贷款风险数据,利用Logistic、XGBoost和NN构建预测模型,并将结果进行对比。由于XGBoost算法具有高度的灵活性,允许自定义优化目标和评价标准,并且参数较多,可调整的范围大,因此基于XGBoost算法构建的模型对网贷借款人违约预测的准确率较高。同时,本文利用自动化调参工具遍历所有参数组合,给模型调参带来了极大的便利。 The rapid development of the online lending industry has made traditional risk control increasingly prominent in the timeliness, comprehensiveness and hierarchy of data. At present, the booming machine learning enables the online lending platform to build an intelligent risk control model by using multi-dimensional big data so that it can assess personal credit status more accurately and reduce default risk more effectively. Based on the borrower loan risk data provided by CCX Credit Technology, this paper uses Logistic, XGBoost and NN to construct a forecasting model and compares the results. The XGBoost algorithm has a high degree of flexibility and allows custom optimization goals and evaluation criteria, and it also has more parameters, the scope of adjustment is large. So the model built based on XGBoost algorithm has higher accuracy for default prediction of online loan borrower. At the same time, this article uses the automated tuning tool to traverse all the parameter combinations, which brings great convenience to the model tuning.
王相婷,赵子轩,王殊檀,刘宁宁
对外经济贸易大学,北京
收稿日期:2018年12月26日;录用日期:2019年1月8日;发布日期:2019年1月15日
网络借贷行业的飞速发展使得传统风控在数据时效性、全面性和层次性上的短板日益凸显。而目前,机器学习的蓬勃兴起使网贷平台能够利用多维大数据构建智能风控模型,更加准确的评估个人信用状况,有效地降低违约风险。本文基于中诚信征信有限公司提供的借款人贷款风险数据,利用Logistic、XGBoost和NN构建预测模型,并将结果进行对比。由于XGBoost算法具有高度的灵活性,允许自定义优化目标和评价标准,并且参数较多,可调整的范围大,因此基于XGBoost算法构建的模型对网贷借款人违约预测的准确率较高。同时,本文利用自动化调参工具遍历所有参数组合,给模型调参带来了极大的便利。
关键词 :机器学习,网络借贷,违约预测
Copyright © 2019 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
互联网技术和移动通信技术的不断创新以及与金融行业的快速融合,使得互联网金融中的重要发展模式——网络借贷得到了飞速的发展。网络借贷是指互联网公司利用互联网技术和移动通信技术搭建一个线上平台,为资金提供者和资金需求者提供直接的资金融通服务。这种基于网络平台的借贷方式相较于银行借贷,不仅手续简便、效率高,且允许信用贷款,为自有资本不足、缺乏担保的小额借款人提供了新的出路。它的出现满足了人们多元化的投融资需求,提高了社会闲散资金的利用率。
在以往,商业银行对贷款用户进行信用风险评估时,往往依靠风控人员依赖5C分类法来主观判断,从其个人品格、信用额度、偿付能力、市场经济状况这5个因素对贷款用户进行判断和权衡,以此作为是否贷款给该用户的参考,决定是否发放贷款,这种依赖主观判断的方法显然效率低下,而且评估的时候十分依赖风控人员的主观判断能力,从公司内部管控的角度来看,甚至存在风控人员内部作弊的可能性,不能适应市场经济的快速发展,满足贷款用户的需求,也不能满足网贷平台风险管理的需求。面对数以万计甚至是数以十万计的申请借款的用户时,网贷平台则需要采用各种机器学习的方法来减少监控与检测过程中的人工参与部分,利用自动化的方法提高放款审核的准确率和效率。
目前,网贷行业运用大数据技术进行风险控制管理已经取得了一定的成效,比较成熟的产品有Zest Finance公司所开发的基于数据挖掘和机器学习理论的分析模型,以及美国使用最广泛的个人信用评分系统——FICO信用评分,都是美国借贷行业贷款决策的重要参考标准。而在国内,2014年10月,宜人贷将采用了大数据技术的“极速模式”添加进“宜人贷借款”APP中,积木盒子根据建立的“读秒”标准判断用户的信用等级,拍拍贷于2015年推出的魔镜风控系统被认为是行业内首个基于大数据的风控模型,首个能准确预测借款标的风险概率的风控系统,爱钱进在其两周年发布会上,推出了基于机器学习、深度学习等技术的全新风控体系——“云图动态风控系统”。由此可见,机器学习的蓬勃兴起使网络借贷平台利用多维大数据构建智能风控模型,更加准确的评估个人信用状况,有效地降低违约风险。
近年来,学者们研究了多种机器学习方法如决策树、神经网络、支撑向量机和集成算法等在信用评估方面的应用。Aledanjro (2016)等 [
Sideny (2014)等 [
部分研究将神经网络应用到信用风险评估,实验结果其对借款人信用风险有较为准确的判断。Desai等人(1996) [
Fernandez-Delgado (2014) [
由于较高的准确率,运用机器学习中的集成算法是近期的一种趋势,目前接触较多的集成学习主要有3种:基于Boosting的、基于Bagging的和基于Stacking的。基于Boosting的代表算法有Adaboost、GBDT和XGBOOST,基于Bagging的代表算法主要是随机森林,这两种都是基于一种算法,而Stacking集成是基于多种算法。张宁静等(2018) [
分类 | 方法/模型 | 研究内容 | 作者 | |
---|---|---|---|---|
基于机器学习的 信用风险评估 | Logistic | 传统的在非线性下表现一般,有序多分类Logistic和 基于L1惩罚的Logit能有效识别影响信用违约的关键因素 | Aledanjro (2016); 熊正德等(2017); 阮素梅等(2018) | |
决策树 | 决策树能较好地解释贷款违约原因,较为准确地预测违约率 | Sideny等(2014); 王茂光等(2016); 王程龙等(2016) | ||
神经网络 | 在非线性情况下,对借款人信用风险能做出较为准确的判断 | Desai等(1996); 吴斌等(2017); 李昕等(2018) | ||
支持向量机 | SVM预测准确性高,但算法复杂,解释性较差 | Fernandez-Delgado (2014) | ||
集成 学习 | Boosting | 运用Adaboost算法识别借款人违约风险重要因素指标 | 张宁静等(2018) | |
Bagging | 引入随机森林算法构建融入软信息的违约预测模型, 可以有效提高预测准确率 | 蒋翠清等(2017) | ||
Stacking | 以logistic回归等作为初级学习器,以SVM作为 次级学习器,显著降低错误比例,提高预测正确率 | 丁岚(2017) |
表1. 贷款违约预测方法
基于集成学习的方法在近几年备受关注,其核心在于针对不同领域数据使用不同机器学习对数据进行处理和建模,产生一组“个体学习器”,集成模型通过将多个学习器进行组合,常可获取比单一学习器显著优越的泛化能力。因此在本研究中将采用集成学习进行贷款人违约行为的预测。
中诚信征信公司主办的第二届“风云杯”机器学习建模大赛提供了网络借贷行业的贷款风险数据供参赛者下载;其中,总共提供了基于两个相似金融场景的数据集,scene_A与scene_B有相同的字段名称,对应的特征内容相同,包括借款人的基本信息和历史行为信息,比如借款人的性别、年龄、学历、借款次数、借款金额,还款情况等信息,总计约2300个字段。大赛主办方提供了21,245条训练集数据scene_A,包括违约标的6982条,非违约标的14,263条,以及8094条测试集数据scene_B。scene_A用于比赛初期进行模型提交测试,scene_B用于比赛最后一天模型泛化能力测试,评判指标为AUC值。
参赛者需要依据提供的数据,对每个标的逾期情况进行分析、建模,最终给出指定借款人逾期概率的预测值,并通过提交的预测结果、模型理论基础、算法创新型和表现稳定性等多个维度进行综合评估。
借款人的违约预测实质上是二分类问题,x是用户的基本信息和历史行为数据等,预测变量y是每个借款人的贷款逾期情况,正常还款标记为0,违约标记为1。在对比赛的数据进行数据清洗和特征工程后,选择相应的模型进行学习,并进行模型融合,最终的评估指标为AUC值。
问题解决思路如图1:
图1. 问题解决思路
在征信领域,用户信息的完善程度可能会影响该用户的信用评级。一个信息完善程度为100%的用户比起完善程度为50%的用户,会更加容易审核通过并得到借款,因此需要进行数据清洗。在分析过程中,通常主要的关注点在于:缺失值、异常值以及不一致数据等方面,需要通过采用适当的方法对数据进行有效的清查与转换,使之成为符合建模要求的数据源。从这一点出发,首先对缺失值进行了多维度的分析和处理。在对数据表进行缺失值统计后,结合字段属性本身的特征和信息缺失的多少,对应了不同的缺失处理方式。若字段的缺失值占总记录的99.9%,仅有小部分具有数值,其所具有的信息非常有限,因此将其剔除;对于剩余的缺失值所占比重较低的字段,根据关键属性列的性质,对数值型数据,分别用0和中位数填充;对取值为有限个数的类别数据,用0和众数填补其缺失值。其次,针对极少数的异常值进行处理,超出正常范围的数值231-1以空值填充。最后,通过观察发现日期型数据中出现了不一致的形式,即部分年份数据出现了具体的日期如20170301等,需要去掉其日期,保留年份。
接下来需要对清洗后的数据进行特征构造和选择。特征构造是特征工程的第一步,也是最为重要的一步,它需要深入分析综合数据特征及所属业务场景,为后续的分析与建模提取关键信息。首先是将主从属性合为一类,如针对地理位置信息,合并省市信息,并统计出现每个id下城市出现的次数等。其次,对于日期型数据,统计所有日期的时间跨度作为一列新属性;经观察发现有的id对应多条记录,但时间却是相同的,将其频率与时间跨度相除的结果作为一列新属性。再次,对于数值型数据,统计每个属性最小值、最大值、均值、中位数、方差等作为新的属性;属于类别型的数据在进行值处理时为了防止过拟合,将这些列出现频率低于0.01的所有值视为同一类别,随后进行One-Hot编码。
结合特征构造来看,由同一类或同一个变量衍生出来的变量必然存在较大的相关性,而其他变量之间的相关性微弱,基于此本文选取Pearson相关系数0.90为阙值作进行特征选择。
相关系数公式如下:
r = ∑ i = 1 n ( X i − X ¯ ) ( Y i − Y ¯ ) ∑ i = 1 n ( X i − X ¯ ) 2 ∑ i = 1 n ( Y i − Y ¯ ) 2
其中 ( X i , Y i ) 是样本点, X ¯ 和 Y ¯ 是样本均值。部分相关分析结果如表2所示。经过特征删选后,保留了1514个字段的相关属性作为模型输入因子。
var1740 | var1812 | var1734 | var1806 | var197 | var1163 | var1169 | var1208 | var170 | var1214 | |
---|---|---|---|---|---|---|---|---|---|---|
var1740 | 1 | |||||||||
var1812 | 0.99 | 1 | ||||||||
var1734 | 0.99 | 0.98 | 1 | |||||||
var1806 | 0.98 | 0.99 | 0.99 | 1 | ||||||
var197 | 0.98 | 0.97 | 0.96 | 0.96 | 1 | |||||
var1163 | 0.97 | 0.96 | 0.96 | 0.95 | 0.98 | 1 | ||||
var1169 | 0.97 | 0.96 | 0.95 | 0.94 | 0.98 | 0.98 | 1 | |||
var1208 | 0.96 | 0.95 | 0.95 | 0.94 | 0.97 | 0.96 | 0.98 | 1 | ||
var170 | 0.96 | 0.94 | 0.95 | 0.93 | 0.98 | 0.98 | 0.96 | 0.97 | 1 | |
var1214 | 0.96 | 0.94 | 0.95 | 0.93 | 0.97 | 0.97 | 0.98 | 0.96 | 0.95 | 1 |
表2. 相关性分析
Logistic回归是最简洁、快速、稳健的分析方法,可解释性强;但是借款人违约预测应以精度为标准,而Logistic 回归对变量关系的线性限制,难以达到精度最优,但是在建模时可以充分发挥它的特性:1) 作为基准,对数据清洗效果和模型表现进行快速评估;2) 与结构不同的模型加权组合预测,补充原模型精度和稳健性。
Logistic回归通过
f ( x ) = 1 1 + e − x
将因变量值域 ( − ∞ , + ∞ ) 映射到(0, 1),解决二分类问题。当因变量值大于0.5时,认为因变量属于1类;当因变量小于0.5时,认为因变量属于0类。本文以Logistic回归对其他模型表现进行评估,与结构不同的模型加权组合预测。
建立Logistic回归模型如下:
y = 1 1 + e − ( α + β 1 x 1 + β 2 x 2 + ⋯ )
其中y代表借款人违约概率,xi借款人相关信息,包括基本信息和行为信息等。
提升树在数据挖掘领域有着相当广泛的运用,包括提升树(BT)和梯度提升树(GBDT)。XGBoost是在GBDT基础上改进的,改进的点有:1) 使用二阶泰勒展开式逼近学习的目标,与GBDT的一阶泰勒展开式相比,能学习到更多的东西,所以在泛化能力及模型的稳定相面有很大的提升;2) 目标函数之外加上了正则化项整体求最优解,用以权衡目标函数的下降和模型的复杂程度,避免过拟合。考虑网络借贷违约预测是一个非线性的分类问题,变量成分较多元,样本和变量间无固定模式关联。如果以精度为目标,综合考虑稳健性、速度、通用性等因素可以首选XGBoost。
XGBoost的目标函数
L ( θ ) = ∑ i n l ( y i , y ^ ( t − 1 ) + f t ( x i ) ) + Ω (ft)
目标函数二阶泰勒展开整理后得最优解
L ( θ ) = − 1 2 ∑ j = 1 T ( ∑ i ∈ I j g i ) λ + ∑ i ∈ I j h i + γ T t
XGBoost的出发点是各变量完全独立,而神经网络的出发点是各变量充满复杂的非线性关联,从而不断去优化网络权重向真实关联趋近。两种模型结构具有较高的互补性,因此本实验也选取了神经网络模型。一个基本的神经网络由输入层、隐藏层、输出层构成,相邻两层间由权重矩阵连接。通过不断提供训练样本,神经网络会学习最优权重参数,从而减小拟合误差,利用输入数据建立模型并模拟输出。本文选取借款人的性别、年龄、学历、借款次数、借款金额,还款情况等信息指标作为神经网络模型的输入值,模型的输出值是借款人的违约概率。
本文使用hyperopt库的Tree of Parzen Estimators接口来做参数优化,它可以找到所有模型的最佳参数,从而得到最佳的模型并进行比较,相较于random search和基于全空间搜索的grid search方法,hyperopt兼顾了速度和精度。给出最优参数的概率分布,hyperopt即可自动拟合参数空间,从而寻找全局最优参数。XGBoost的最优参数如表3,神经网络的最优参数如表4。
类别 | 参数名称 | 参数含义 | 取值 |
---|---|---|---|
提升参数 | gamma | 空值叶子个数 | 7.26 |
提升参数 | max_depth | 每棵树最大深度 | 5 |
提升参数 | min_child_weight | 每个叶子的最小权重和 | 1 |
表3. XGBoost最佳参数列表
参数名称 | 参数含义 | 取值 |
---|---|---|
nhidlayer | 隐藏的层 | 2 |
rdrop | 每棵树最大深度 | 0.5 |
nhidnode | 隐藏节点数 | 128 |
outnode | 最后一层全连接层的节点数 | 64 |
maxnorm | 限定单个权重的最大值 | 4 |
batch_size | 每训练一次抽取的样本数 | 64 |
earlystop | 在N个回合中没有验证集的损失下降就提前停止训练 | 5 |
表4. NN最佳参数列表
本文采用AUC值来评判模型的最终效果,AUC即以False Positive Rate为横轴,True Positive Rate为纵轴的ROC曲线下方的面积的大小。AUC值在[0,1]区间,一般认为,一个分类模型的AUC值要大于0.5才会有实际上的应用效果;若分类模型的AUC值在0.9以上,则应该对模型进行检查,看是否有异常的变量进入模型,导致AUC值过高。所有表格应尽可能采用“无环绕”环绕方式,尽量避免采用“环绕式”。
A U C = 1 2 ∑ i m − 1 ( x i + 1 − x i ) ( y i + y i + 1 )
利用Logistic、XGBoost和NN构建预测模型,三种模型用相同数据集训练模型后,对比结果如表5。从结果中可以看出,XGBoost模型的AUC值高于其他两种模型,在网贷借款人违约预测中是一种较为有效的方法。
模型 | Logistic | XGBoost | NN |
---|---|---|---|
类型 | 逻辑回归 | 梯度强化树 | 神经网络 |
平均AUC | 0.621 | 0.635 | 0.615 |
最差AUC | 0.615 | 0.629 | 0.607 |
可解释性 | 好 | 中 | 差 |
表5. 模型结果对比
本文基于中诚信征信有限公司提供的借款人贷款风险数据,在进行数据清洗后,依照特征工程的分析与构造流程,按照地理信息和消费信息等深入研究并设计批处理方案,随后利用Logistic、XGBoost和NN构建违约预测模型,并将结果进行对比,发现由于XGBoost算法具有高度的灵活性,允许自定义优化目标和评价标准,泛化能力稳定,因此基于XGBoost算法构建的模型对网贷借款人违约预测的准确率较高。同时,通过特征重要性分析发现借款人的消费行为数据对于违约预测存在积极意义,因此建议网贷平台将借款人的消费行为数据作为辅助决策依据纳入风控体系中。
感谢我的导师刘宁宁老师,在整个论文写作过程中给予我的大力帮助。刘老师的悉心指导贯穿了论文写作的方方面面,在他的指导下我认识到了自己很多不足,并在这一过程中取得进步。
王相婷,赵子轩,王殊檀,刘宁宁. 基于机器学习的网贷借款人违约预测研究 Research on Default Prediction of Online Lending Borrowers Based on Machine Learning[J]. 服务科学和管理, 2019, 08(01): 40-48. https://doi.org/10.12677/SSEM.2019.81006