更多大数据分析、建模等内容请关注公众号《bigdatamodeling》
先简单回顾一下WOE的含义。假设x是类别变量或分箱处理过的连续变量,含R个类别或分段,取值为{C1, ..., Cr, ..., CR};y是目标变量,取值为0(Good)或1(Bad)。x和y的频数表如下:
1、概念回顾
先简单回顾一下WOE的含义。假设x是类别变量或分箱处理过的连续变量,含R个类别或分段,取值为{C1, ..., Cr, ..., CR};y是目标变量,取值为0(Good)或1(Bad)。x和y的频数表如下:
WOE的定义如下:
变量x第r类的WOE为:
WOE是变量x第r类中Bad与Good的比率与整个样本中Bad与Good的比率的比值的对数,其衡量第r类对Bad和Good的比率的影响程度。WOE等于0,表示该类别中Bad与Good的比率与整体样本中Bad与Good的比率相等,说明该类别完全没有区分度;WOE大于0,表示该类别中Bad与Good的比率大于整体样本中Bad与Good的比率;WOE小于0,表示该类别中Bad与Good的比率小于整体样本中Bad与Good的比率。
2、理论推导
那么,WOE为何这样计算?从上面的WOE定义可以发现,WOE编码是有监督方法,所以计算变量x的WOE可以看做用x拟合y的优化过程。将x的WOE写成,其中是二元虚拟变量,如果变量x取第r类,则,否则。
(1)定义如下模型:
(2)定义对数损失函数:
(3)整体样本上的损失为:
(4) 损失最小化,即令偏导=0:
因此,WOE是使损失最小化的编码方式,计算WOE就是一次单变量建模过程,得到的WOE值使损失最小,即信息损失最小。实际上,常数b的不同取值会产生不同的WOE编码值,但不影响WOE编码的效果。而令,会使WOE的含义更容易解释和理解。
另外,通过前述的推导可以看出,使用经过WOE编码后的单变量拟合逻辑回归模型将得到变量系数为1,截距项为b。
原文地址:https://www.cnblogs.com/bigdatafengkong/p/12045259.html