基于机器学习的信用卡之行为评分卡是如何建立的?

栏目: 数据库 · 发布时间: 5年前

内容简介:作者:余子娟,CDA L3 数据科学家学员 & CDA L2持证人,专注于金额科技领域,为银行赋能,助力银行信用卡中心全生命周期经营问题。身处互联网金融时代,信用无处不在。为对客户进行一个优质与否的评判,使用信用评分,对客户实行打分制成为当前风控领域的难点。而基于机器学习的信用评分卡则是其中关键的环节。

基于机器学习的信用卡之行为评分卡是如何建立的?

作者:余子娟,CDA L3 数据科学家学员 & CDA L2持证人,专注于金额科技领域,为银行赋能,助力银行信用卡中心全生命周期经营问题。

身处互联网金融时代,信用无处不在。为对客户进行一个优质与否的评判,使用信用评分,对客户实行打分制成为当前风控领域的难点。而基于机器学习的信用评分卡则是其中关键的环节。

信用评分卡分为A卡(Application scorecard)、B卡(Behavior scorecard)和C卡(Collection scorecard)。A卡是申请评分卡,用于贷前审批阶段对借款申请人的量化评估;B卡为行为评分卡,用于贷后管理,通过借款人的还款及交易行为,结合其他维度的数据预测用户是否会逾期;C卡即催收评分卡,用于催收管理,在借款人当前还款状态为逾期的情况下,预测未来该笔贷款变为坏账的概率。

本文就带大家揭秘信用卡风控评分体系之行为评分卡是如何建立的?

客户信息涉及很多因素,因此敏感信息已在之前脱敏。

目标

通过某银行客户的个人基本资料、过去的信用数据及交易资料,依循评分卡建模的步骤,分析归纳出好客户和坏客户的特征,并建立一个客户是否会持续逾期的评分卡预测模型。

步骤

  1. 对客户交易数据结合还款情况进行数据处理;
  2. 使用机器学习构建B类评分卡,并对模型进行评价;
  3. 再由新样本集对评分卡进行测试,并输出验证结果。

数据

我使用了Kaggle的多个数据集,Kaggle数据集链接:

https://www.kaggle.com/yuzijuan/behavior-scorecard

其中m0_200411.txt为训练集,m0_200412.txt为测试集,TXN_DATA.TXT为交易数据集,MccCode.csv为交易码。

代码

我将本文涉及到的代码全部放在github项目集中。

https://github.com/ICBC-123/scorecard

环境和工具:

Jupyter notebook 、Pandas、Numpy、woebin、var_filter、perf、scorecard、splitdf(后5个为自有评分卡程序)

数据处理

1.训练集处理

首先对数据集中不同类别变量进行数据探索,查看了数据的分布情况。

基于机器学习的信用卡之行为评分卡是如何建立的?

训练集中PAY_COND(缴费状态码)是可加工的变量,从24位缴费状态中可以获得:

  • 每三个月的逾期次数,形成一个6位数的变量,例如012121;
  • 获取最大逾期月份,最小为0,最大为9;
  • 获得客户的使用月份数和实动月份数

代码实现如下:

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

账单金额、缴费金额及归属额度是可加工的变量:

  • 近6个月各月的额度使用率
  • 近6个月各月的还贷比,由于还贷比分布不均,将头尾取[-2,2]作为截断。

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

2.交易数据集处理

交易数据集共计1886.8万笔,有8个交易属性,可加工较多变量:

  • 月均消费次数
  • 月均消费金额
  • 月均入账次数
  • 月均入账金额
  • 笔均消费金额
  • 交易月份数

……

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

交易数据集中有MccCode,可以和客户目标属性结合,得到客户高中低风险交易占比。

  • 高风险交易占比
  • 中风险交易占比
  • 低风险交易占比

风险程度来源:先将训练集与交易数据按照ID匹配,求每个客户不同交易类别的交易数量和交易占比;再求得坏客户的交易数占总交易的占比为风险切分点,高于该占比15%的交易类别为高风险类别,低于该占比15%的为低风险类别;最后将各个风险类别对应的风险程度代入交易数据,求得每个客户高中低风险交易占比。

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

最终形成了基本特征、交易特征、信用卡特征及其衍生变量共计53个指标。

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

建立评分卡

依据根据CRISM-DM数据挖掘理论,设计模型建立步骤,通过数据检验、数据初筛、分箱及计算WOE、IV筛选,最终建模及评分卡。

基于机器学习的信用卡之行为评分卡是如何建立的?

数据检验

对已处理好的数据集进行数据检验,包括缺失程度、单变量检验、超多分类检验、异常值、空值填充及正负样本平衡检验。本案例中正负样本比为1:3,由于是金融领域逾期类问题,现实中并不认为这个比例属于不平衡样本,一般样本比例小于1:5,需要进行不平衡类问题处理。常用欠采样、过采样或混合采样来填充样本浓度,预测结果不可直接应用,排序之后可用顺序结果应用于实际。

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

