难道你知道你的信用评分?您是否被拒绝信用,不知道为什么?每个曾经借过钱申请信用卡、买车、买房或任何其他个人贷款的人都有信用档案。贷方使用信用评分来确定谁有资格获得贷款、利率是多少以及信用额度是多少。信用评分越高,贷方对客户的信誉就越有信心。但是,信用评分不是常规信用报告的一部分。有一个数学公式可以将信用报告中的数据转换成一个三位数的数字,供贷方用来做出信用决策,但机构用来计算信用评分的确切公式是一个秘密。

该项目的目的是使用信用评分技术来评估向特定客户贷款的风险并构建逻辑回归记分卡(评分卡)模型。信用评分意味着应用统计模型为信用申请分配风险评分,它是一种基于预测模型的人工智能形式,可评估客户违约信用义务、拖欠或资不抵债的可能性。

接下来,将详细介绍如何使用信用评分来构建消费者信用评分卡。分析将包括探索性数据分析、变量选择、模型构建和评分。


探索性数据分析

本项目中使用的信用评分数据集来自 Kaggle。在每个建模过程的开始,要问的第一个问题是我们试图通过模型预测什么。在信用评分中,这是预测变量/因变量。它的二进制值为 1 或 0。值为 1 表示借款人拖欠并在过去 2 年拖欠贷款,而值为 0 表示借款人是好客户并偿还债务过去两年准时。此处的因变量是“SeriousDiqin2yrs”,如下表第二列所示。

图 1. 探索数据——缺失值和异常值

大多数金融行业数据包含缺失值或对特定特征没有意义的值是很常见的。如表所示,该数据集也有缺失值和异常值。由于我们使用逻辑回归模型处理客户信用度的估计,因此我们使用中位数估算缺失值并删除不合逻辑的值。

例如,‘age’ 变量是一个从 0 到 100 的连续变量。有一些记录,其值为 0,这没有意义,要成为借款人,该人必须是 18 岁的成年人年。因此,我们将这些值视为缺失值并选择删除这些值。此外,“RevolvingUtilizationOfUnsecuredLines”功能是无担保债务总额与无担保信用额度总额的比率,此功能的值应介于 0 和 1 之间,但某些记录的值大于 1。在这种情况下,“RevolvingUtilizationOfUnsecuredLines”功能中存在异常值,我们选择使用顶部编码方法对异常值进行预处理,这意味着所有高于上限的值将被任意设置为上限。


离散化预测器/分箱

分箱是指将数字特征转换为分类特征以及重新分组和合并分类特征的过程。在记分卡的开发过程中,为什么需要binning?原因是一些特征值很少会出现,如果不组合在一起会导致不稳定。因此,将具有相似预测强度的相似属性分组将提高记分卡的准确性。下面显示了分组“年龄”功能的示例。

图 2. 分组“年龄”特征的示例

记分卡——模型构建

在构建记分卡模型之前,还需要两个额外的步骤。一个是计算Weight of Evidence,另一个是根据WoE 值计算Information Value(IV)。

为了验证分箱结果,我们使用 WOE 值。在将连续变量分成几个类别或将每个特征的离散变量分成几个类别后,我们可以计算证据权重 (WoE) 值,然后将分类值替换为 WoE 值,WoE 值可以稍后用于构建模型。有关 WoE 计算的详细信息,请参见以下部分。

证据权重 (WoE)

WoE 衡量特征的属性在区分好账户和坏账户方面的强度,并基于每个组级别的好申请者与坏申请者的比例. 负值表示特定分组隔离的不良申请人比例高于优秀申请人。它是衡量每个属性中商品和不良品比例差异的指标。例如,具有该属性的人的好坏和负 WoE 值的几率更差,因为该组中的申请人呈现更大的信用风险。对于特征 WOE 的每个组 i,计算如下:

图 3. ‘age’ 特征的 WoE 结果示例

一旦我们完成对变量的分组和计算 WoE,我们将按信息值(IV)对变量进行排序以筛选和选择变量。关于 IV 计算的详细信息在以下部分。

信息价值(IV)

信息价值来自信息论,并使用以下公式进行衡量。信息值用于评估特征整体预测能力。

IV 是变量选择的一个方便的经验法则。

