数据中的极值

机器算法验证 极值 增删改查
2022-03-23 08:08:45

我有一个非常笼统的统计问题。如果一个变量有一些极值,那么出于统计推断(例如 OLS 回归)的目的,最好检测这些极值并将它们从数据中删除。如果是,那么统计解释是什么?

3个回答

一个关键区别:错误测量还是极端事件?

极端值是由于极端事件还是错误?您通常希望包括前者但排除后者。你不希望你的结果被错误驱动。更一般地说,您不希望结果由与您尝试建模的内容无关的怪异、怪异行为驱动。

一些例子:

  • 在金融领域,排除像破产这样的极端事件将是一个可怕的错误。您真正关心的往往是极端观察(例如死亡、-100% 回报、崩溃)!
  • 另一方面,财务数据并不完美。您会发现小数点位置错误、100.00 被错误地记录为 10000 等情况......
  • 中间经常有一些模糊的东西...

一个关键的区别:左侧变量还是右侧变量?

以左侧变量的值为条件放弃观察往往是有问题的。它很容易被定性为研究不端行为,比如试图估计学校教育的影响,并在一些他们不知何故不计入的可疑论点下放弃所有低考试成绩。

根据上下文,转换右手边的变量是可以的。您使用什么来尝试预测或解释数据通常具有更大的灵活性。

一些可能有效的技术(取决于上下文):

例如,在会计数据中,您经常有几家公司具有奇异的极端数字,并且您希望对普通最小二乘回归进行合理的拟合,而不是少数异常值。要减少异常值的影响,您可以:

  1. 修剪数据(例如,将最极端的观察结果降低 1%)。如果异常值几乎可以肯定是完全错误的,这是最合理的。(例如,人类身高为 -2 英尺或 135 英尺的条目)。但是,通过修剪数据,您可能会出现严重错误。
  2. 可以说更好的是对数据进行winsorize:例如。用第 99 个百分位的值替换第 99 个百分位以上的值。
  3. 更复杂的异常检测系统,例如椭圆剥离:找到包围数据的最小体积椭圆,然后在边界上放置点。

稳健的方法:

还有其他类型的回归可能对极端异常值更稳健。

  1. 分位数回归(例如,拟合中位数)
  2. 不要最小化平方和,而是使用Huber 损失函数或对大异常值惩罚较少的东西。

人们使用许多不同的方法来处理异常值,而合理的方法通常取决于上下文。

首先,您应该检查异常值的性质。它们是否在变量的自然范围内?

例如,您测量了 100 人的体重。大多数在 50 公斤到 120 公斤之间。如果你有一个异常值,比如 200 公斤,问问自己,这可能吗?是的,它可能是一个非常沉重的人。

但是,如果您的值是 1000 公斤,您会认为“这绝对不可能”。也许有人添加了太多的“0”。这可能是管理错误,应该从数据集中修复或删除。

如果您的异常值在变量的可能范围内,您仍然可以运行线性回归分析。但是,某些异常值可能会扭曲数据,从而扭曲您的分析。假设您正在对体重与血压进行建模。您会认为体重较轻的人血压低,而体重较重的人血压高。如果异常值血压低且体重过重,则可能会影响您的分析。

为了说明,这里是一个重量与 PEF(呼吸/肺强度值)的例子

比较异常值和回归线:

在此处输入图像描述

有一个:

在此处输入图像描述

在第二张图片中,回归线似乎显示出体重和 PEF 之间更强的线性关系。第一张图像中的异常值具有低权重和高 PEF,从而扭曲了数据。可以测量异常值对结果的影响程度。两种方法是库克距离和 DfBeta。可能有问题的值具有

库克距离 > 4/n

或者

DfBeta > 2 / 平方根(n)

通常,最好删除此值,称为异常值。但我会警告您不要使用 OLS 回归来检测此类异常值:您可能会构建错误的模型,而异常值也可能是错误的。取而代之的是,使用稳健的线性回归模型并为其计算标准化残差(使用稳健的标准差估计器),然后删除您无法偶然预料到的所有内容(因此根据样本大小调整阈值)。

异常值的解释是你的数据不符合你的理论假设。可能有几个可能的原因:您的理论假设是错误的,或者您有由随机变量与其他分布生成的数据点(因此您有两个或多个具有一定比例的分布的混合,通常,我们将属于最小比例的所有内容称为异常值,因此只有不到 50% 的数据是异常值)。如果不完全了解您要做什么,就无法“通过照片诊断”。