在互联网金融和数据挖掘技术的发展下,运用机器学习算法在传统金融领域和P2P平台领域,对降低借款人的违约风险,保证金融行业与P2P平台良好运营具有重要意义。本文利用澳大利亚P2P平台Ratesetter官网上的贷款数据,通过CatBoost算法与传统机器学习算法作比较分析,以AUC值和准确率作为评价标准,实证研究显示CatBoost算法在对信用评分中优于传统机器学习算法,能够达到更好的准确性。 Under the development of Internet finance and data mining technology, the use of machine learning algorithms in the traditional financial field and P2P platform field is of great significance to reduce the default risk of borrowers and ensure the good operation of financial industry and P2P platform. This paper uses the loan data of Australia P2P platform, compares with CatBoost algorithm and traditional machine learning algorithm, and uses AUC value and accuracy as evaluation standard. Empirical research shows that CatBoost algorithm is superior to traditional machine learning algorithm in credit scoring and can achieve better accuracy.
李鸿祥,黄浩,郑子旋
对外经济贸易大学,北京
收稿日期:2019年4月8日;录用日期:2019年4月23日;发布日期:2019年4月30日
在互联网金融和数据挖掘技术的发展下,运用机器学习算法在传统金融领域和P2P平台领域,对降低借款人的违约风险,保证金融行业与P2P平台良好运营具有重要意义。本文利用澳大利亚P2P平台Ratesetter官网上的贷款数据,通过CatBoost算法与传统机器学习算法作比较分析,以AUC值和准确率作为评价标准,实证研究显示CatBoost算法在对信用评分中优于传统机器学习算法,能够达到更好的准确性。
关键词 :CatBoost,信用评分,机器学习
Copyright © 2019 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
在经济下行,地方债务高筑,公司债务违约频发,P2P平台暴雷,金融风险加剧的背景下,党的十九大提出了三大攻坚战,第一大攻坚战防范系统性金融风险。如何控制借款人违约风险,降低贷款逾期,对传统金融企业和新兴P2P平台的持续健康运营,对整个金融体系的健全和稳定具有重要意义。在互联网金融和大数据时代下,运用最新的机器学习算法,对现有金融领域的信用评价和贷款逾期风险问题的控制,既能保护金融机构和P2P平台的持续运营,也能保护投资者的合法权益。近年来,各方学者运用机器学习算法如逻辑回归,BP神经网络,支持向量机,随机森林,梯度提升(GBDT)等算法对个人信用风险研究作了许多工作。秦宛顺,石庆焱(2003) [
2017由Yandex公司 [
1) 将初始数据进行随机排列,产生多个随机排列。
2) 将具有浮点或类别的标签值转换为整数。
3) 通过下面的公式将分类变量转换成数值型变量:
avg _ target = countInClass + prior totalCount + 1
其中countInClass是具有当前分类特征值的对象标签为1出现的次数,totalCount是具有与当前值匹配的分类特征值的对象总数,prior是分子的初始值。
Caboost算法的优点:1) 能够自动处理分类型数据,无须进行one-hot编码。2) CatBoost性能优秀,默认参数也能达到良好的分类效果。CatBoost主要通过以下主要参数如表1所示。
参数名称 | 参数含义 |
---|---|
learning_rate | 学习率 |
depth | 树的深度 |
l2_leaf_reg | 正则化系数 |
loss_function | 损失函数 |
one_hot_max_size | 对于某些变量进行one-hot编码 |
leaf_estimation_method | 迭代求解的方法,梯度和牛顿 |
表1. 主要参数表
本文数据来自于澳大利亚P2P平台Ratesetter官网数据。截止到2018年9月30日,澳大利亚Ratersetter官网上公布了26,948条贷款数据,其中未按时还款的有1142,已完成还款的有10,451,正在还款的有15,391,本文从已完成还款的10,451条数据中选择1200和发生违约的1132条数据作为原始数据进行模型训练。澳大利亚P2P数据有12个特征变量,6个为分类型数据,6个为数值型数据。具体名称和变量数据类型如表2所示。
变量名称 | 数据类型 |
---|---|
利率 | 数值型 |
月期限 | 数值型 |
目的 | 分类数据 |
贷款金额 | 数值型 |
在途本金 | 数值型 |
工作状态 | 分类数据 |
收入 | 分类数据 |
是否提前还款 | 分类数据 |
年龄 | 数值型 |
住房状态 | 分类数据 |
现有信贷数目 | 数值型 |
工作职位 | 分类数据 |
表2. P2P数据介绍
1) 原始数据中在途本金这一特征缺失严重将其删除,是否提前还款这一特征也选择了删除,一是该特征与是否发生违约相关度极高,一般发生了违约的借款人通常不存在提前还款的行为,存在提前还款的借款人通常不会违约,但以是否提前还款这一特征作为判断是否违约就已经能做出高达90%的判断;二是在根据借款人个人基本信息判断该笔贷款是否会违约时,金融机构无法得知该笔贷款是否会提前还款这一信息。
2) 由于各个数值型变量的数字量级又差别,如利率与贷款金额相差几十万倍所以将原始数据中的数值型变量进行归一化处理,使其范围归一到[0,1]之间,对于特征变量X来说,以如下公式将X’进行归一化:
X ′ = X − X min X max − X min
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。
本文以AUC值和准确率作为模型评判标准。对于两分类问题,原始类为positive、negative,分类后得到四个预测结果,真阳(TP),伪阳(FP),真阴(TN),伪阴(FN)。ROC空间将伪阳性率(FPR)定义为X轴,真阳性率(TPR)定义为Y轴。AUC为ROC曲线下的面积,一般AUC均在0.5到1之间,AUC越高,模型的区分能力越好。它们的计算公式如下:
T P R = T P / ( T P + F N )
F P R = F P / ( F P + T N )
A U C = 1 2 ∑ i = 1 m − 1 ( x i + 1 − x i ) × ( y i + 1 − y i )
实验数据结果如表3所示,ROC曲线如图1所示。从表3上可以看出,CatBoost算法的AUC值、准确率都优于其他机器学习算法,说明CatBoost算法能够提高信用逾期预测准确率。CatBoost默认参数已经能实现优秀的预测效果,通过对CatBoost算法参数的优化能够进一步提高P2P平台的信用逾期预测准确率。
评估标准 | 支持向量机 | 逻辑回归 | 随机森林 | GBDT | CatBoost | 调参的CatBoost |
---|---|---|---|---|---|---|
AUC | 0.8296 | 0.8741 | 0.8817 | 0.8871 | 0.8928 | 0.8941 |
准确率 | 0.7921 | 0.8115 | 0.8054 | 0.8141 | 0.8214 | 0.8233 |
表3. 模型结果对比
图1. Roc曲线图对比
本文基于澳大利亚P2P平台Ratestter真实贷款数据,对数据进行数据清理,归一化。运用CatBoost算法和传统的机器学习算法包括逻辑回归,支持向量机,随机森林,梯度提升(GBDT)算法构建信用逾期模型。运用Roc曲线,AUC值,准确率作为评价标准,进行50 * 5交叉检验使得实验结果更具有说服力,实验结果表明CatBoost算法有更高的AUC值和更高的准确性。运用机器学习CatBoost算法在贷款信用风险控制中,有一定的学术意义和时间价值,能够为金融行业的风险控制提供新的思路和方法。
本文的研究还能从以下几个方面予以补充:第一,针对样本数据正负比例严重失衡等问题,可采用过采样或通过KNN近邻等方式生成相似数据进行数据处理。第二,将其他机器学习算法与CatBoost算法融合起来构建信用逾期模型,提升预测准确度。第三,调整和优化CatBoost算法参数,例如用网格搜索等方式,使得模型参数更加拟合应用场景,达到更好的信用预测效果。
李鸿祥,黄 浩,郑子旋. 基于CatBoost算法在P2P借贷信用风险的研究Research on Credit Risk of P2P Lending Based on CatBoost Algorithm[J]. 金融, 2019, 09(03): 137-141. https://doi.org/10.12677/FIN.2019.93015