请注意,NumberRealEstateLoansOrLines 的信息值为 0.116,这几乎不落在中等预测变量的范围内,而且是不可预测的。通常,选择具有中等和强预测能力的变量进行模型开发。因此,我们进行特征选择,根据IV值从9个特征中选择8个特征,如下面红色高亮框所示。

记分卡开发

我们使用逻辑回归模型处理评分函数的建模和客户信用度的估计。回归系数用于缩放记分卡。缩放记分卡是指使记分卡符合特定的分数范围。记分卡开发的大图如下所示。

分数缩放

缩放记分卡是指使记分卡符合特定范围的分数,并使用回归系数来缩放记分卡。Logistic 回归模型是线性模型,其中 logit 转换的预测概率是预测变量值的线性函数。因此,以这种方式导出的最终记分卡模型具有理想的质量,即最终信用评分(信用风险)是预测变量的线性函数,并且对模型参数应用了一些额外的变换,一个简单的分数线性函数可以粗编码后与每个预测器类值相关联。因此,最终的信用评分是可以从记分卡中获取的单个评分值的简单总和。

对于每个属性,其证据权重 (WoE) 及其特征的回归系数现在可以相乘,以给出该属性的分数。然后,申请人的总分将与该申请人预测的坏/好几率的对数成正比。


分数缩放/分数校准机制

在积分卡或评分卡建模中,我们通常会把逻辑回归输出的概率分(probability)转换为整数分(Score),称之为评分卡分数校准,英文释义为calibration。更标准或学术释义为尺度变换,英文为scaling。只是很多书籍和互联网传播文章中并不严格区分校准和尺度变换,统称为风险校准。

常见信用评分就是最终以这种形式呈现,例如:

  1. 芝麻分的分值范围为350~950,分值越高代表信用越好,相应违约率相对较低,较高的芝麻分可以帮助用户获得更高效、更优质的服务。

  2. FICO分的分值范围为300~850,分数越高, 说明客户的信用风险越小。

但我们可能并不清楚这些问题:分数校准的概念是什么?为什么要做分数校准?分数校准的原理是什么?如何做分数校准?在哪些场景里需要做分数校准?

我们选择对分数进行缩放,使得总分 600 分对应于 50 比 1 的好/坏赔率,而 20 分的增加对应于好/坏赔率的两倍。

  • 标度——标度的选择不影响记分卡的预测强度

  • “点数使赔率翻倍”(pdo = 20)

  • factor(因子) = pdo / ln(2)

  • Offset = Score — {Factor * ln(Odds)}

备注:不要死记硬背上述公式,否则容易引起错误。

odds

odds通常翻译为赔率,可定义为坏客户概率/好客户概率,也可以定义为好客户概率/坏客户概率,不同定义会影响到其它公式的正负号。

如果定义odds为坏客户概率/好客户概率,即p/(1-p), p为坏客户概率

odds>1,表示坏客户概率高于好客户概率

odds<1,表示坏客户概率低于好客户概率

odds=1,表示坏客户概率等于好客户概率

odds是评分卡的核心概率,其一发而动全身,下面截图是对odds和客户校准分数关系的推理过程

