停止责怪数据:处理协方差漂移的更好方法

不要使用偏移作为性能不佳的借口,而是使用逆概率加权来估计模型在新环境中的表现。停止指责数据:处理协方差偏移的更好方法首先出现在走向数据科学上。

来源:走向数据科学

尽管表格数据是行业数据科学的基础,但在分析模型性能时,数据变化常常被忽视。

我们都经历过这样的情况:您开发一个机器学习模型,在验证集上取得出色的结果,然后将其部署(或测试)在新的真实数据集上。突然,性能下降。

那么,问题出在哪里呢?

通常,我们将矛头指向协方差平移。新数据中的特征分布与训练数据不同。我们用它作为一张“出狱”卡:“数据发生了变化,所以性能自然会降低。这是数据的错,而不是模型的错。”

但是,如果我们停止使用协方差平移作为借口并开始将其用作工具呢?

我相信有更好的方法来处理这个问题并创建分析模型性能的“黄金标准”。即使我们脚下的地面发生变化,这种方法也能让我们准确地估计表现。

问题:比较苹果和橙子

让我们看一个医学界的简单例子。

想象一下,我们针对 40-89 岁的患者训练了一个模型。然而,在我们新的目标测试数据中,年龄范围更严格:50-80岁。

如果我们只是在测试数据上运行模型并将其与原始验证分数进行比较,我们就会误导自己。为了进行“同类比较”,优秀的数据科学家会返回验证集,筛选 50-80 岁的患者,并重新计算基线表现。

但是让我们变得更难

假设我们的测试数据集包含数百万条 50-80 岁的记录,以及一名 40 岁的患者。

  • 我们是否将结果与验证 40-80 范围进行比较?
  • 我们与 50-80 范围进行比较吗?
  • 解决方案:逆概率加权

  • 权重 = 1:标准分析。
  • 权重 = 0:排除记录(过滤)。
  • 权重是非负浮点数:对记录的影响进行下采样或上采样。
  • 直觉

    数学

    让我们将其形式化。我们需要定义两个概率:

    w (x) :=Pt (x) /Pv (x)

    w (x) :=Mp (x) / (1 –Mp (x))

    有效吗?