逻辑回归-关于WOE和IV的一些理解

218 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 5 天,点击查看活动详情

本文主要解决为什么WOE能用于逻辑回归建模

写到最后才发现出问题了 这里认为少数类为good,就是正类

理解WOE和IV

IV的定义公式

IV=i=1N(good%bad%)×WOEi\text{IV}=\sum\limits_{i=1}^{N}(good\%-bad\%)\times \text{WOE}_{i}

这里的ii是同一个特征下不同的分箱,good%表示该特征该分箱的样本中正类所占所有正类的比例,bad%同理

WOE的定义公式

WOE=ln(good%bad%)\text{WOE}=\ln \left(\frac{good\%}{bad\%}\right)

根据定义,我们可以得到WOE的取值范围是全体实数。 我们进一步理解一下WOE,会发现,WOE其实描述了变量当前这个分组,对判断个体是否属于正类所起到影响方向和大小。当WOE为正时,变量当前取值对判断个体是否为正类起到的正向的影响,当WOE为负时,起到了负向影响。而WOE值的大小,则是这个影响的大小的体现。

也就说,如果我们有一个新的样本,选中一个特征,该样本该特征上的取值对应分箱的WOE为正,那么我们就认为其属于正类的可能性更大,在上述条件下,WOE的值越大,那么其属于正类的可能性就进一步增大

实际上,这个我们可以从公式的角度理解

WOE=ln(good%bad%)=ln(goodGoodbadBad)=ln(goodbad)ln(GoodBad)\begin{aligned} WOE&=\ln \left(\frac{good\%}{bad\%}\right)\\ &=\ln \left(\frac{good}{Good} \cdot \frac{bad}{Bad}\right)\\ &=\ln \left(\frac{good}{bad}\right)-\ln \left(\frac{Good}{Bad}\right) \end{aligned}

good为这个分箱里正类样本的个数,Good为整个数据集中正类样本的个数。bad,Bad同理 对比贝叶斯公式

