离散变量处理方式
上一篇推文中简单提到了离散变量的处理方式,和同学交流了一波,感觉这几种处理方式还蛮有意思的,总结一波!
1 离散变量处理方法概览
2 什么是woe?
- WOE的全称是“Weight of Evidence”,即证据权重。WOE是对原始自变量的一种编码形式。
- 对一个变量进行WOE编码,首先需要把这个变量进行分组处理(也叫离散化、分箱等)。分组后,对每一组进行woe的计算,得到的结果即该组的取值。
- 如何计算呢?公式如下,简单来说就是:ln(a/b),其中 a = 该组内y=1的样本量/所有y=1的样本量, b = 该组内y=0的样本量/所有y=0的样本量。即WOE表示的实际上是:
“当前分组中响应客户占所有响应客户的比例”和“当前分组中没有响应的客户占所有没有响应的客户的比例”的差异。
- 公式变形:下面公式的等价变换就表明woe的另一个含义:
当前这个组中响应的客户和未响应客户的比值,和所有样本中这个比值的差异。
- 正负判断:WOE的正负,由当前分组响应和未响应的比例,与样本整体响应和未响应的比例的大小关系决定。当前分组的比例小于样本整体比例时,WOE为负,当前分组的比例大于整体比例时,WOE为正,当前分组的比例和整体比例相等时,WOE为0。
3 什么是iv?
3.1 计算公式
- 同WOE一样的分组,对于每一个分组分别计算iv,然后再累加求和得到该变量的iv值。
- 分组计算iv的公式和woe紧密相连,公式如下:可以看到就是:
(woe中ln的分子 - woe中ln的分母)* woe
3.2 含义解释
- IV的全称是Information Value,中文意思是信息价值,或者信息量。
- IV可以衡量自变量的预测能力,即变量重要性!IV越大,变量越重要。
3.3 例题
具体例题可以参考博文:例题实现IV和WOE
4 补充
4.1 为什么不直接用woe了,还非要引入IV?
- 防止样本不平衡问题!
- IV多了一个权重,可以有效防止样本不平衡问题。
4.2 极端情况怎么办?
室友提了一个很好地问题,如果有一个类别中y=1或者y=0的样本量为0咋办?其实也就是ln中分子或者分母为0,这时候可以从以下三个角度去考虑:
- 作为规则。如果可能,直接把这个分组做成一个规则,作为模型的前置条件或补充条件;
- 重新离散化处理。使每个分组的响应比例都不为0且不为100%,尤其是当一个分组个体数很小时(比如小于100个),强烈建议这样做,因为本身把一个分组个体数弄得很小就不是太合理。
- 手动调整0变为1。如果上面两种方法都无法使用,建议人工把该分组的响应数和非响应的数量进行一定的调整。如果响应数原本为0,可以人工调整响应数为1,如果非响应数原本为0,可以人工调整非响应数为1。
4.3 y是不是只能0或者1?
目前来看是的,如果多类是否可以手动变成2类?