(图片来自:python信用评分卡建模(附代码)https://ke.qq.com/course/3063615?tuin=dcbf0ba

pdo

pdo为Points to Double the Odds的缩写,表示odds翻一倍时候,增加分数例如,如果赔率从 100:1 增加到 200:1,分数会改变多少分。PDO 的常见默认值为 20,因为它会产生人们倾向于喜欢的信用评分范围。

Po

Po中文释义为基本分数;刻度使得比率时分数

A值

A值为好会客户信用分临界点(offset),公式为:

P0 + B*np.log(theta0)

例如A值为6.718,当客户张三信用分score为10分时,大于A,表示好客户

当客户李四信用分score为5分时,小于A,表示坏客户

B值

B值为刻度因子(Factor)公式为:

PDO/np.log(2)

我们看看PDO,B值和score信用分三者之间关系

PDO越大,B值越大,score信用分跨度范围越大,例如350-950

PDO越小,B值越小,score信用分跨度范围越小,例如450-800

np.log

np是numpy缩写,np.log表示无理数e为底数的对数函数。无理数e=2.718。下面图片是用python绘制e为底数的对数函数可视化图片

(图片来自:python信用评分卡建模(附代码)https://ke.qq.com/course/3063615?tuin=dcbf0ba

我们再来看看odd与log(odds)关系:

odds>1,表示坏客户概率高于好客户概率0<log(odds)<1

odds<1,表示坏客户概率低于好客户概率对数情况:-1<LOG(odds)<0

odds=1,表示坏客户概率等于好客户概率对数情况:LOG(odds)=0

score

通过解释上述所有评分卡相关变量意义和评分卡尺度变换后,最后我们可以计算用户信用分数。ln(Odds)和Score之间是呈现线性关系。

score为该客户信用分数;校准分数,其公式为

A-B*np.log(odds)

为什么评分卡最终选择了逻辑回归?其中一个原因是,**逻辑回归本身具有良好的校准度,其输出概率与真实概率之间存在良好的一致性。**因此,我们也就可以直接把概率分数线形映射为整数分数。

Platt Scaling-其它机器学习算法分数校准

如果我们用机器学习模型(如XGBoost、随机森林等)来风控建模,又希望把概率对标到真实概率,那么我们就可以考虑Platt Scaling

Platt Scaling是一种将分类输出转换为概率分布的方法。例如:如果训练数据集中的因变量为 0 & 1,则使用此方法可以将其转换为概率。

如上图,蓝线更接近灰线,表明 Platt Scaling 实际上减少了 Log Loss 误差指标。这里要注意的最重要的一点是,使用 Platt Scaling 不会对其他指标(如准确性accuracy、AUC 等)产生明显影响。

记分卡的决定

以下是使用分数公式的一个计算分数结果

一般来说,截止分数会因一种贷款而异,也因贷方而异。有些贷款要求最低分数为 620,而有些贷款可能接受低于 620 的分数。因此,在获得截止分数后,我们就可以决定是否批准贷款。下面来自在线的记分卡示例可以更好地了解它的工作原理。


结论

总的来说,预测模型通过利用客户的历史数据、同行组数据和其他数据来预测该客户在未来的违约概率,从而从中学习。评分卡模型不仅可以识别“好”客户和“坏”客户,还可以预测好坏”客户的概率,给与类似FICO350-850的信用评分。有了评分卡预测的违约概率和信用分数,以及其他业务线考虑因素,如预期批准率、利润、流失和损失,业务线(如商品贷,汽车贷,现金贷)可以决策是否发放贷款给用户。


难点

评分卡难点包含如何决定cutoff,评分卡公式理解。之前很多学生反馈评分卡校准分数公式难以理解,其实这是由其本身难度决定。

评分卡公式包含A,B,po,pdo,赔率odds,对数函数ln,无理数e,逻辑回归算法等诸多概念,横跨数学,统计学,机器学习算法等领域。

要深入理解评分卡校准分数公式,需要不断理解每个指标意义,练习测试计算。光听我的课程还不够的,熟能生巧,一边听,还要一边看,这样才能深入理解上述概念。


版权声明:文章来自公众号(python风控模型),未经许可,不得抄袭。遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

信用评分-(scorecard)记分卡开发流程和分数校准原理calibration就为大家介绍到这里了,欢迎各位同学报名<python金融风控评分卡模型和数据分析微专业课>,通过教学视频更好理解上述概念和学习更多相关知识

信用评分-(scorecard)记分卡开发流程,详细介绍分数校准原理calibration相关推荐

  1. 【待继续研究】解析信用评分模型的开发流程及检验标准(晕乎乎,看不懂~)

    评分模型的检验方法和标准通常有:K-S指标.交换曲线.AR值.Gini数等.例如,K-S指标是用来衡量验证结果是否优于期望值,具体标准为:如果K-S大于40%,模型具有较好的预测功能,发展的模型具有成 ...

  2. 网站设计网站开发流程详细介绍

    原文地址:http://www.webjx.com/webmanage/experience-2857.html 第一步:客户提出需求 客户通过电话.电子邮件或在线订单方式提出自己网站建设方面的&qu ...

  3. 图像视频信息库改直播服务器,短视频直播系统,开发流程详细解析

    原标题:短视频直播系统,开发流程详细解析 短视频直播系统的开发也分Android端和iOS端,不同端口对应不同的开发方式,使用不同的开发协议,与直播系统的开发流程相同,也是分五个步骤,今天就给大家详细 ...

  4. 信用评分卡模型开发中双峰分布原因及解决方案

    信用评分卡模型开发中双峰分布原因及解决方案   文: 郑旻圻 邹钰 刘巧莉 转自:  数信互融 在信用评分卡模型开发过程中,正态性是检验模型信用评分分布是否有效的一个重要指标.正常情况下,标准的正态分 ...

  5. AES128加解密流程详细介绍

    AES128加解密流程详细介绍 公司想要对嵌入式设备里的文本进行加密,只能用AES128试试,经过一上午的了解,整理了下流程. 参考文章: AES加密 https://zhuanlan.zhihu.c ...

  6. 信用评分卡模型开发及评估指标

    版权声明:本文为博主原创文章,未经博主允许不得转载. 一.信用风险评级模型的类型 信用风险计量体系包括主体评级模型和债项评级两部分.主体评级和债项评级均有一系列评级模型组成,其中主体评级模型可用&qu ...

  7. 微信小程序制作流程详细介绍

    随着小程序时代的到来,微信小程序的需求量越来越大,无论是在生活上,还是工作上,绝大多数人都使用过微信小程序,小程序的覆盖人群范围还是比较广泛的,所以很多企业都会想着制作一个微信小程序,不仅能实现商业价 ...

  8. HTML页面加载和解析流程详细介绍

    浏览器加载和渲染html的顺序.如何加快HTML页面加载速度.HTML页面加载和解析流程等等,在本文将为大家详细介绍下,感兴趣的朋友不要错过 浏览器加载和渲染html的顺序 1. IE下载的顺序是从上 ...

  9. 百度移动联盟(munion)-广告平台投放流程详细介绍 (绿色通道)

    1. 百度平台官网介绍: http://hi.baidu.com/mobads/blog/ ... 1c7fc3bc3e1e2e.html 2.  AdView 官网介绍: 为开发者提供"A ...

  10. iOS开发 UILabel 详细介绍(属性+富文本)

    UILabel是iOS开发中最常用的一种标签了,在开发过程中,会用到各种个样的标签属性,一段文字中变颜色或者字体的样式等(这些都是富文本中的内容,用于美化文字),下面就让我来给大家做一个详细的UILa ...

最新文章

  1. LeetCode OJ Basic Calculator II
  2. 数据库性能优化—分库分表
  3. Mac下升级python2.7到python3.6,删除2.7,或者不删除2.7都行
  4. android make 编译器,Android make 基础
  5. oracle列传行函数,oracle行转列和列转行(pivot 和 unpivot 函数,wm_concat函数 )
  6. 力扣——所有可能的路径
  7. C-Sharp网络编程案例解析(Socket类的使用)
  8. mysql 5.6的安装
  9. 深入理解LSTM神经网络
  10. C语言中的运算符大全(内附优先级表)
  11. Android必知App 常用图标尺寸规范汇总
  12. Spring Cloud之路---1.注册中心eureka与服务提供者
  13. Ccharles 爬取微信公众号和小程序
  14. java 识别图片中的二维码内容识别
  15. 低电平有效的三种表示方法
  16. 物联网应用开发实践案例-智能家居
  17. 地球子午圈和卯酉圈曲率半径计算公式
  18. CPA十二--我国外币会计报表折算(转载)
  19. 正则-完美的身份证以及真实姓名
  20. 批量给多个 PPT 幻灯片文件加上统一的文字水印或图片水印

热门文章

  1. 【MyBatis】bind标签
  2. Unity 后处理 性能优化
  3. Java中System.getProperty()的作用及使用
  4. 阿里巴巴Java开发文档2020版学习-常量定义
  5. 网络编程与分层协议设计:基于linux平台实现,网络编程与分层协议设计基于Linux平台实现[按需印刷]...
  6. mysql从字段取出地名_mysql中从字段中URL提取域名信息
  7. scrapy命令介绍
  8. 云智慧悄然“变身”业务运维,到底发生了什么?
  9. NotifyIcon实现托盘程序
  10. C++对象数组的实例学习