1.理论基础
当数据集含有多种分布或数据集由不同密度子集混合而成时,数据是否离群不仅仅取决于它与周围数据的距离大小,而且与邻域内的密度状况有关。这时就可以考虑用基于密度的离群点诊断方法。
基于密度的方法就是探测局部密度,通过不同的密度估计策略来检测离群点。所谓密度,是指任一点和p点距离小于给定半径R的邻域空间数据点的个数。Breuning用局部离群因子(LOF)来表示点的孤立程度,离群点就是具有较高LOF值的数据对象。也就是说,数据是否是离群点不仅仅取决于它与周围数据的距离大小,而且与邻域内的密度状况有关。
基于密度的离群点检测与基于邻近度的离群点检测密切相关,因为密度通常用邻近度定义。一种常用的定义密度的方法是,定义密度为到K个最近邻的平均距离的倒数。如果该距离小,则密度高,反之亦然。某个对象的局部邻域密度定义为
还有一个描述对象密度的方法为相对密度,其定义为
其中,N(x,K)是不包含x的K-最近邻的集合,N(x,K)是该集合的大小,y是一个最近邻。
基于相对密度的离群点检测方法通过比较对象的密度与它邻域中对象的平均密度来检测离群点。簇内靠近核心点的对象的相对密度接近于1,而处于簇的边缘或是簇外面的对象的密度相对较大。定义相对密度为离群因子:
LOF(x,K)=relative_density(x,K) (4-90)
具体的基于密度的离群点诊断步骤如下:
①{K是最近邻个数}。
②for all对象x do。(www.xing528.com)
③确定x的K-最近邻N(x,K)。
④使用x的最近邻(即N(x,K)中的对象),确定x的密度density(x,K)。
⑤end for。
⑥for all对象x do。
⑦确定x的相对密度relative density(x,K),并赋值给LOF(x,K)。
⑧end for。
⑨对LOF(x,K)降序排列,确定离群点得分高的若干对象。
基于密度的离群点挖掘最显著的特点是给出了对象是离群点程度的定量度量,并且即使数据具有不同密度的区域也能够很好地处理。因此,LOF能够探测到所有形式的离群点,包括一些不能被基于统计的、距离的和偏离的方法探测到的离群点。基于密度的方法也有缺点,与基于距离的方法类似,当数据集规模异常大时复杂度会很高。参考文献还指出LOF这种基于局部密度的离群点检测算法忽视了基于簇的离群点的存在。
2.优点与缺点
基于相对密度的离群点检测给出了对象是离群点程度的定量度量,并且即使数据具有不同密度的区城也能够很好地处理。与基于距离的方法一样,这些方法必然具有O(m2)时间复杂度(其中m是对象个数),虽然对于低维数据,使用专门的数据结构可以将它降低到O(mlogm),参数选择也是困难的。虽然标准LOF算法通过观察不同的K值,然后取最大离群点得分来处理该问题。然而,仍然需要选择这些值的上下界。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。