初识IV值、WOE

Python018

初识IV值、WOE,第1张

IV,即information value,中文含义为信息价值,或者说信息量

当现实中,我们进行建模时,不知道哪些自变量对模型有效,会构造几百个甚至上千个自变量,但这些自变量不会都放入模型进行训练,而是会使用一些方法,对自变量进行筛选后,再放入模型进行拟合训练。那么,如何挑选入模变量呢?

入模变量需要考虑的因素:

1、变量的预测能力

2、变量之间的相关性

3、变量的简单性

4、变量的稳健型

5、变量的可解释性

其中,以变量的预测能力为最主要和最直接的衡量标准。而IV值、信息增益、基尼系数等都能用来衡量自变量的预测能力。

IV值是在WOE的基础上计算得出的,我们先来说说WOE是个什么意思~

WOE,全称Weight of Evidence,即证据的权重,woe是对原始自变量的一种编码形式。

首先,需要对自变量进行分组(分bin、离散化等),对不同组别分别计算woe值,其中第i组,WOE的计算公式为:

WOEi=ln(Pyi/Pni)

Pyi为该分组中响应用户数占所有响应用户的比例,Pni为该分组中非响应用户数占所有非响应用户的比例,将公式稍微变形,可知:

WOE也可表示“当前分组中响应用户与非响应用户的比值,同整体样本中响应用户与非响应用户的比值差异“。那么WOE越大,这种差异就越大,这个分组中样本响应的可能性越大。

各分组的IV值可以由WOE计算得到,计算方式为:

该变量的IV值为各组内IV值汇总

其中n为组数

实例介绍: 见上方链接

若分组后,1组响应用户与非响应用户占比的确很显著,但1组用户数只占总用户数的1%,这样的变量其实对整体样本而言,是没有多大意义的,因为大部分的用户不会分到1组,该变量的预测能力并不强

使用IV其实有一个缺点,就是不能自动处理变量的分组中出现响应比例为0或100%的情况。那么,遇到响应比例为0或者100%的情况,我们应该怎么做呢?建议如下:

(1)如果可能,直接把这个分组做成一个规则,作为模型的前置条件或补充条件;

(2)重新对变量进行离散化或分组,使每个分组的响应比例都不为0且不为100%,尤其是当一个分组个体数很小时(比如小于100个),强烈建议这样做,因为本身把一个分组个体数弄得很小就不是太合理。

(3)如果上面两种方法都无法使用,建议人工把该分组的响应数和非响应的数量进行一定的调整。如果响应数原本为0,可以人工调整响应数为1,如果非响应数原本为0,可以人工调整非响应数为1.

学习自 https://www.jianshu.com/p/3a7cb26ca268

在机器学习的二分类问题中,IV值(Information Value)主要用来对输入变量进行编码和预测能力评估。特征变量IV值的大小即表示该变量预测能力的强弱。IV 值的取值范围是[0, 正无穷),如果当前分组中只包含响应客户或者未响应客户时,IV = 正无穷。量化指标含义如下:<0.02useless for prediction、0.02 to 0.1Weak predictor、0.1 to 0.3Medium predictor、0.3 to 0.5Strong predictor 、>0.5 Suspicious or too good to be true。

在介绍IV值的计算公式之前,先引入WOE的概念,因为IV值的计算是以WOE为基础的。

2.1 WOE

WOE的全称是“weight of evidence”,即证据权重。直观上讲,WOE是对原始变量的一种编码形式,要对一个变量进行WOE编码,首先需要把这个变量进行分组处理,即分箱或者离散化,常用离散化的方法有等宽分组,等高分组,或者利用决策树来分组。分组后,对于第 i 组,WOE的计算公式见下图。

WOE表示的含义即是"当前分组中响应客户占所有响应客户的比例"和"当前分组中没有响应的客户占所有没有响应客户的比例"的差异。

2.2 IV值计算公式

IV衡量的是某一个变量的信息量,从公式来看的话,相当于是自变量WOE值的一个加权求和,其值的大小决定了自变量对于目标变量的影响程度,对于分组 i ,其对应的IV值参考下图,其中n是分组个数,注意,在变量的任何分组中,不应该出现响应数为0或非响应数位0的情况,当变量的一个分组的响应数位0时,对应的woe就为负无穷,此时IV值为正无穷。如果可能,直接把这个分组做成一个规则,作为模型的前置条件或补充条件

计算了一个变量各个组的 IV 值之后,我们就可以计算整个变量的 IV 值:

在建模过程中,IV值主要用于特征选择,如果想要对变量的预测能力进行排序的话,可以按 IV 值从高到低筛选即可。

WOE 和 IV 都能表达某个分组对目标变量的预测能力。但实际中,我们通常选择 IV 而不是 WOE 的和来衡量变量预测的能力,这是为什么呢?首先,因为我们在衡量一个变量的预测能力时,我们所使用的指标值不应该是负数。从这意义上来说,IV 比 WOE 多乘以前面那个因子,就保证了它不会是负数;然后,乘以(Pyi−Pni)这个因子,体现出了变量当前分组中个体的数量占整体的比例,从而很好考虑了这个分组中样本占整体的比例,比例越低,这个分组对变量整体预测能力的贡献越低。相反,如果直接用 WOE 的绝对值加和,会因为该分组出现次数偏少的影响而得到一个很高的指标。

(a)  ucanalytics.com/blogs/information-value-and-weight-of-evidencebanking-case/

(b)  blog.sina.com.cn/s/blog_8813a3ae0102uyo3.html

(c)  pengshuang.space/2017/02/27/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98-%E8%AF%84%E5%88%86%E5%8D%A1%E6%A8%A1%E5%9E%8B/