风控评分卡与机器学习

在金融风控领域,无人不晓的应该是评分卡,美国fico公司算是评分卡的始祖,始于 20世纪六十年代, 评分卡大致20世纪末传入我国,我能看到国内较早关于评分卡的讲解的书籍是2005出版的。在中国 信贷 房贷车贷 高利贷 普惠金融的滋润下,评分卡这项对风控有显著效果的一项技术浮出水面。


image.png

简单来理解评分卡,其实评分卡 就是 一个简单的决策树,不过叶子节点都是数值,那么根节点的养料是什么,养料其实就是你个人当时最原始的征信信息和个人信息
你的 收入 学历 居住地居住时间 年龄 家庭人口 是否单身 工龄 现在单位工作时间
你的存款 你的逾期次数 你的银行卡数量 信用卡数量 ,信用卡额度 信用卡种类,突然间,发现我在申请一些资本主义国家签证时,准备的材料基本上就是这些,其实我们 不管做什么申请,只要是让你提供个人信息资料等等,都可以看做是一个朴实的评分卡模型,只是稍微有点区别,本质上就是通过你的申请资料给你打分,及格就通过申请,不及格就驳回拒绝。


image.png

那么在互联网金融风控领域的标准评分卡又是什么鬼?当然不是鬼,是一门很有效用的技术,我通过给你提供的资料打分,比如月收入超过一万 打分30分,超过两万的打分50,月收入无的打 负分 -20,学历 研究生以上打分67分,本科46分,专科23分,高中高职 中专16分,初中及以下负分-8,居住地时间,超过五年78分,超过三年45分,不足一年负分-64.。。。大家可以看到我对以上我所关注的几项特点【feature】都做了相应的打分情况,通过这些打分,最后对一条记录 【一个申请贷款的个体人】他会有一个 求和的总分score,比如我的总分区间是300-900,低于600分的统统拒绝驳回,只有600分以上的才可以通过申请放款,那么就看这个人实际有多少分,决定了他到底能不能拿到贷款,但是现实中还有更精细的操作 ,不是驳回了就没有机会了,还有 拒绝推断,意思其实还是从沙子里挑出金子来,在低于600分以下的再做统计推断,会挽留一部分人继续放贷,超过600分的也不一定都能拿到满意的贷款,比如在600-750之间我再做统计推断,再拒绝一部分人 还有对一部分人的贷款额度只满足其70% 等等

接着我们来看,如果你注意到,我们对每个feature 都做了间隔区分,一个特征分了好几个档次,每个档次打分都不一样,正所谓 因为有阶级的存在才会有不平等,但是阶级永远不可能被消灭,就好比矛盾,旧的生产关系消失了 自然 旧的矛盾也就销声匿迹了,但是迎面新的生产关系和生产力而来的 次要矛盾就会占领 C位,武力消灭的旧的阶级,未来在新的阶级就会因为生产关系切换不断分化出新的小鸡鸡 【阶级】,对于评分卡 最重要的就是我们如何来分档【分箱】,如何为每个档设置合理的分数[woe iv],可以看得出评分卡这个幺蛾子就被我们给分解掉了。


image.png

那我们来说说分箱吧
分箱其实就是为了给评分卡分档区别,评分卡拿到的原始数据刚开始可能都是一些类别数据,比如 张三【 本科 月收入1万 居住地3年 信用卡3张 28岁 单身 工龄3年 先工作入职一年 白金卡一张 信用额度缺失 。。。】
看到么,这些原始的数据 都是文字描述 ,并不可以直接放入评分卡程序中跑分的。
需要我们首先对数据做预处理 比如缺失值异常值 等等处理,然后是数据类型的转换,str 转int float ,把文字的描述转为 数值型特征,或者 one-hot编码 ,有一大部分数值型特征他是连续值,对于连续值 如果直接使用,对模型未来的泛化能力其实不大,容易过拟合,并且容易受噪音数据 极值影响,对模型的贡献有限,但是如果 把连续值转化为离散值,那么噪音影响减弱,泛化能力加强,模型的可解释性更强。那么 连续值转为离散值的这个过程就叫分箱


image.png

分箱 最朴实的有两种 等频 和等距,啥意思呢,
等频 就是把一个分箱的区间段看做箱子,每个箱子放的样本数量是一致的,相等的,等频会考虑 箱子的样本数量,但是不会考虑箱子大小间隔长度。
等距就是 分箱的每个区间段都是相等 大小的,但是每个箱子里的装的样本就不一定是相等的了,等距 只考虑箱子相同大 ,但是不会考虑箱子到底装多少
当然 不管哪一种分箱 ,箱子的个数大部分是需要你人为指定的。

前两种分箱 都是比较机械,有很大的局限性,我们分箱的目的是啥,是为了区分样本,正确的分箱可以将样本的信息及趋势暴露出来,假如我们学历分箱,【辍学过,小学到博士】那么这样的分箱 学历基本就废掉了,他无法体现出学历的价值,小学生毕业和博士生毕业,两者的社会信誉度和诚信度简直一个天上一个地下,两者放一个区间段,还怎么判断。所以 在评分卡中我们尤为关注的是分箱。


image.png

