【风控指标】 特征筛选指标WOE与IV

WOE和IV的应用价值

WOE(Weight of Evidence)叫做证据权重,WOE在业务中常有哪些应用呢?

  1. 处理缺失值:当数据源没有100%覆盖时,那就会存在缺失值,此时可以把null单独作为一个分箱.这点在分数据源建模时非常有用,可以有效将覆盖率哪怕只有20%的数据源利用起来.
  2. 处理异常值:当数据中存在离群点时,可以把其通过分箱离散化处理,从而提高变量的鲁棒性(抗干扰能力).例如,age若出现200这种异常值,可分入"age > 60"这个分箱里,排除影响.
  3. 业务解释性:习惯于线性判断变量的作用,当x越来越大,y就越来越大.但实际x与y之间经常存在着非线性关系,此时可经过WOE变换.

IV(Information Value)是与WOE密切相关的一个指标,常用来评估变量的预测能力.因而可用来快速筛选变量.在应用实践中,其评价标准如下:

LV范围 预测效果 英文描述
<0.02 几乎没有 Useless for prediction
0.02~0.1 Weak predictor
0.1~0.3 中等 Medium predictor
0.3~0.5 Strong predictor
>0.5 难以置信,需确认 Suspicious or too good to be true

WOE和IV的计算步骤

在定性认识到WOE和IV的应用价值后,从理性角度进行分析.通常其公式定义如下:

\[ WOE_i = ln(\frac{Bad_i}{Bad_T} / \frac{Good_i}{Good_T}) = ln(\frac{Bad_i}{Bad_T}) - ln(\frac{Good_i}{Good_T}) \]

而IV的计算公式定义如下,其可认为是WOE的加权和.

\[ \begin{aligned} IV_i &= (\frac{Bad_i}{Bad_T} - \frac{Good_i}{Good_T}) * WOE_i \\ &= (\frac{Bad_i}{Bad_T} - \frac{Good_i}{Good_T}) *ln(\frac{Bad_i}{Bad_T} / \frac{Good_i}{Good_T})\\ IV &= \sum_{i=1}^{n}{IV_i} \end{aligned} \]

现以具体数据介绍WOE和IV的计算步骤

  1. 对于连续型变量,进行分箱(binning),可以选择等频、等距,或者自定义间隔;对于离散型变量,如果分箱太多,则进行分箱合并.
  2. 统计每个分箱里的好人数(bin_goods)和坏人数(bin_bads).
  3. 分别除以总的好人数(total_goods)和坏人数(total_bads),得到每个分箱内的边际好人占比(margin_good_rate)和边际坏人占比(margin_bad_rate).
  4. 计算每个分箱里的 \(WOE=\ln(\frac{margin\_badrate}{margin\_goodrate})\)
  5. 检查每个分箱(除null分箱外)里woe值是否满足单调性,若不满足,返回step1. > 注意 : null分箱由于有明确的业务解释,因此不需要考虑满足单调性.
  6. 计算每个分箱里的IV,最终求和,即得到最终的IV.

备注: 好人 = 正常用户,坏人 = 逾期用户

操作时注意:

  1. 分箱时需要注意样本量充足,保证统计意义.
  2. 若相邻分箱的WOE值相同,则将其合并为一个分箱.
  3. 当一个分箱内只有好人或坏人时,可对WOE公式进行修正如下: \[ WOE_i = \ln((\frac{Bad_i + 0.5}{Good_i + 0.5}) / (\frac{Bad_T}{Good_T})) \]

在实践中,还需跨数据集检验WOE分箱的单调性.如果在训练集上保持单调,但在验证集和测试集上发生翻转而不单调,那么说明分箱并不合理,需要再次调整.

WOE定义的初步猜想

为了搞清楚为什么WOE公式是如此定义的,尝试对其进行各种变换.

\[ WOE_i = ln(\frac{Bad_i}{Bad_T} / \frac{Good_i}{Good_T}) = ln(\frac{Bad_i}{Bad_T}) - ln(\frac{Good_i}{Good_T}) \]

此时可以理解为:每个分箱里的坏人分布相对于好人分布之间的差异性.

对公式再变换为:

\[ WOE_i = ln(\frac{Bad_i}{Bad_T} / \frac{Good_i}{Good_T}) = ln(\frac{Bad_i}{Good_i}) - ln(\frac{Bad_T}{Good_T}) \]

此时可以理解为:每个分箱里的坏好比(Odds)相对于总体的坏好比之间的差异性.

但是,为什么要再套一个对数ln?

