woe分析_信用评分模型中WOE、IV详解
IV(informaiton Value)
IV的概念
IV全程是informaiton Value,中文意思是信息价值,或者信息量。
在逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。比如我们有200个候选自变量,通常情况下,不会直接把2000个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变量中挑选一些出来,放进模型,形成入模变量列表,那么如何挑选入模变呢?
挑选入模变量要考虑很多的因素,如“变量的预测能力,变量之间的相关性,变量的简单性(容易生成和使用),变量的强壮性(不容易被绕过),变量在业务上的可解释性等”,但其中最主要和直接的衡量标准是变量的预测能力
IV这一指标就是用来衡量自变量的预测能力(衡量自变量对目标变量影响程度的指标),类似的指标还有信息增益、基尼系数等
IV的直观理解
假设在一个分类问题中,目标变量的类别有两类:Y1,Y2。对于一个待预测的个体A,要判断A属于Y1还是Y2,需要一定的信息,假定信息总量是I,而这些信息蕴含在自变量C1,C2,C3...,Cn中,那么对于其中的一个变量Ci来说,其蕴含的信息越多,那么它对于判断A属于Y1还是Y2的贡献就越大,Ci的信息价值就越大,Ci的IV就越大,它就越应该进入到入模变量
IV的计算
要继续IV的值,首先需要知道WOE
WOE的公式
同样,对于分组i,也会有一个对应的iv值,计算公式如下
有了一个变量各分组的iv值,我们就可以计算整个变量的iv值,方法很简单,就是把各分组的IV相加:
其中,n为变量分组个数(即分箱后有多少组)
WOE(Weight of Evidence)
WOE的全称是“Weight of Evidence”,及证据权重,WOE是对原始自变量的一种编码形式
要对一个变量进行WOE编码,需要首先对这个变量进行 分组处理(也叫离散化、分箱等)分组后,对于第i组,WOE的计算公式如下
其中
: 这组中响应客户(风险模型中,对应的是违约客户,总之,指的是模型中预测变量取值为“是”或者1的个体)占所有样本中所有响应客户的比例
: 这组中未响应客户占样本中所有未响应客户的比例
#
: 这个组中响应客户的数量
#
: 这个组中未响应客户的数量
#
: 是样本中所有响应的数量
#
: 样本中所有未响应的数量
从上述公式中看出,WOE表示的实际上是“ 当前分组中响应客户占所有响应客户的比例”和“ 当前分组中没有响应的客户占所有没有响应的客户的比例”的差异
将公式进行变换
可以看出,WOE可以这么理解,当前 这个组中响应的客户和未响应的比值,和所 有样本中这个比值的差异。将这两个比值在做比值,再取对数来表示。WOE越大,这种差异越大,这个分组里的样本响应的可能性就越大,WOE越小,差异越小
实例介绍IV的计算和使用
假设构建一个预测模型,该模型为了预测公司的每个客户对于某项营销活动能够响应,或者说要预测的是客户对我们这项营销活动响应的可能性有多大,假设已经从公司客户列表中随机抽取了100000个客户进行营销活动测试,收集了这些客户的响应结果,作为我们的建模数据集,其中响应的客户有10000各,提取部分的变量作为模型的候选变量集:
a、最近一个月是否有购买
b、最近一次购买金额
c、最近一笔购买的商品类别
d、是否是公司的VIP客户
假设,对变量进行了离散化(分箱),统计结果如下
(1)最近一个月是否有过购买:
(2)最近一次购买金额:
(3)最近一笔购买的商品类别:
(4)是否是公司VIP客户:
计算WOE和IV
以其中一个变量“最近一次购买金额”变量为例
计算WOE
将这个变量离散化为4各阶段 <100元,[100,200],[200,500],>=500元,根据公司计算WOE值
计算IV
计算变量总的IV值
WOE值和IV值的特点
WOE值特点
a、当前分组中,响应的比例越大,WOE值越大
b、当前分组WOE的正负,由当前分组响应和未响应的比例,与样本整体响应和未响应的比例的大小关系决定
当前分组的比例小于样本整体比例时,WOE为负数
当前分组的比例大于整体比例时,WOE为正
当前分组的比例和整体比例相等时,WOE为0
c、WOE的取值范围是全体实数
进一步理解下WOE,会发现,WOE其实描述了变量当前这个分组,对判断个体是否影响(或者说属于哪个类)所起到影响方向和大小,当WOE为正时,变量当前取值对判断个体是否会响应起到正向影响,当WOE为负时,起到了负向影响,而WOE值的大小,则是这个影响的大小的体现。
IV的特点
a、对于变量的一个分组,这个分组的响应和未响应比例与样本整体响应和未响应的比例相差越大,IV值越大,否则,IV值越小
b、极端情况下,当前分组的响应变量和未响应的比例和样本整体的响应和未响应的比例相等时,IV值为0
c、IV的取值范围是[0,+ ∞ ],当前分组中只包含响应客户或者为响应客户时,IV = + ∞
IV值的比较和变量预测能力的排序
已经计算出其中一个了,其他的也类似,结果如下
a、最近一个月是否有过购买:0.250224725
b、最近一笔购买的商品类别:0.615275563
c、是否是公司VIP客户:1.56550367
d、 最近一次购买金额的IV为0.49270645
这四各变量IV排序结果是这样的:是否是公司VIP客户 > 最近一笔购买的商品类别 > 最近一次购买金额 > 最近一个月是否有过购买,所以得出结论:“是否是公司的VIP客户”的预测能力最高的变量,“最近一个月是否有过购买”是预测能力最低的变量。
关于IV和WOE的进一步思考
为什么用IV而不是直接用WOE
(1)
从公式上看IV和WOE的差别在于IV在WOE基础上乘以的那个,我们暂且用pyn来代表这个值。
第一个原因,当我们衡量一个变量的预测能力时,我们所使用的指标值不应该是负数,否则,说一个变量的预测能力的指标是-2.3,听起来很别扭。从这个角度讲,乘以pyn这个系数,保证了变量每个分组的结果都是非负数,你可以验证一下,当一个分组的WOE是正数时,pyn也是正数,当一个分组的WOE是负数时,pyn也是负数,而当一个分组的WOE=0时,pyn也是0
(2)
乘以pyn后,体现出了变量当前分组中个体的数量占整体个体数量的比例,对变量预测能力的影响。怎么理解呢?继续看举例
假设我们上面所说的营销响应模型中,还有一个变量A,其取值只有两个:0,1,数据如下:
我们从上表可以看出,当变量A取值1时,其响应比例达到了90%,非常的高,但是我们能否说变量A的预测能力非常强呢?不能。为什么呢?原因就在于,A取1时,响应比例虽然很高,但这个分组的客户数太少了,占的比例太低了。虽然,如果一个客户在A这个变量上取1,那他有90%的响应可能性,但是一个客户变量A取1的可能性本身就非常的低。所以,对于样本整体来说,变量的预测能力并没有那么强。我们分别看一下变量各分组和整体的WOE,IV。
从这个表我们可以看到,变量取1时,响应比达到90%,对应的WOE很高,但对应的IV却很低,原因就在于IV在WOE的前面乘以了一个系数,而这个系数很好的考虑了这个分组中样本占整体样本的比例,比例越低,这个分组对变量整体预测能力的贡献越低。相反,如果直接用WOE的绝对值加和,会得到一个很高的指标,这是不合理的。
IV的极端情况以及处理方式
IV依赖WOE,并且IV是一个很好的衡量自变量对目标变量影响程度的指标。但是,使用过程中应该注意一个问题:变量的任何分组中,不应该出现响应数=0或非响应数=0的情况。
原因很简单,当变量一个分组中,响应数=0时,
此时对应的IVi为+∞。
而当变量一个分组中,没有响应的数量 = 0时,
此时的IVi为+∞。
IVi无论等于负无穷还是正无穷,都是没有意义的。
由上述问题我们可以看到,使用IV其实有一个缺点,就是不能自动处理变量的分组中出现响应比例为0或100%的情况。那么,遇到响应比例为0或者100%的情况,我们应该怎么做呢?建议如下:
(1)如果可能,直接把这个分组做成一个规则,作为模型的前置条件或补充条件;
(2)重新对变量进行离散化或分组,使每个分组的响应比例都不为0且不为100%,尤其是当一个分组个体数很小时(比如小于100个),强烈建议这样做,因为本身把一个分组个体数弄得很小就不是太合理。
(3)如果上面两种方法都无法使用,建议人工把该分组的响应数和非响应的数量进行一定的调整。如果响应数原本为0,可以人工调整响应数为1,如果非响应数原本为0,可以人工调整非响应数为1.
woe分析_信用评分模型中WOE、IV详解相关推荐
- 信用评分模型中的滚动率分析
信用评分模型中的滚动率分析 信用风险模型的目标是识别出应被拒之门外的潜在坏客户,因此给出合理的客户好坏分类是建模的基础.比如,信用卡逾期的"坏客户",究竟应该是所有逾期过的客户,还 ...
- rust的矿坑_转: Rust中的Pin详解 【Rust语言中文社区】
Rust中的Pin详解 原创 automanyang Rust语言中文社区 昨天 https://mp.weixin.qq.com/s/PjctbPbyR5OeaqTHZdB5uQ 相关概念 Pin ...
- mysql slowlog中querytime分析_技术分享 | Slow Query Log 使用详解
作者:宓祥康 爱可生交付服务部团队 DBA 擅长日志分析.问题排查等:主要负责处理 MySQL 与我司自研数据库自动化管理平台 DMP 的日常运维问题,对数据库及周边技术有浓厚的学习兴趣. 本文来源: ...
- 滴滴派单算法_从算法模型思路到评估方案 - 详解
导读:说到滴滴的派单算法,大家可能感觉到既神秘又好奇,从出租车扬召到司机在滴滴平台抢单最后到平台派单,大家今天的出行体验已经发生了翻天覆地的变化,面对着每天数千万的呼叫,滴滴的派单算法一直在持续努力让 ...
- java classpath 目录_关于JAVA项目中CLASSPATH路径详解
在dos下编译java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候.classpath就是存放.class等编译后文件的路径. javac:如果当前你要编译的java文件中 ...
- woe分析_评分卡模型剖析之一(woe、IV、ROC、信息熵)
评分卡模型剖析之一(woe.IV.ROC.信息熵) 信用评分卡模型在国外是一种成熟的预测方法,尤其在信用风险评估以及金融风险控制领域更是得到了比较广泛的使用,其原理是将模型变量WOE编码方式离散化之后 ...
- 天云大数据_【案例分享】天云大数据最佳实践系列之——信用评分模型
本文为天云大数据原创 大数据能力特有的性质,使其正在成为大型银行真正的核心竞争力.银行大数据能力表现在多方面,但大数据思维和数据挖掘能力是最关键.也是最重要的.天云大数据自成立以来,一直深耕于金融领域 ...
- 互联网征信中的信用评分模型(转)
摘要:面向小微商户以及个人消费的小微信贷是当前互联网金融的重要发展方向,并且正在经历爆发式增长.在这个增长过程中,如何在没有实物抵押的情况下,通过互联网大数据分析实现快速准确征信是一个非常重要的问题. ...
- 【待继续研究】解析信用评分模型的开发流程及检验标准(晕乎乎,看不懂~)
评分模型的检验方法和标准通常有:K-S指标.交换曲线.AR值.Gini数等.例如,K-S指标是用来衡量验证结果是否优于期望值,具体标准为:如果K-S大于40%,模型具有较好的预测功能,发展的模型具有成 ...
最新文章
- 自定义windows下自动清除文件夹或者文件的只读属性的脚本
- Python学习之路基础篇--10Python基础,函数进阶
- GitLab成立中国合资公司极狐,强调“独立运营”
- PHP中文件操作基础:文件路径基础
- python graphql query返回一组字典数据_Python的sqlalchemy使用原生sql查询如何返回字典形式的数组?...
- oracle切换sqlserver,ORACLE语法转换成sqlserver,该如何解决
- Cookie、Session、Token、JWT分别是什么(二)
- 23号(一段很好的视频)
- 毕业设计 - 基于JAVA人脸识别管理系统(人脸搜索与人脸库管理)
- 悬置线高通滤波器设计
- 手机h5像素_移动端H5页面的设计稿尺寸大小规范
- VS Code 必须要安装的插件(超详细)
- linux添加163邮箱,centos 7 mailx配置163邮箱发送邮件
- python爬虫--爬取链家租房信息
- 阿里P8耗时3年,总结的Java面试复盘手册,带你挑战50万年薪
- 真正手把手教你玩转Git
- xp桌面计算机在哪个文件夹,windows桌面文件路径 windows xp 桌面文件默认存放路径...
- Java MD5加密工具
- 可扩展面向对象的canvas画图程序
- ArcMap中属性字段计算器(Field Calculator)的使用技巧
热门文章
- 自己的一项发明专利已获国家知识产权局授权,另外在数据挖掘、海量数据处理领域的两项发明专利已启动申报
- 全网最具深度的三次握手、四次挥手讲解,知乎上已获万赞
- JAVA基于Netty实现内网穿透功能【设计实践】
- 如何在word中输入分数
- 一文彻底解决C++中的重载、重写和隐藏操作
- Instagram怎么加入产品链接?
- 浅谈数商云S2B2C商城系统业务一体化管理功能在医疗器械行业的应用
- 抖音最重要的四个知识点
- C/C++音视频开发技术要点与学习路线
- 0557-6.1.0-Kerberos环境下SQL客户端DBeaver配置异常分析