基于XGBOOST的个人微贷逾期预测研究

2020-10-11 10:01倪子鉴
经济技术协作信息 2020年28期
关键词:数据挖掘小微贷款

◎倪子鉴

近年来,随着互联网金融的不断发展,个人小微贷款不断出现,对个人信贷的风险预测也越来越重要,风险控制已经成为当下热点。而随着互联网信息产业的不断完善,海量数据被沉淀了下来。运用大数据,自动化的分析与预测个人信贷风险不仅可以有效的提高预测的准确性,还能很好的节约审核成本。本文通过对5万多用户的小微贷款信息数据进行分析,提取其中有价值的信息,基于Xgboost建立信贷逾期预测模型,为实现自动化小微贷款审核提供理论支持。

一、引言

随着数据挖掘技术的不断发展,许多各行各业的人士将数据挖掘技术应用于自身的领域。金融行业也不例外,随着互联网金融的发展,如今人们已经很少使用现金进行交易。而在贷款领域中,也逐渐开启线上模式,进行互联网化。而银行与一些老牌的金融机构仍然在使用一些传统的信用审核办法。主要包括人工审核法与标准评分卡法。这两种审核方式效率不高,且前期开发审核体系的时间过长。显然在这个高速发展的互联网时代,传统银行机构的人工审核模式与信用评级标准已经慢慢的无法适应新的快速的变化。

而对于新兴的互联网金融企业单日申请贷款的人数十分众多,所以需要通过数据挖掘技术来快速、精准的对用户进行风险评估。一方面,这有利于互联网金融公司的业务开展,把控逾期风险,减少平台暴雷事件发生。另一方面,也有助于加快贷款用户的放款到账时效,优化用户体验。

本文采用业界常用的数据挖掘技术Xgboost模型,结合用户的各种行为记录,为贷款用户提供全面的信用评估。进而可以为互联网金融的小微贷款逾期风险预测模型的建立提供参考,为风险控制自动化预测提供理论支持。

二、模型建立

(一)Xgboost模型概述

Xgboost(Extreme Gradient Boosting)模型是当下比较流行的机械学习算法。这种方法是提升树的一种。提升树在数据挖掘领域有着相当广泛的应用,包括提升树和梯度提升树。其中提升树模型采用加法模型与前向分步算法,同时基函数采用决策树算法,对待分类问题采用二叉分类树,对于回归问题采用二叉回归树。提升树模型可以看作是决策树的加法模型:

其中T()表示决策树,M为树的个数,Θ表示决策树的参数;

而对于梯度提升树其学习流程与提升树类似只是不再使用残差作为新的训练数据而是使用损失函数的梯度作为新的新的训练数据的y值。提升树模型每一次的提升都是靠上次的预测结果与训练数据的label值差值作为新的训练数据进行重新训练,GDBT则是将残差计算替换成了损失函数的梯度方向,将上一次的预测结果带入梯度中求出本轮的训练数据。

Xgboost则是在GDBT的基础上,又进行了如下改进:

第一,GBDT将目标函数泰勒展开到一阶,而Xgboost将目标函数泰勒展开到了二阶。相比于GBDT的一阶展开,二阶展开保留了更多有关目标函数的信息,故对于模型能学习到更多信息,这就使得模型的整体稳定性与泛化能力大大提升。

第二,GBDT是给新的基模型寻找新的拟合标签(前面加法模型的负梯度),而Xgboost是给新的基模型寻找新的目标函数(目标函数关于新的基模型的二阶泰勒展开)。

第三,Xgboost加入了和叶子权重的L2正则化项,因而有利于模型获得更低的方差。并且一定程度避免了过拟合现象。

第四,Xgboost增加了自动处理缺失值特征的策略。通过把带缺失值样本分别划分到左子树或者右子树,比较两种方案下目标函数的优劣,从而自动对有缺失值的样本进行划分,无需对缺失特征进行填充预处理。

(二)数据集及其预处理

本文使用的数据维度主要包括小微贷款用户的基本个人信息、信用卡信息、用户浏览行为信息与银行流水信息。获取的数据全部通过脱敏处理后,对数据集进行进一步的缺失值处理、特征预处理、特征筛选。

对于本数据集,原始数据共包括367个特征。我们首先剔除缺失值占比过大的特征,因为如果缺失值占比过大,该特征将无法有效的对结果进行解释。然后我们将相关性过大的一组特征剔除一个,保留其中与因变量相关性更大,这样有助于模型的准确。最后我们剔除特征方差过小接近于0的特征。因为特征方差过小说明该特征对于样本的区分没有实质性的帮助。最终模型包含278个特征,模型的建立与验证都是基于这278个特征。