分箱及计算WOE

分箱其实是当前信用卡风险领域较为困难的操作,如何合理分箱是数据处理之外较难的话题。本案例的分类变量是按照将多个类别合并为一类分箱再计算WOE的,连续数据是有监督分箱,按照CART分类树最优分箱计算各变量的WOE。随机选取WOE值查看如下:

基于机器学习的信用卡之行为评分卡是如何建立的?

可以看到逾期最大月份的IV值较高,坏样本在不同分类上的区隔较大;归属额度的WOE呈现明显的单调,表明这个变量对结果的贡献较大,变量越重要。

基于机器学习的信用卡之行为评分卡是如何建立的?

而从这四个变量可知,坏样本在不同分类上的区隔不大,WOE值在水平线左右小幅度浮动,表明这个变量对结果的贡献不大,变量不算重要。

分箱代码如下:

基于机器学习的信用卡之行为评分卡是如何建立的?

建立评分卡

计算出IV值后,由于该模型变量较多,可以选择筛选掉IV小于0.02的变量,剩余37个变量输入模型。并将数据字典保存成文件,用于后续预测调用使用。

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

按照7:3生成训练集和测试集,计算出各个变量的WOE后用WOE值替换原始数据,并计算各个变量之间的相关性。

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

此处分别建立了逻辑回归、决策树、梯度提升树来评判模型效果。

基于机器学习的信用卡之行为评分卡是如何建立的?

可以看出三种模型效果均较好,就测试集的KS值而言,逻辑回归和梯度提升树较好,由于奥卡姆剃刀原理,当模型效果差别不大时,我们有理由选择复杂度较低,业务可解释性更强的模型即逻辑回归作为最终的输出模型,后续我们也会用验证集进行验证。将得到的模型保存,用于后续模型调用。

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

建立逻辑回归模型后,对模型稳定性进行了测试,得到PSI远小于0.1,模型稳定性很好。

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

最终生成的评分卡部分截图如下:

基于机器学习的信用卡之行为评分卡是如何建立的?

效果评估及预测

然后将原测试集(m0_200412.txt)作为验证集,进行预测的流程图如下:

基于机器学习的信用卡之行为评分卡是如何建立的?

其中数据加工和数据验证与之前流程一致,重复操作即可。操作好后加载模型和验证集,调用已保存好的数据字典文件,将原数据转化为WOE值,若变量出现新值,用0替换原数据。

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

基于机器学习的信用卡之行为评分卡是如何建立的?

我此处仍然通过逻辑回归、决策树和梯度提升树三种模型来验证数据,效果如下图:

基于机器学习的信用卡之行为评分卡是如何建立的?

可以看到决策树的效果已经坍塌,而梯度提升树的效果不如逻辑回归。需要说明的是,根据业务逻辑,我们更关注的是真正逾期的客户有多少被我们预测出来了即召回率(Recall),本案例中召回率最高的仍是逻辑回归,因此得到:逻辑回归从业务理解难度、稳定性、训练集、测试集、验证集等多方面表现较优,最终选择逻辑回归为最终预测模型。

基于机器学习的信用卡之行为评分卡是如何建立的?

最终我们得到逻辑回归预测下的各个ID的预测结果。

结语

在金融领域,其实机器学习发展速度不快,当外界已经开始用高阶模型时,我们却还苦苦地应用逻辑回归来解决问题,有时候会担心自己所学是不是已经跟不上时代了。其实无需担忧,金融科技领域,机器学习的发展之路还较远,路漫漫其修远兮,吾将上下而求索。

如果大家有疑问,可以自己下载代码和数据集自行尝试。本身的分享不仅仅是为了分享,也是自我提升的方式之一,如有问题,还请包涵。

相关拓展:

CDA LEVEL 3 数据科学家精英培训是符合「CDA 数据分析师人才行业标准」最高等级准则的一套能够 将数据分析师(Data Analyst)培养为数据科学家(Data Scientist),具备专业性、科学性、高端 性、先进性的领袖级人才培养方案。该课程主要面向从业多年的、有技术基础的大数据及数据分析专 业人士、数据工程师等,为他们提供一个成为数据领袖的跳板。 课程内容是在 CDA LEVEL 1 和 LEVEL 2 大纲的基础之上,进一步涉及更先进的技术、更系统的架构、 更高效的管理,包含计算机科学技术(高性能),大数据架构设计,机器学习,深度学习,数据治理, 项目管理等内容,让数据科学是技术的同时,也能成为艺术。

更多专业内容可移步: https://www.cda.cn/?seo-segme...


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Web Application Hacker's Handbook

The Web Application Hacker's Handbook

Dafydd Stuttard、Marcus Pinto / Wiley / 2011-9-27 / USD 50.00

The highly successful security book returns with a new edition, completely updated Web applications are the front door to most organizations, exposing them to attacks that may disclose personal infor......一起来看看 《The Web Application Hacker's Handbook》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具