个人信用评估在信用经济市场发挥着及其重要的基础作用,促进信用经济的发展,稳定经济市场。个人信用信息主要有个人基本信息、还款能力和还款意愿;个人基本信息主要由年龄、性别、地区等特征构成,还款能力主要由资产、工资、社会关系等特征构成,还款意愿主要考察的是该人是否有相应的违约事件、违约事件的严重程度等信息,所以个人信用评估系统根据这三个因素构成,完整地包含了有关一个人信用违约的所有数据。对个人信用进行科学合理的预测评估对并在此基础上开展个性化的金融服务具有重要的研究价值。
本报告以某股份制商业银行个人消费信贷行为数据集为研究对象,利用机器学习算法组合模型为技术方法,探索科学合理的个人信用评估方法,进而为消费信贷业及相关主体进行决策提供科学的依据。
我国目前的个人信用评分系统尚不健全,银行等消费信贷主体缺乏获取借贷人全面且准确信息的渠道,因此银行等消费信贷主体很难对借款人财务状况的真实性、稳定性及还款意向等资信状况做出精准的判断;此外消费信贷的一个本质特性是客户量大且分散、不同的客户的信用风险状况也不一样,因此银行等消费信贷主体本可以通过对不同的客户群采取不同的利率的方式来使信贷风险达到最小化。为了促进消费信贷发展的同时能够有效的防范其带来的潜在风险,将对个人信用进行科学合理的评估是非常有必要的。
本报告借助机器学习技术,根据个人信贷的历史记录,将机器学习算法和组合模型理论结合起来对借款人潜在的违约概率进行预测,对个人信用风险进行评估。
Makowski首次把分类树应用于信用评估领域,成为信用评估模型标志性的成果,该方法被广泛应用到信用评估领域。随后大量文献对机器学习在信用风险评估中的应用进行了研究,降遗传算法和神经网络应用在了信用评分领域;Desai将线性评分模型与神经网络模型在信用评估中的应用进行了比较,得出神经网络模型准确率更高的结论;Breiman将随机森林算法引入信用评估模型中。TIan-Shyug Lee将神经网络和判别方法组合后用信用风险评估,该方法将线性判别分析得到的有意义变量作为神经网络的一个输入变量进行建模。
我国对个人信用评估方法的研究起步较晚,研究者只是将单一模型应用到信用评估领域。后续用回归、线性规划法、判别分析、分类树、BP神经网络模型、等模型对个人信用进行评估。
多元线性回归模型是一种理论上已经非常成熟的模型,因模型的简单性、易解释性和易实施性而得到了广泛的应用。但由于其有若干模型假设而使其在使用中与实际情况有很大偏差。将多元线性回归模型应用到个人信用评估研究时有一个明显缺陷是,自变量与因变量的取值范围是不同的,自变量可以取任意值,而因变量只能取 0到1 之间的值,因此根据实际情况的需要采用逻辑回归模型对个人信用进行评估更为合适。
逻辑回归又称对数几率回归,是一种通过 Logistic函数将特征变换为概率,进入判别自变量的类型的线性分类器。实质是将某事件会发生的概率除以某事件不会发生的概率再取对数后的值作为因变量,这个简单的变换解决了自变量与因变量的取值范围不同的问题且将变量间的非线性关系转化为线性关系。
决策树反应的是属性与对应值之间的一种映射关系。树中的节点即为对象,分叉路径即为该对象的某个可能属性,而每个叶节点则代表该对象所对应的值。决策树仅能输出单一值,若需要输出多个值,需要建立多个独立的决策树输出多个不同的输出。决策树中有三种类型的节点,分别是决策节点、机会节点和终结点。其中决策节点是最后选择出的最佳方案,若存在多个决策点则决策树根节点为最终的决策方案,通常用矩形框表示;机会节点也称状态节点,是多种备选方案的集合,由机会节点分出的分支是概率枝,概率枝所谓数量即为该节点可能出现的状态个数,通常用圆圈表示;终结点又称结果节点,通常用三角形表示,是每个概率枝对应的结果。决策树对建模数据的要求不强,可以用较短的时间处理各种类型的数据,且需要的数据量不大,易于理解及实现。但是决策树容易过拟合且输出的结果存在不稳定的问题,数据一旦有稍微的变化便可能生成一个与之前完全不同的决策树。
随机森林实质是决策树算法的一种有益改进,属于集成学习。该算法的基本思想是首先用 booststrap 抽样方法从原始训练集抽取 K个样本集,且每个样本集的样本数与原始训练集的样本数相同;然后基于每个样本集随机使用m个特征建K个决策树模型,且K个决策树之间是相互独立同分布的,K个决策树模型的集成即为随机森林模型,其输出是由多个决策树的输出的众数决定。
所谓组合模型就是将两个或者两个以上的单一模型组合在一起。组合的方式有两种:
(1)并联式的组合模型,即基于同一数据集建立多个模型,然后将多个模型的输出结果经过某种方式进行组合的模型;
(2)串联式的组合模型,即将某一个或多个不同的单一模型的输出作为另一个模型的输入共同建立的组合模型。在解决实际问题中,一般会根据不同假设条件采用多种不同的单一模型,然后根据一系列模型评价指标从多种模型中选择最合适的模型,忽略其他单一模型。
本研究首先搜集与整理某股份制银行个人信贷消费行为数据集进行,并对原始变量进行处理;然后将数据集按 9:1的比例分为训练数据集和测试数据集,并在训练数据集上分别建立组合模型,最后分别在训练数据集和测试数据集上采用ROC值和AUC值评价指标对模型进行评价,并在比较分析的基础上,探索表达该数据集的最优模型。
数据选取:银行客户信贷业务交易数据。数据分为训练数据集(train.csv)和测试数据集(test.csv)。数据来源:某股份制商业银行。银行客户信贷业务交易数据,按数据变量含义共分为三大类。如表所示,数据分为客户基本信息、借贷相关信息和客户特征相关信息。
数据变量说明表:
序号 |
变量 |
变量含义 |
|
1. 客户基本属性信息 |
|||
1 |
id |
客户唯一标识 |
|
2 |
certId |
证件号 |
|
3 |
gender |
性别 |
|
4 |
age |
年龄 |
|
5 |
dist |
所在地区 |
|
6 |
edu |
学历 |
|
7 |
job |
工作单位类型 |
|
8 |
ethnic |
民族 |
|
9 |
highestEdu |
最高学历 |
|
10 |
certValidBegin |
证件号起始日 |
|
11 |
certValidStop |
证件号失效日 |
|
2. 借贷相关信息 |
|||
12 |
loanProduct |
借贷产品类型 |
|
13 |
lmt |
预授信金额 |
|
14 |
basicLevel |
基础评级 |
|
15 |
bankCard |
放款卡号 |
|
16 |
residentAddr |
居住地 |
|
17 |
linkRela |
联系人关系 |
|
18 |
setupHour |
申请时段 |
|
19 |
weekday |
申请日 |
|
3. 客户征信相关信息 |
|||
20 |
ncloseCreditCard |
失效信用卡数 |
|
21 |
unpayIndvLoan |
未支付个人贷款金额 |
|
22 |
unpayOtherLoan |
未支付其他贷款金额 |
|
23 |
unpayNormalLoan |
未支付贷款平均金额 |
|
24 |
5yearBadloan |
五年内未支付贷款金额 |
|
25 |
x_0至x_78 |
该部分数据涉及较为第三方敏感信用数据,匿名化处理,不影响建模和数据分析 |
训练集共有102029条数据记录,测试集有30000 条数据记录;训练集和测试集都有相同的105个特征属性。查看数据集样本情况:
查看数据集描述情况:
2.1 违约客户数量分布
违约客户数量分布,可以看出违约的客户较少,只占0.757%,获取的数据存在样本不均衡情况。这也说明了在真实情况下银行违约的客户数量还是占比较少的。因为违约会影响到个人征信等。
2.2 违约客户性别分布
违约客户性别分布图可以看出,违约客户的年龄差别较大,大部分为男性(gender=1)。在违约客户中,男性占比为75.76%,女性占比为24.24%。从逾期占比情况来看,男性逾期占比高于女性近51%。解释这一现象可以考虑从家庭及社会分工考虑,男性是主要的借贷群里,群体基数大,因此违约占比概率高。
贷款行业相关调查显示:女性贷款的通过率高于男性,相比男性贷款人,借贷机构更愿意借钱给女性。
2.3 违约客户年龄分布
违约客户年龄分布图可以看出,违约客户年龄集中在 19-35 岁之间。该区间年龄段客户承担的角色主要是学生和家庭的顶梁柱,同时也是借贷客户的主要群体。
2.4 不同信贷产品类型的违约分布
将数据集按照信贷产品类型进行分组统计,分别计算不同组违约的比例。其中信贷产品1的违约比例最高。这说明借贷产品在产品设计方面需要优化改进,避免高违约率情况发生。通过进一步挖掘和分析不同信贷产品在违约率差异上存在的原因,帮助商业银行在产品设计方面提供的决策支持。
2.5 信用评级分布
客户信用评级是指商业银行为有效控制客户信用风险,实现信贷资金的安全性、流动性和收益性,从客户经营能力、盈利能力、偿债能力、发展能力,以及客户素质和信用状况等方面,对客户进行综合评价和信用等级的确定。图中看出银行进行客户筛选时是会重点考虑客户信用评级,对于信用评级差的客户会拒绝审批信贷业务;但是对于潜在风险客户,各类信用评级的分布都是存在的,进一步说明信用风险是难以预测的。
3.1 建模流程
信用风险是金融监管机构重点关注的风险。在实际业务开展和模型构建过程中,商业银行运用数据挖掘、数据建模等方法进行决策,提高信用风险的评估和预测能力。本课程报告使用XGBoost和Sklearn进行机器学习和决策树分类实现决策树模型构建客户风控预警。数据建模的流程可以归纳五个步骤,分别是数据获取、数据理解、数据处理与特征选择、模型选择和结果分析。
3.2 模型评估
在本课题研究中,选择Python语言和XGBoost和SKlearn进行决策树模型建模。XGBoost是一套提升树可扩展的机器学习系统。目标是设计和构建高度可扩展的端到端提升树系统。SKlearn是一个开源的基于Python语言的机器学习工具包,涵盖了几乎所有主流机器学习算法。使用机器学习建模的一般流程分为两大部分:数据处理和模型学习。第一部分需要大量的知识对原始数据进行清理及特征提取;第二部分模型学习,涉及长时间的模型参数调整,调整方向和策略需要根据经验来灵活调整。
根据提供的训练数据集(train.csv)和测试数据集(test.csv)进行模型训练和测试验证,用ACU值进行模型评分(AUC是衡量学习器优劣的一种性能指标。AUC可通过对ROC曲线下各部分的面积求和而得)。
通过交叉训练最佳迭代次数进行参数调优,并利用最佳迭代次数和全量数据再次训练模型。最后得到平均训练集ACU=0.881和平均测试集AUC=0.7。最终的预测验证集AUC指标为0.9103。
根据模型分析各个特征重要程度,可以看出lmt(预授信金额)、residentAddr(居住地)等特征是非常重要的模型评估指标。
3.3 结果分析
根据客户基本信息、借款信息、信用卡消费记录等数据构建模型去判断这个客户是否会发生逾期的风险。
结果表示新客户测试集预测准确率85.85%,新客户测试集 AUC 指标72.45%。
我国目前存在诸多因素阻碍消费信贷的发展,其中最主要的因素是个人信用风险,因此对个人信用风险进行科学合理的评估具有重要的研究价值。本报告以银行个人消费信贷行为数据集为研究对象进行实证分析,借助机器学习算法和组合模型对个人违约率进行预测,进而寻找更加科学而合理的评估模型对个人信用风险进行综合评估。
[1]丁娟娟,崔媛媛.个人信用评估模型的比较研究[J].商场现代化,2007,(5):31-33.
[2]姜明辉.商业银行个人信用评估组合预测方法研究[D].黑龙江:哈尔滨工业大学,2006.
[3]韩正波;;银行个人信用评估方法研究综述[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年.
[4]史宁;;商业银行对个人信用评估的组合预测模型[J];商业研究;2009年11期.