?

三、结果分析

(一)评价指标

评价一个模型的好坏需要一定指标来进行评估度量。本文使用精确率、召回率、整体准确率、AUC与KS统计量来对模型进行评价。

精确率是表示预测是正例的所有结果中,预测正确的实例的占比。

召回率表示真实情况是正例,预测正确的实例的占比。

在理想的情况下,我们模型的精确率和召回率都应越高越好,但在实际情况中,这两个指标往往是一对相互矛盾的度量。精确率偏低时,召回率往往偏高,精确率偏高时,召回率往往偏低。

整体准确率是针对整个模型,它表示在整个模型中,预测结果正确的情况占总体数据的比重。

AUC(Area Under Curve)被定义为ROC曲线下的面积。我们往往使用AUC值作为模型的评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

KS(Kolmogorov-Smirnov)值衡量的是好坏样本累计分部之间的差值。好坏样本累计差异越大,KS指标越大,那么模型的风险区分能力越强。但是KS指标不能过大,如果KS值太高(一般认为大于0.7),则模型可能存在问题。

(二)Xgboost模型评估与调优

首先,我们采用对数据依然存在的缺失值不做填充处理。因为Xgboost算法对于缺失值的存在有很好的默认处理机制,该算法会自动帮助我们对缺失值进行处理,且比人工处理的效果一般要更优。然后我们对数据训练集采用2:8的比例进行划分,20%的训练集数据做为验证集,采用80%的训练集数据对Xgboost模型进行训练。用训练好的模型验证,得到验证集的混淆矩阵如下表所示:

?

通过上表数据,我们可以计算出此模型的召回率为0.089,精确率为0.565,整体准确率为87.52%,即存在约12.5%的用户会被预测错误。该模型的AUC值为0.784,KS值为0.45。通过这两个指标我们不难看出,训练出的模型预测效果较好,能较好的评估预测出用户的逾期情况。但是召回率和精确率偏低,这种问题经分析有可能是正负样本分布不均导致的,该数据集的正负样本数为8.9:1。训练集的AUC基本是在0.9以上的,而验证集的AUC数值则在0.78左右,故此我们可以推断,在训练模型时模型出现了过拟合现象。于是我们将scale_pos_weight的值下调,从1.1调为0.9,控制正样本权重,调节正负样本不平衡问题。然后我们将模型的学习率由原来的0.03调为0.08。调整后验证集的混淆矩阵如下表所见:

?

通过上表数据,我们可以计算出此模型的召回率为0.099,精确率为0.783,整体准确率为88.17%,即存在约12%的用户会被预测错误。该模型的AUC为0.78,KS值为0.436,从这两个指标可以看出,训练出的模型效果是比较好的。调参后,精确率得到了提高,并且召回率也得到了提高,说明模型在一定程度上改善了过拟合与正负样本分布不均问题。总之,我们可以看到Xgboost模型在预测小微贷款用户逾期情况上,有较好的效果。

四、论文结论与总结

本文通过对5万多条小微贷款用户数据进行研究,对Xgboost模型在预测小微贷款用户逾期风险情况的表现进行了测试与探讨,得出了Xgboost模型能较为有效的用于小微贷款逾期风险预测的初步结论。个人认为可以对公司建立小微贷款逾期风险预测模型提供以下的建议:

从整个建模过程,我们不难看出,对数据的预处理与特征筛选,是整个建模过程的关键。哪些特征进入模型将极大的影响所建模型的精确程度。即使特征存在缺失值也不能轻易剔除,要尽可能把它作为一种特征来处理。对于模型的后期调整与优化,是提高模型精度的重要手段。这样在使用Xgboost模型预测小微贷款用户时,才能建立出更加精确的模型。

猜你喜欢
数据挖掘小微贷款
帮扶小微企业 山西成绩优异
小微课大应用
不断滚动贷款,同时减记债务:政府如何才能从破产中更快恢复? 精读
探讨人工智能与数据挖掘发展趋势
数据挖掘技术在打击倒卖OBU逃费中的应用浅析
Wang Yuan: the Brilliant Boy
My Huckleberry Friends:Even if the Whole World Stand against me,I Will always Stand by You
小微企业借款人
旧信封
一种基于Hadoop的大数据挖掘云服务及应用