1. 引言
在经济下行,地方债务高筑,公司债务违约频发,P2P平台暴雷,金融风险加剧的背景下,党的十九大提出了三大攻坚战,第一大攻坚战防范系统性金融风险。如何控制借款人违约风险,降低贷款逾期,对传统金融企业和新兴P2P平台的持续健康运营,对整个金融体系的健全和稳定具有重要意义。在互联网金融和大数据时代下,运用最新的机器学习算法,对现有金融领域的信用评价和贷款逾期风险问题的控制,既能保护金融机构和P2P平台的持续运营,也能保护投资者的合法权益。近年来,各方学者运用机器学习算法如逻辑回归,BP神经网络,支持向量机,随机森林,梯度提升(GBDT)等算法对个人信用风险研究作了许多工作。秦宛顺,石庆焱(2003) [1] 运用Logistic回归(lr)对个人信用风险进行评估。刘云焘,吴冲,王敏,乔木(2005) [2] 运用支持向量机(SVM)用于商业银行信用风险评估。张道宏,张璇,尹成果(2006) [3] 将BP神经网络算法应用在个人信用评估上。杨海江,魏秋萍,张景肖(2011) [4] 基于改进的AdaBoost算法构建的信用评分模型。蒋翠清,王睿雅,丁勇(2017) [5] 运用随机森林算法(rfs)对P2P平台信用逾期风险进行预测。谭中明,谢坤,彭耀鹏(2018) [6] 基于梯度提升决策树(GBDT)对P2P网贷借款人进行信用风险评测研究。本文基于最新的机器学习CatBoost算法构建信用风险模型。
2. 模型介绍
2017由Yandex公司 [7] 推出的CatBoost算法是一种能够处理分类数据的梯度提升(GBDT)算法。CatBoost运用了一种有效的方式来将分类型数据转化成数值型数据并且防止过拟合 [8] 。CatBoost在执行随机排列后能有效地处理分类数据,通过使用多个排列来训练不同模型来防止过度拟合,进而获得对梯度的无偏估计,以减轻梯度估计偏差的影响,提高模型的鲁棒性。这个处理分类数据主要通过以下三步完成:
1) 将初始数据进行随机排列,产生多个随机排列。
2) 将具有浮点或类别的标签值转换为整数。
3) 通过下面的公式将分类变量转换成数值型变量:
其中countInClass是具有当前分类特征值的对象标签为1出现的次数,totalCount是具有与当前值匹配的分类特征值的对象总数,prior是分子的初始值。
Caboost算法的优点:1) 能够自动处理分类型数据,无须进行one-hot编码。2) CatBoost性能优秀,默认参数也能达到良好的分类效果。CatBoost主要通过以下主要参数如表1所示。
3. 实证研究
3.1. 数据描述
本文数据来自于澳大利亚P2P平台Ratesetter官网数据。截止到2018年9月30日,澳大利亚Ratersetter官网上公布了26,948条贷款数据,其中未按时还款的有1142,已完成还款的有10,451,正在还款的有15,391,本文从已完成还款的10,451条数据中选择1200和发生违约的1132条数据作为原始数据进行模型训练。澳大利亚P2P数据有12个特征变量,6个为分类型数据,6个为数值型数据。具体名称和变量数据类型如表2所示。
Table 2. Introduction to the characteristics of the P2P data set
表2. P2P数据介绍
3.2. 实验步骤
1) 原始数据中在途本金这一特征缺失严重将其删除,是否提前还款这一特征也选择了删除,一是该特征与是否发生违约相关度极高,一般发生了违约的借款人通常不存在提前还款的行为,存在提前还款的借款人通常不会违约,但以是否提前还款这一特征作为判断是否违约就已经能做出高达90%的判断;二是在根据借款人个人基本信息判断该笔贷款是否会违约时,金融机构无法得知该笔贷款是否会提前还款这一信息。
2) 由于各个数值型变量的数字量级又差别,如利率与贷款金额相差几十万倍所以将原始数据中的数值型变量进行归一化处理,使其范围归一到[0,1]之间,对于特征变量X来说,以如下公式将X’进行归一化:
3) 使用k折交叉检验来检测模型的准确性,防止模型过拟合。k折交叉检验是将原始数据划分为k个均等份子集。在k个子集中选择k−1个子集作为训练集,剩下一个子集作为测试集。k折交叉检验会对将每个子集都作为一次训练集,重复k次,本文进行50 * 5交叉检验,通过对原始数据随机划分50次,每次进行5折交叉检验,防止模型过拟合。使用Sklearn库中的支持向量机,逻辑回归,随机森林,GBDT和Yandex开源的CatBoost进行实验。CatBoost调整后的参数为:
learning_rate:0.01;depth:6;l2_leaf_reg:2;Interations:1000。
3.3. 结果评价
本文以AUC值和准确率作为模型评判标准。对于两分类问题,原始类为positive、negative,分类后得到四个预测结果,真阳(TP),伪阳(FP),真阴(TN),伪阴(FN)。ROC空间将伪阳性率(FPR)定义为X轴,真阳性率(TPR)定义为Y轴。AUC为ROC曲线下的面积,一般AUC均在0.5到1之间,AUC越高,模型的区分能力越好。它们的计算公式如下:
实验数据结果如表3所示,ROC曲线如图1所示。从表3上可以看出,CatBoost算法的AUC值、准确率都优于其他机器学习算法,说明CatBoost算法能够提高信用逾期预测准确率。CatBoost默认参数已经能实现优秀的预测效果,通过对CatBoost算法参数的优化能够进一步提高P2P平台的信用逾期预测准确率。
Table 3. Comparison of modeling results
表3. 模型结果对比
4. 总结
本文基于澳大利亚P2P平台Ratestter真实贷款数据,对数据进行数据清理,归一化。运用CatBoost算法和传统的机器学习算法包括逻辑回归,支持向量机,随机森林,梯度提升(GBDT)算法构建信用逾期模型。运用Roc曲线,AUC值,准确率作为评价标准,进行50 * 5交叉检验使得实验结果更具有说服力,实验结果表明CatBoost算法有更高的AUC值和更高的准确性。运用机器学习CatBoost算法在贷款信用风险控制中,有一定的学术意义和时间价值,能够为金融行业的风险控制提供新的思路和方法。
本文的研究还能从以下几个方面予以补充:第一,针对样本数据正负比例严重失衡等问题,可采用过采样或通过KNN近邻等方式生成相似数据进行数据处理。第二,将其他机器学习算法与CatBoost算法融合起来构建信用逾期模型,提升预测准确度。第三,调整和优化CatBoost算法参数,例如用网格搜索等方式,使得模型参数更加拟合应用场景,达到更好的信用预测效果。
参考文献