首页 . 理学 . 统计学 . 描述统计 . 数据变换

异常值识别方法

/outlier identification method/
条目作者刘苗

刘苗

最后更新 2024-04-10
浏览 339
最后更新 2024-04-10
浏览 339
0 意见反馈 条目引用

识别统计数据中出现的少量的、与众不同的数据的方法。又称异常数据识别方法、离群点识别方法。

英文名称
outlier identification method
又称
异常数据识别方法、离群点识别方法
所属学科
统计学

1852年,美国数学家B.皮尔斯[注]发表了第一个识别检验异常值的方法,即皮尔斯准则。皮尔斯准则基于概率方法识别异常值,可以同时识别多个异常值。之后美国数学家W.肖维勒[注]同样依据概率方法提出了识别异常值的方法,即肖维勒准则,此后肖维勒准则成为常见的异常值判定方法。

异常值又称异常数据、离群点,是统计数据中出现的少量的、与众不同的数据,与数据总体的平均值相比,有一定的偏差,且产生这种偏差的原因不是随机的,可能来源于完全不同的数据产生机制。一般把一组数据中与平均值的偏差超过两倍标准差的数据视为异常值,而与平均值的偏差超过三倍标准差的数据,称为高度异常的异常值。很多时候,异常值的存在会影响统计模型的质量和效果。对此,通常的做法有以下两种:①使用稳健估计方法达到减少异常值对统计模型的干扰;②识别样本数据中的异常值,直接剔除。

识别数据集的异常值,需要找到数据本身的内在规律。在一个可接受的误差范围内,满足内在规律的数据可被认为是正常数据,而不满足内在规律的数据被认为是异常值。这种数据间的内在规律可以根据数据本身的特点从位置关系、函数关系、规则关系、序列关系等方面来考察。①从位置关系考察异常值。大多数正常数据具有很大的相似性而符合一个共同模式,在空间上表现为聚集在一起的趋势,而异常值则表现为离群,离中心位置较远。②从函数关系考察异常值。大多数正常数据都符合某个函数模型,因此数据点大多分布在该函数曲线附近,而异常值则距离该函数曲线比较远。③从规则关系考察异常值。大多数正常数据符合某个规则条件,如果某个数据不符合该规则条件,则可以怀疑其为异常值。

常用的异常值的判定方法包括基于概率的方法,基于距离的方法,基于密度的方法和基于偏离的方法。

①基于概率的方法。根据数据集的特性,事先假定数据分布的概率模型,然后在某个显著性水平上,确定数据集的拒绝域和接受域。拒绝域是小概率事件集,如果数据落在拒绝域,则判定为异常值。样本满足正态分布时检验异常值的方法包括格鲁布斯(Grubbs)检验、t检验(罗曼洛夫斯基准则)、狄克逊(Dixon)检验、奈尔(Nair)检验、偏度-峰度检验和基于总体参数稳健估计量的检验。在这些检验方法中,格鲁布斯检验、奈尔检验和偏度-峰度检验可用全体数据的算术平均值估计总体中心位置参数,稳健性差,容易产生异常值“遮蔽”现象。格鲁布斯检验和狄克逊检验通常无法检验多个异常值,尤其是在同侧;t检验和狄克逊检验一般仅用于小样本量数据的异常值检验;奈尔检验要求方差已知;当样本容量较大,且异常值个数不是很明确时,一般采用基于总体参数稳健估计量检验的方法,例如,利用样本分位数的优化组合来估计总体参数。这种方法在正态样本的异常值检验中具有较好的稳健性和较高的估计效率,和前面几种方法相比,计算简便,抗异常值干扰的能力强,且可连续使用,并能用于检验多个异常值。

②基于距离的方法。若数据点远离其他大部分数据点,则该数据点可能是异常的。该方法的优点为确定数据集的有意义的邻近性度量比确定它的统计分布容易。该方法的不足是:运算量较大,不适用于大数据集;使用全局阈值,由于不能考虑数据集不同区域的数据密度变化,因此不能处理不同密度区域的数据集。运用该方法判定数据点是否异常主要分为两种情况,第一种是给定邻域半径,依据数据点的邻域中包含数据点数量来判定。如果数据点的邻域内包含的数据点数量少于整个数据集总量的一定比例,则标识该数据点为异常,即将没有足够多邻居的数据点看成是基于距离的异常值。第二种是利用k最近邻(KNN)距离判定异常。基于k最近邻距离的异常值识别效果(见图),首先随机生成两组数据,命名为训练数据和测试数据,每组各100个样本点,其中5个为异常。采用python软件中的PyOD库进行分析,图中左边两图的三角形点为真实的异常值,右边两图的三角形点为对应的数据集上模型预测的异常值。以上两种方法都较为实用。

k最近邻距离的异常值识别效果图k最近邻距离的异常值识别效果图

③基于密度的方法。如果出现各个类别本身密度不同的情况,则基于距离的方法会出现问题,因此提出了基于密度模型的局部异常点挖掘算法。在这种情况下,数据点是否异常不仅取决于它与周围数据点距离的大小,而且与邻域内的密度状况有关。一个邻域内的密度可以用包含固定数据点个数的邻域半径或者指定半径邻域中包含的数据点数来描述。常用的基于密度的方法主要有局部异常因子(LOF)算法和基于该方法的衍生方法。LOF算法是一种非常经典的算法,它通过计算每个样本数据点的异常程度值来确定该数据点是否是异常点。但该算法存在计算量大、计算结果受参数影响等问题。

④基于偏离的方法,主要通过检查一组数据点的主要特性来确定是否异常。如果数据点的特性与给定的描述偏离较大,则该数据点被认为是异常值。基于偏离的方法包括序列异常技术等方法。序列异常技术模仿人类从一系列推测类似的对象中识别异常对象的方式,常用于一维数据检测异常值。

识别出异常值后,可根据产生原因的不同,选择不同的处理方法,处理方法主要包括保留、删除、使用可替代的模型等。当正态分布模型适用于要分析的数据时,对于较大的样本量,异常值是可预见的,不应将其丢弃,应选用对异常值具有鲁棒性的算法。删除异常值的方法主要包括截断异常值和用最接近的数据替代。在回归问题中,一种替代方法是使用库克距离等度量来排除对估计系数有很大影响的数据点。在知道异常原因的情况下,可以将这种影响合并到模型中,如通过使用分层贝叶斯模型或混合模型来处理数据。

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!