怎么分箱比较合理呢 ,fico 中model Builder 给出 了 一部分答案,
fico 分箱 主要两部分,先细分箱 然后再分箱合并,因为fico细分箱的粒度并不是很细,在分箱合并的时候 ,大部分是可以手工完成的。不过分箱合并也是有三个过程,计数合并阶段,要求每个分箱的样本量不低于多少,正负样本不少于多少,相似合并 则是计数原来每个分箱的 woe iv 值,以iv损失最小的相邻合并,注意了,以我们现在朴实逻辑抽象出来的分档 是有一个类似线性的趋势,一般都是相邻合并,最后是趋势合并,
fico 本身可以自己分箱不用人为干预,但是效果不是最理想的。

接着我们来看分箱的高阶思路,既然我们分箱是为了更好的区分样本,使其暴露更多的信息价值,来拟合一些趋势,那么我们就往这方便思考,什么可以让他做到这些。
第一 卡方检验分箱 第二信息熵 第三贝叶斯分箱
如果使用这三种分箱,你会发现 分箱 1不等距 2 不等频,但是分箱的区分度大大提升
https://blog.csdn.net/pylady/article/details/78882220

image.png

评分卡在做分箱的时候,必然会把每个特征 每个分箱区间的 woe iv 计算出来。
https://blog.csdn.net/sscc_learning/article/details/78591210

image.png

之后就会有区别了,最古老的评分卡在纸上打钩操作
在上世纪计算机远远不太发达的时候,评分卡都是当时的美国银行的信贷风控数据分析师手动在纸上填写 打钩的,每个特征 在每个区间具体打多少分,也是有公式的,最后给你打出一个总分来。这样一来你的分数就固定了下来,剩下的操作就是放贷部门参考给你的打分,为你量身定做放款数额或者驳回。

同时与信贷相关的就是信用卡申请,朴素现实意义来说,信用卡其实就是一款小额的个人信用无抵押借贷形式,一次申请一次审核 多次复用信贷,相比 小额借贷是每次申请 都要单独审核,信用卡的优势和风险就更多了。所以信用卡申请也是可以用评分卡的,
另外信贷 形式可以分很多种 ,线上消费分期 线上现金分期 线下消费分期 线下现金分期 车贷单独 房贷 装修贷 留学贷款 信用卡抵偿 套现 等等多种场景,每种场景的模型都会有很大的区别。


图片发自简书App
图片发自简书App

在互联网发达起来,计算机耗材 性能大幅度提升,我们的评分卡不再仅仅是【纸上谈兵】,开始使用更高级的技术,机器学习 和深度学习
我们在之前的数据分箱 清洗后,在归一化 标准化 无量纲 one-hot 时间衍生 ,特征组合,我们还要做好 单变量分析 多变量相关系分析 通过聚类散点图查看 一些信息特征,做估计和假设检验,完成统计学相关的操作后, 我们就可以使用机器学习的套路对其进行学习,原来纸上的评分卡是没有预测能力的,只是来个人,我看你的个人信息 给你打分【朴素来说,打分打得好 打的快 靠心算也算是人的预测能力吧】,现在使用机器学习我把数据分为 训练集 和测试集,用带标签的训练集来训练数据,然后再用测试集来验证结果。
那我们来说,过来申请借贷的人,本身不带标签target,我们怎么知道他是好人【可以偿还到底】,坏人【跑路欺诈】,假如都带上了,还要什么风控组,谁敢给带坏标签的人 放贷,真金白金都是钱呀,真要放了,肯定是肉包子打狗一去不回头,这个时候我们需要人为的设置标签,一般来说我们的标签来自这个人之前的信贷历史,这个人至少是有个人征信记录的,之前办理过贷款 还贷的经历,所以来说,单单有个人学历 居住地户口也是不敢轻易放贷的,因为不知道你的诚信度到底深浅,当然也有本科 研究生骗贷跑路的。以你的个人征信记录 做加工分析,有一个账龄分析,一般来说 M1 30天就有个大概了,好像是80%,当然也是有迁移率,比如还着贷 突然资金链断了不还了,或者逾期了, 经过催账 又开始还了,中间断断续续,或者一直在还了好久突然人间蒸发跑了。放贷是一个长期工程,观察期 和表现期 漫长,都知道下蛋公鸡不是正经的


图片发自简书App
图片发自简书App
图片发自简书App

,和普通机器学习以auc roc为评估衡量标准,评分卡 的机器学习更关注 ks 值,这个ks其实就是正负样本的区分程度,区分度越大 ks值就越大,这个ks 一般只求最大的区别最为模型的ks值,这个时候 TP TN FN FP 召回率 准确率 精准率 F1-score ,其实和ks 是有点类似的。

一般来说我们在使用评分卡做机器学习,或者说是用机器学习做评分卡,我们常用的模型 就是逻辑回归 GBDT DNN RNN,假如我们用逻辑回归,我们最后得到的其实是一个 判断这个人是什么的概率或者优势,一般处于0-1之间,那我们如何把这个概率或者优势转换为 评分卡的score呢,当然也是有公式的。


image.png

通过这个公式 我们就可以解释出他拿到这个分数
https://blog.csdn.net/strwolf/article/details/51576469

至此评分卡的原理基本上算是初步讲完,评分卡现在来说是一个比较成熟的技术,在国内还比较小众,一些国有银行已经开始涉足使用。

https://data-science-tools.github.io/ScoreCardModel/ScoreCardModel.html#id8
https://jakevdp.github.io/blog/2012/09/12/dynamic-programming-in-python/
https://github.com/data-science-tools/ScoreCardModel

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

image.png
image.png
image.png

推荐阅读更多精彩内容