之前看到一种解释是为了进行平滑处理.那么为什么不引入拉普拉斯平滑,也就是在分子分母中都加上一个数?如果加上1,那么公式推导如下:

\[ \begin{aligned} &(\frac{Bad_i}{Good_i} + 1) / (\frac{Bad_T}{Good_T} + 1) \\ =& (\frac{Bad_i + Good_i}{Good_i}) / (\frac{Bad_T + Good_T}{Good_T}) \\ =& Good\_Rate_T / Good\_Rate_i \end{aligned} \]

此时含义是:总体good_rate相对于分箱内good_rate的倍数.

其实发现这种形式会更符合直觉.因此,"取对数是为了平滑处理"-这种解释无法说服.

同时又会疑惑为什么不把WOE定义为:

\[ ln[(\frac{Bad_i}{Good_i} + 1) / (\frac{Bad_T}{Good_T} + 1)] = ln(Bad\_Rate_T / Bad\_Rate_i) \]

因此发现无法通过常规思维去理解这一切,于是开始去寻找新的工具.

从贝叶斯角度理解WOE

贝叶斯理论认为认知世界是一个循序渐进的过程,首先有一个主观的先验认知,进而不断通过观测数据来修正先验认知,得到后验认知.随着这个过程不断迭代,对世界的认识也就越来越完善.其中,从观测数据中提取信息来支撑的原始假设就是WOE.

在信贷风控中,识别好人和坏人也是同样的道理.根据历史样本数据形成一个先验认知:

