离群点检测是为了发现数据集中与其它大部分数据显著不同的数据点,建模的的时候通常将离群点视为噪声丢弃。离群点虽然会影响建模的准确率,但是在特定的应用中,离群点蕴含着更大的研究价值,比如从银行卡刷卡记录数据的离群点分析某用户是否存在异常刷卡行为,再比如运动员上场比赛前的体能特征数据中离群点分析该运动员是否嗑药了。下面来介绍几种常用的离群点检测方法:
一、基于统计模型的离群点检测
通过估计概率分布的参数来建立一个概率分布模型,如果数据点不能很好的拟合该模型,那就意味着它可能不服从该概率分布,那它就可能是一个离群点。
(1)一元正太分布中的离群点检测
正太分布是统计学最常用的分布之一,对于很多的数据集的某些属性都可以假定它服从正太分布,建立正太分布模型来检查离群点。
正太分布的概率密度如下:
其中总体均值μ和总体标准差σ属于未知参数,可以通过样本信息(给定的数据集)来估计,样本均值是总体均值μ的无偏估计,修正样本方差是总计方差的无偏估计。
得到估计参数μ^ 和 σ^后我们就得到了正太概率分布模型,可以接着利用标准化X=(X-μ)/σ将正太概率分布模型变为标准正太分布模型。
对于N(0,1)分布来说,数据点出现在尾部的概率很小,通常来讲数据点出现在正负3倍的标准差之外的区域的概率很小,仅有0.0027,所以说可以将离均值超过3倍标准差的值视为离群点。
(2)混合模型的离群点检测
混合模型:
混合模型是一种特殊的统计模型,它包含多个概率分布,每一个分布对应一个簇(数据集中的一部分数据),而每个分布的参数就是对该簇的相关描述。通常混合模型的概率分布统一取正太分布,但是每个分布的参数不同。
混合模型的参数求解:
(一般用EM算法迭代来求参数集合A,这里讲一点点原理)
假定混合模型中有K个概率分布,每个概率分布的权重用Wj (1<= j <=K)表示且所有权重之和等于1,每个概率分布的参数用α~j ~ 表示,A={ α1,α2,…,αk}是所有参数的集合,现有m个样本用χ={x1,x2,…,xm}表示,接下来用极大