单变量异常值检验(或:Dixon Q 与 Grubbs)

机器算法验证 异常值 假设检验
2022-03-15 18:59:25

在(大部分)分析化学文献中,用于检测单变量数据中异常值的标准测试(例如,某些参数的一系列测量值)是 Dixon 的 Q 测试。总是,教科书中列出的所有程序都会让您从数据中计算一些数量,以便与表格值进行比较。手动,这不是什么大问题。但是我打算为 Dixon Q 编写一个计算机程序,仅仅缓存值让我觉得不雅。这让我想到了我的第一个问题:

  1. Dixon Q 的表格值是如何生成的?

现在,我已经查看了这篇文章,但我觉得这有点作弊,因为作者只是构造了一个样条,它通过了 Dixon 生成的表格值。我觉得某个地方需要一个特殊的函数(例如误差函数或不完整的 beta/gamma),但至少我有这些算法。

现在我的第二个问题是:ISO 现在似乎在慢慢推荐 Grubbs 的测试而不是 Dixon Q,但从教科书来看,它还没有流行起来。另一方面,这相对容易实现,因为它只涉及计算学生 t 的 CDF 的倒数。现在我的第二个问题:

  1. 为什么我要使用 Grubbs 的而不是 Dixon 的?

在我的案例中,很明显,该算法“更简洁”,但我怀疑有更深层次的原因。有人可以开导我吗?

1个回答

实际上,这些方法已经很长时间没有被积极开发了。对于单变量异常值,最佳(最有效)过滤器是中值 +/- MAD,或者更好(如果你可以访问 R)中值 +/- Qn(所以你不假设底层分布对称), δ×δ×

Qn 估计器在包 robustbase 中实现。

看:

Rousseeuw, PJ 和 Croux, C. (1993) 中值绝对偏差的替代方案,美国统计协会杂志*88*,1273-1283。

回复评论:

两个层次。

一)哲学。

Dixon 和 Grub 测试都只能检测到特定类型的(孤立的、单一的)异常值。在过去的 20-30 年中,异常值的概念涉及“任何偏离数据主体的观察”。没有进一步说明特定的偏离是什么。这种无特征化的方法使构建测试以检测异常值的想法无效。重点转移到估计量的概念(其中的一个经典例子是中位数),即使对于异常值的高污染率(即,这种估计量被认为是稳健的),也能保留那里的值(即不敏感),以及检测的问题异常值变得无效。

B)弱点,

您可以看到 Grub 和 Dixon 测试很容易分解:可以很容易地生成受污染的数据,这些数据会像极乐一样通过任一测试(即不破坏空值)。这在 Grubb 测试中尤为明显,因为异常值会破坏用于构建测试统计数据的均值和 sd。在 Dixon 中这一点不太明显,直到人们了解到订单统计数据对异常值也不稳健。

我认为您会在面向普通非统计学家读者的论文中找到对这些事实的更多解释,例如上面引用的那篇(我也可以想到 Rousseeuw 的 Fast-Mcd 论文)。如果您查阅任何最近的书籍/稳健分析介绍,您会注意到 Grubb 和 Dixon 都没有被提及。