有没有检测异常值的简单方法?

机器算法验证 相关性 异常值
2022-02-02 06:47:58

我想知道是否有一种检测异常值的简单方法。

对于我的一个项目,这基本上是受访者在一周内参加体育活动的次数与他们在一周内外出就餐(快餐)次数之间的相关性,我画了一个散点图并从字面上删除了极端的数据点。(散点图显示负相关。)

这是基于价值判断(基于这些数据点明显极端的散点图)。我没有做任何统计测试。

我只是想知道这是否是处理异常值的好方法。

我有来自 350 人的数据,所以(比如说)20 个数据点的丢失对我来说并不担心。

4个回答

没有简单的方法可以去除异常值。异常值可以有两种:

1) 数据输入错误。这些通常是最容易发现的,并且总是最容易处理的。如果您能找到正确的数据,请更正它;如果没有,请删除它。

2) 不寻常的合法数据。这要棘手得多。对于像您这样的双变量数据,异常值可能是单变量或双变量。

a) 单变量。首先,“不寻常”取决于分布和样本量。你给我们的样本量是 350,但分布是什么?这显然是不正常的,因为它是一个相对较小的整数。在泊松下不寻常的东西不会在负二项式下。我有点怀疑零膨胀的负二项式关系。

但即使你有分布,(可能的)异常值也会影响参数。您可以查看“遗漏”分布,在其中检查数据点 q 是否是异常值,如果数据包含除 q 之外的所有点。尽管如此,如果有多个异常值怎么办?

b) 双变量。这是两个变量的值本身都不是异常的地方,但它们加在一起是奇怪的。有一份可能是杜撰的报告,人口普查曾经说美国有 20,000 名 12 岁的寡妇。12 岁的孩子并不罕见,寡妇也不例外,但 12 岁的寡妇却是。

鉴于这一切,报告一个强有力的关系衡量标准可能会更简单。

我对异常值进行了大量研究,特别是当我从 1978 年到 1980 年在橡树岭从事能源数据验证工作时。对于正常数据的单变量异常值有正式的检验(例如 Grubbs 检验和 Dixon 比率检验)。有针对多元异常值和时间序列的测试。Barnett 和 Lewis 撰写的关于“统计数据中的异常值”的书是关于异常值的圣经,几乎涵盖了所有内容。

当我在橡树岭从事数据验证工作时,我们拥有大量的多元数据集。对于单变量异常值,有一个极端值的方向(远高于均值,远低于均值)。但是对于多元异常值,有很多方向可以寻找异常值。我们的理念是考虑数据的预期用途。如果您尝试估计某些参数,例如双变量相关性或回归系数,那么您希望查看对感兴趣参数产生最大影响的方向。那时我已经阅读了 Mallows 未发表的关于影响函数的论文。Gnanadesikan 的多元分析书中介绍了使用影响函数检测异常值。当然,您也可以在 Barnett 和 Lewis 中找到它。

参数的影响函数在观测值的多元空间中的点处定义,主要测量包含数据点时的参数估计值与未包含数据点时的参数估计值之间的差异。您可以对每个样本点进行此类估计,但通常您可以为影响函数推导出一个很好的函数形式,从而提供洞察力和更快的计算。

例如,在我 1982 年在美国数学与管理科学杂志上发表的论文“影响函数及其在数据验证中的应用”中,我展示了双变量相关影响函数的分析公式,并且恒定影响的轮廓是双曲线。因此等高线显示了平面中影响函数增加最快的方向。

在我的论文中,我展示了我们如何将影响函数与 FPC Form 4 数据的双变量相关应用于能源的产生和消耗。两者之间存在明显的高度正相关,我们发现了一些对相关性估计有很大影响的异常值。进一步调查表明,至少有一个点是错误的,我们能够纠正它。

但我在讨论异常值时总是提到的一个重要点是自动拒绝是错误的。异常值并不总是错误,有时它会提供有关数据的重要信息。有效数据不应该仅仅因为它不符合我们的现实理论而被删除。无论是否难以做到,始终要调查异常值发生的原因。

我应该提一下,这不是本网站第一次讨论多元异常值。对异常值的搜索可能会导致已经讨论了多元异常值的几个问题。我知道我以前参考过我的论文和这些书,并给出了它们的链接。

此外,当讨论异常值拒绝时,我们本网站上的许多人都建议反对它,特别是如果它仅基于统计测试完成。Peter Huber 经常提到稳健估计作为异常值拒绝的替代方法。这个想法是,稳健的程序将减轻异常值的权重,从而减少它们对估计的影响,而无需采取严厉的步骤来拒绝它们并使用非稳健的估计器。

影响函数实际上最初是由 Frank Hampel 在 1970 年代初期(我认为是 1974 年)的博士论文中开发的。他的想法实际上是使用影响函数来识别对异常值不稳健的估计器,并帮助开发稳健的估计器。

是之前关于该主题的讨论的链接,其中我提到了我在使用影响函数检测时间序列中的异常值方面所做的一些工作。

另一种处理异常值的简单方法是使用非参数统计。可能根据您的样本量,Spearman 的 rho 可以很好地作为相关性的指标。(但请注意,非参数排序统计对非线性关系没有多大帮助。)

如果您想使用 Pearson 的 r(参数统计量),并且如果您无法计算 Cook 距离,您可以使用标准经验法则,即任何与平均值相差 2.67 标准差 (sd) 的数据点,或平均值的 4.67 sd 分别是异常值或极端值。这些是在一个标准统计分析程序 (SPSS) 中使用的异常值和极端数据点的典型截止值。

仅仅因为数据点是异常值并不意味着它是要丢弃的不良数据。您可以计算有和没有极值点的相关性,然后从那里开始。

您可能想尝试库克的距离。有关建议的截止值,请参阅 wikipedia 文章。此外,如果您正朝着某个回归模型前进,那么您可能希望尝试稳健回归。