在逻辑回归中用 WoE(证据权重)替换变量

机器算法验证 回归 物流 分类数据 造型
2022-02-11 02:49:59

这是关于我的一些同事所遵循的实践或方法的问题。在制作逻辑回归模型时,我看到人们用各自的证据权重 (WoE) 替换分类变量(或分箱的连续变量)。据说这样做是为了在回归变量和因变量之间建立单调关系。现在据我了解,一旦建立模型,方程中的变量就不是数据集中的变量。相反,方程中的变量现在是分离因变量时变量的重要性或权重

我的问题是:我们现在如何解释模型或模型系数?例如对于以下等式:

log(p1p)=β0+β1x1

我们可以说exp(β1)变量增加 1 个单位时奇数比的相对增加 x1.

但是如果变量被它的 WoE 取代,那么解释将被更改为:变量的重要性/权重增加 1 个单位的奇数比的相对增加

我在互联网上看到过这种做法,但我没有找到这个问题的答案。该社区本身的此链接与某人写道的类似查询有关:

WoE 与作为逻辑回归中的因变量的优势比的自然对数呈线性关系。因此,当我们使用 WoE 而不是变量的实际值时,逻辑回归中不会出现模型错误指定的问题。

但我仍然没有得到解释。请帮助我了解我所缺少的。

3个回答

WoE 方法包括两个步骤:

  1. 将(连续)变量拆分为几个类别或将(离散)变量分组为几个类别(在这两种情况下,您都假设一个类别中的所有观察结果对因变量具有“相同”的影响)
  2. 计算每个类别的 WoE 值(然后将原始 x 值替换为 WoE 值)

WoE 转型具有(至少)三个积极影响:

  1. 它可以转换一个自变量,使其与因变量建立单调关系。实际上,它的作用不止于此——为了确保单调关系,将其“重新编码”为任何有序度量(例如 1、2、3、4 ......)就足够了,但 WoE 转换实际上对“逻辑”上的类别进行排序" 对逻辑回归来说很自然的尺度

  2. 对于离散值过多(人口稀少)的变量,可以将这些变量分组(人口密集),并且可以使用 WoE 来表达整个类别的信息

  3. 每个类别对因变量的(单变量)影响可以简单地跨类别和跨变量进行比较,因为 WoE 是标准化值(例如,您可以将已婚人士的 WoE 与体力劳动者的 WoE 进行比较)

它也有(至少)三个缺点:

  1. 由于分箱到少数类别而导致信息丢失(变化)

  2. 它是一种“单变量”度量,因此它不考虑自变量之间的相关性

  3. 根据类别的创建方式很容易操纵(过拟合)变量的影响

传统上,回归的贝塔(其中 x 已被 WoE 取代)本身不会被解释,而是它们与 WoE 相乘以获得“分数”(例如,变量“婚姻状况”的贝塔可以乘以 WoE “已婚人士”组查看已婚人士的得分;变量“职业”的beta可以乘以“体力劳动者”的WoE来查看体力劳动者的得分。那么如果您对已婚体力劳动者的得分感兴趣,你总结这两个分数,看看对结果的影响有多大)。分数越高,结果等于 1 的概率就越大。

在逻辑回归中使用 WOE 的理由是生成有时称为半朴素贝叶斯分类器 (SNBC) 的东西。这篇博文的开头很好地解释了事情:http: //multithreaded.stitchfix.com/blog/2015/08/13/weight-of-evidence/

模型中的 beta 参数是由于其他预测变量的存在而导致的每个朴素效应(也称为证据权重)的线性偏差,它们可以解释为特定预测变量的对数几率的线性变化,因为存在其他预测因素。

证据权重 (WoE) 是执行变量转换和选择的强大技术。它在信用评分中被广泛用于衡量好客户与坏客户的分离。(变量)。优点 :: - 处理缺失值处理异常值,转换基于分布的对数值。通过使用适当的分箱技术不需要虚拟变量,它可以建立独立和依赖的单调关系。

mono_bin() = 用于数值变量。char_bin() = 用于字符变量。