识别异常值的方法有很多种,R中有很多不同的方法。
关于异常值方法的文章使用了理论和实践的混合体。理论一切都很好,但异常值是异常值,因为它们不遵循理论。实践涉及数据的测试方法,有时用基于理论模拟的数据,更好地使用“真实”数据集。如果一种方法发现我们都同意的异常值,那么它可以被认为是成功的,但是我们是否都同意哪些个案是异常值?
异常值概述(O3)图旨在帮助比较和理解异常值方法的结果。
Stackloss数据集的O3图。每个变量组合(由左边的列定义)有一行,找到了异常值,并将每个案例的一列标识为异常值(右边的列)。
威尔金森的算法为整个数据集找到了6个离群值(图的最下面一行)。总体而言,对于各种变量组合,发现14个案例是潜在的异常值 。
一个O3plot,用于比较堆栈损耗数据集中由HDoutliers和mvBACON标识的异常值。
在OutliersO3中有四种其他方法可用, :
## HDo PCS BAC adjOut DDC MCD## 14 4 5 0 6 5
R中还有其他异常方法,他们无疑会给出更多不同的结果。建议必须谨慎行事。离群值本身可能是有趣的,它们可能是某种错误 - 我们可能不同意它们是否是异常值。