{P(Y=+X)=P(XY=+)P(Y=+)P(X)P(Y=X)=P(XY=)P(Y=)P(X)\begin{aligned} \left\{\begin{aligned}&P(Y=+|X)=\frac{P(X|Y=+)P(Y=+)}{P(X)}\\ &P(Y=-|X)=\frac{P(X|Y=-)P(Y=-)}{P(X)}\end{aligned}\right. \end{aligned}

Y=+Y=+表示样本为正类。Y=Y=-同理。将两式作比

P(Y=+X)P(Y=X)=P(XY=+)P(Y=+)P(XY=)P(Y=)ln(P(Y=+X)P(Y=X))=ln(P(XY=+)P(XY=))+ln(P(Y=+)P(Y=))ln(P(XY=+)P(XY=))=ln(P(Y=+X)P(Y=X))ln(P(Y=+)P(Y=))\begin{aligned} \frac{P(Y=+|X)}{P(Y=-|X)}&=\frac{P(X|Y=+)P(Y=+)}{P(X|Y=-)P(Y=-)}\\ \ln \left(\frac{P(Y=+|X)}{P(Y=-|X)}\right)&=\ln \left(\frac{P(X|Y=+)}{P(X|Y=-)}\right)+\ln \left(\frac{P(Y=+)}{P(Y=-)}\right)\\ \ln \left(\frac{P(X|Y=+)}{P(X|Y=-)}\right)&=\ln \left(\frac{P(Y=+|X)}{P(Y=-|X)}\right)-\ln \left(\frac{P(Y=+)}{P(Y=-)}\right) \end{aligned}

根据上面的推导,我们可以得到

WOE=ln(goodbad)ln(GoodBad)ln(P(XY=+)P(XY=))=ln(P(Y=+X)P(Y=X))ln(P(Y=+)P(Y=))\begin{aligned} WOE&=\ln \left(\frac{good}{bad}\right)-\ln \left(\frac{Good}{Bad}\right)\\ \ln \left(\frac{P(X|Y=+)}{P(X|Y=-)}\right)&=\ln \left(\frac{P(Y=+|X)}{P(Y=-|X)}\right)-\ln \left(\frac{P(Y=+)}{P(Y=-)}\right) \end{aligned}

仔细对比两式 对于WOE和ln(P(XY=+)P(XY=))\begin{aligned} \ln \left(\frac{P(X|Y=+)}{P(X|Y=-)}\right)\end{aligned},我们之前说过,WOE是在某个特征某个分箱下计算的,其实二者的意义是统一的。其他对应两部分也可以类似理解,意义都是统一的 对于 ln(P(Y=+)P(Y=))\begin{aligned} \ln \left(\frac{P(Y=+)}{P(Y=-)}\right)\end{aligned}可以称为先验项 ln(P(Y=+X)P(Y=X))\begin{aligned} \ln \left(\frac{P(Y=+|X)}{P(Y=-|X)}\right)\end{aligned}可以称为后验项 ln(P(XY=+)P(XY=))\begin{aligned} \ln \left(\frac{P(X|Y=+)}{P(X|Y=-)}\right)\end{aligned}表示根据观测数据更新信息,即WOE

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

为什么WOE能用于逻辑回归建模

对于逻辑回归,我们有

ln(P(y=1x)1P(y=1x))=θTx\ln \left(\frac{P(y=1|x)}{1-P(y=1|x)}\right)=\theta^{T}x

关注左面的式子,对于WOE

WOE=ln(goodbad)ln(GoodBad)WOE=\ln \left(\frac{good}{bad}\right)-\ln \left(\frac{Good}{Bad}\right)

WOE的第二项为常数,不需要关注。再结合上面说到的ln(P(Y=+X)P(Y=X))\begin{aligned} \ln \left(\frac{P(Y=+|X)}{P(Y=-|X)}\right)\end{aligned}对应ln(goodbad)\begin{aligned} \ln \left(\frac{good}{bad}\right)\end{aligned},也就说WOE和逻辑回归左式成正比 需要注意的是ln(P(y=1x)1P(y=1x))\begin{aligned} \ln \left(\frac{P(y=1|x)}{1-P(y=1|x)}\right)\end{aligned}ln(P(Y=+X)P(Y=X))\begin{aligned} \ln \left(\frac{P(Y=+|X)}{P(Y=-|X)}\right)\end{aligned}还是不一样的,后者是在分箱之后得到的,因此,如果对逻辑回归中的自变量按照分箱得到WOE,就可以同一二者,也就是

ln(P(y=1WOE(x))1P(y=1WOE(x)))=θTWOE(x)\ln \left(\frac{P(y=1|WOE(x))}{1-P(y=1|WOE(x))}\right)=\theta^{T} \cdot WOE(x)

其中WOE(x)WOE(x)就是按照分箱得到WOE的过程。前面我们有说到WOE值越大该样本为正类的可能性越大,虽然我们通过逻辑回归得到的ln(P(y=1WOE(x))1P(y=1WOE(x)))\begin{aligned} \ln \left(\frac{P(y=1|WOE(x))}{1-P(y=1|WOE(x))}\right)\end{aligned}不是严格意义上的WOE,但是之前说到WOE的第二项为常数,可以认为

WOEln(P(y=1WOE(x))1P(y=1WOE(x)))=θTWOE(x)WOE \propto \ln \left(\frac{P(y=1|WOE(x))}{1-P(y=1|WOE(x))}\right)=\theta^{T} \cdot WOE(x)

这里的WOE是指对于所有特征类似于WOE的一个值,他与WOE的性质相同,当值为正数时认为其为正类的可能性更大,数值越大,可能性进一步增大 这就解释了为什么WOE能用于建模

一般要求不同分箱的WOE值差距尽可能大 注意,我们对按照分箱顺序的排序的WOE值顺序没有要求

逻辑回归中系数尽量正数

之前我们有

ln(P(y=1WOE(x))1P(y=1WOE(x)))=θTWOE(x)\ln \left(\frac{P(y=1|WOE(x))}{1-P(y=1|WOE(x))}\right)=\theta^{T} \cdot WOE(x)

也就是说WOE本身就和ln(P(y=1WOE(x))1P(y=1WOE(x)))\begin{aligned} \ln \left(\frac{P(y=1|WOE(x))}{1-P(y=1|WOE(x))}\right)\end{aligned}成正比,所以系数应该是正的

之前的例子中弄反了,所以系数都是负的

为什么使用IV值选择特征,而不是WOE

链接:IV值和WOE一文搞定(附代码) - 知乎 (zhihu.com)(4.1、为什么用IV而不是直接用WOE)

参考 风控模型—WOE与IV指标的深入理解应用 - 知乎 (zhihu.com) IV值和WOE一文搞定(附代码) - 知乎 (zhihu.com) 机器学习-浅谈变量woe与dummy的关系-20170913 - 知乎 (zhihu.com) 机器学习-谈谈逻辑回归里面的woe化-20170911 - 知乎 (zhihu.com)