\[ \begin{aligned} \left\{ \begin{aligned} P(Bad) = \frac{Bad_T}{Good_T + Bad_T} \\ P(Good) = \frac{Good_T}{Good_T + Bad_T} \\ \end{aligned} \right. \\ => Odds = \frac{P(Bad)}{P(Good)} = \frac{Bad_T}{Good_T} \end{aligned} \]

当Odds小于1时,预测为Good的概率更高,此时认为一般情况下都是好人.但实际中样本会受到各种因素(自变量)影响而导致变坏.

因此就开始搜集样本的各种特征,希望这些证据能帮助对这个样本全貌有更为全面的理解,进而修正先验认识.这个过程用公式可以表达如下.提示:留意两侧为什么会取自然对数ln,而不是log?

\[ \begin{aligned} \left\{ \begin{aligned} p(Y=Bad| X) &= \frac{p(X|Y=Bad)p(Y=Bad)}{P(X)} \\ p(Y=Good|X) &= \frac{p(X|Y=Good)p(Y=Good)}{P(X)} \\ \end{aligned} \right.\\ \Rightarrow \frac{p(Y=Bad|X)}{p(Y=Good|X)} = \frac{p(X|Y=Bad)p(Y=Bad)}{p(X|Y=Good)p(Y=Good)} \\ \Rightarrow ln(\frac{p(Y=Bad|X)}{p(Y=Good|X)}) = ln(\frac{p(X|Y=Bad)}{p(X|Y=Good)}) + ln( \frac{p(Y=Bad)}{p(Y=Good)}) \\ \Rightarrow ln(\frac{Bad}{Good}) = WOE + ln( \frac{Bad_T}{Good_T}) \\ \Rightarrow WOE = ln(\frac{Bad}{Good}) - ln( \frac{Bad_T}{Good_T}) \end{aligned} \]

其中

  • \(\ln(\frac{p(Y=Bad|X)}{p(Y=Good|X)})\) 表示后验项
  • \(\ln(\frac{p(X|Y=Bad)}{p(X|Y=Good)})\) 表示根据观测数据更新信息,即WOE
  • \(ln( \frac{p(Y=Bad)}{p(Y=Good)}\) 表示先验项.

如果搜集到的数据与先验认知的差距不大,就认为这个数据中得到的证据价值不大,反之则认为带来的信息越多.因此,WOE用以衡量对先验认识修正的增量,这就是WOE被取名为"证据权重"的原因.

WOE与评分卡模型的渊源

评分卡模型基于假设"历史样本和未来样本服从同一总体分布",故而才能从历史样本中归纳出数理统计规律来预测未来样本的表现.评分卡通常采用逻辑回归(Logistics Regression)进行建模,其原因有很多,比如可解释性、简单模型、小样本学习等等.

从"数据->信息->知识->决策"框架来解释完整的流程.

  1. 从不同信道里获取了观测数据(Data),并从中提取了特征X.
  2. 此时发现各渠道采集的信息并不在一个尺度上,无法融合.因此,通过WOE变换对信息进行处理,将其对标到统一尺度上.
  3. LR模型对不同信息采用不同权重(weight)进行加权融合,并通过sigmoid函数映射为0~1的概率.
  4. 基于LR模型的输出结果,人工进行决策,判定好人还是坏人.

初识WOE是在评分卡模型中,当时仍不懂它们之间的关系.可能会疑惑,WOE是在建立评分卡理论时应运而生,还是属于一种通用的信息变换方法?

为了简化处理,只考虑一个自变量 \(x\) ,那么评分卡模型的形式为:

\[ ln(\frac{p}{1-p}) = w \ast WOE(x) + b = w \ast [ln(\frac{Bad_i}{Good_i}) - ln( \frac{Bad_T}{Good_T})] + b \]

可以观察到WOE公式与LR左边部分是如此相似.回到贝叶斯角度解释WOE时留下的提示-两侧为什么会取自然对数ln,而不是log?

在评分卡模型中就得到了一种可能的解释,主要是为了适配于LR模型.

接下来解释WOE曲线需要保持单调性的意义.

首先,引入Odds(几率)概念:

\(Odds= \frac{P}{1-P}\) ,\(P\) 为预测为1的概率.Odds越大,代表预测为1的概率越高.

然后把相邻两个分箱的WOE值相减.

\[ \begin{aligned} \left\{ \begin{aligned} ln(Odds_1) = w \ast WOE_{bin1} + b = w[ln(\frac{Bad_1}{Good_1}) - ln(\frac{Bad_T}{Good_T})] + b, x \in bin_1 \\ ln(Odds_2) = w \ast WOE_{bin2} + b =w[ln(\frac{Bad_2}{Good_2}) - ln(\frac{Bad_T}{Good_T})] + b, x \in bin_2 \\ \end{aligned} \right. \\ \Rightarrow ln(Odds_2) - ln(Odds_1) = w * [WOE_{bin2} - WOE_{bin1}] = w[ln(\frac{Bad_2}{Good_2}) - ln(\frac{Bad_1}{Good_1})] \\ \Rightarrow w = \frac{ln(Odds_2) - ln(Odds_1)}{ln(\frac{Bad_2}{Good_2}) - ln(\frac{Bad_1}{Good_1})} \end{aligned} \]

在上述等式中,权重 \(w\) 可以认为是常数,因此会发现:

  • 分子和分母的变化趋势一致,当WOE单调递增时,分子中ln(odds)也是单调变化,由此P(Y=Bad)也是单调变化.
  • 当分母变化越大时,分子也会变化越大,宏观表现就是WOE曲线越陡.此时,好人与坏人的区分将会越明显.

为何如此构建IV

变量各分组的WOE和IV都隐含着这个分组对目标变量的预测能力这样的意义.那为什么不直接用WOE相加或者绝对值相加作为衡量一个变量整体预测能力的指标呢?

\[ WOE_{all} = \sum_{i}^n |WOE_i| \]

由此角度对其分析 \(\frac{Bad_i}{Bad_T} - \frac{Good_i}{Good_T} = pyn\)

  1. 首先衡量一个变量的预测能力时,所使用的指标值不应该是负数
    • \(pyn\) 保证了IV最终必定为非负数
  2. 最主要的是因为如此计算能够体现出了变量当前分组中个体的数量占整体个体数量的比例,对变量预测能力的影响.
图1: 分组个数对变量预测能力的影响

从相对熵角度理解IV

把PSI、IV的计算公式放在一起进行对比.

\[ \begin{aligned} IV = \sum_{i=1}^{n}(\frac{Bad_i}{Bad_T} - \frac{Good_i}{Good_T}) \ast ln(\frac{Bad_i}{Bad_T} / \frac{Good_i}{Good_T}) \\ PSI = \sum_{i=1}^{n}(\frac{Actual_i}{Actual_T} - \frac{Expect_i} {Expect_T}) \ast ln(\frac{Actual_i}{Actual_T} / \frac{Expect_i}{Expect_T}) \end{aligned} \]

发现两者形式上是完全一致的,这主要是因为它们背后的支撑理论都是相对熵.可以归纳为:

  1. PSI衡量预期分布和实际分布之间的差异性,IV把这两个分布具体化为好人分布和坏人分布.IV指标是在从信息熵上比较好人分布和坏人分布之间的差异性.
  2. PSI和IV在取值范围与业务含义的对应上也是存在统一性,只是应用场景不同-PSI用以判断变量稳定性,IV用以判断变量预测能力.

参考资料

本文转载自风控模型—WOE与IV指标的深入理解应用


【风控指标】 特征筛选指标WOE与IV
https://www.windism.cn/2553101037.html
作者
windism
发布于
2020年3月19日
许可协议