1.理论基础
基于距离的离群点检测方法,其基本思想是如果某个对象远离大部分其他对象,那么该对象是离群的。这样做的好处是,确定数据集的有意义的邻近性度量比确定它的统计分布更容易,综合了基于分布的思想,克服了基于分布方法的主要缺陷。
基于距离的离群点诊断方法根据某个距离函数计算数据对象之间的距离,最早是由Knorr和Ng提出来。他们给出了基于距离的离群点的定义:如果数据集合S中对象至少有p部分和对象o的距离大于d,则对象o是一个带参数p和d的基于距离的(DB)离群点,即DB(p,d)。
基于距离方法的两种不同策略:
第一种策略是采用给定邻域半径,依据点的邻域中包含的对象多少来判定离群点。如果一个点的邻域内包含的对象少于整个数据集的一定比例,则标识它为离群点,也就是将没有足够邻居的对象看成是基于距离的离群点。
第二种策略是利用K-最近邻距离的大小来判定离群。使用K-最近邻的距离度量一个对象是否远离大部分点,一个对象的离群程度由到它的K-最近邻的距离给定。这种方法对k的取值比较敏感。如果k太小(例如1),则少量的邻近离群点可能导致较低的离群程度。如果k太大,则点数少于k的簇中所有的对象可能都成了离群点。
定义:点x的离群因子定义为
这里,N(x,k)是不包含x的k-最近邻的集合,其数学表示为
N(x,k)={y|distance(x,y)≤k-distance(x),y≠x},N(x,k)是该集合的大小。
输入:数据集D;最近邻个数k;
输出:离群点对象列表。
①for all对象xdo。(www.xing528.com)
②确定x的k-最近邻集合N(x,k)。
③确定x的离群因子OF1(x,k)。
④end for。
⑤对OFl(x,k)降序排列,确定离群因子大的若干对象。
⑥return。
应注意:x的K-最近邻的集合包含的对象数可能超过K。
2.优点与缺点
基于距离的方法也有比较明显的优缺点。其优点有以下几方面:
①不必对数据集的相关信息(数据服从哪种统计分布模型、数据类型特点等)足够了解,只要给出距离的度量并对数据进行预处理后,就可以找出数据集中的离群点,并且避免了大量的计算。而大量的计算正是使观察到的数据分布适合某个标准分布及选择不一致性检验所需要的。
②在理论上可以处理任意维任意类型的数据,克服了基于统计的方法只能较好地处理某种概率分布的数值型单变量数据集的缺陷。
基于距离的方法的缺点主要是当数据集规模异常大时,计算复杂度很高。其次是检测结果对参数K的选择较敏感,对于不同参数,结果有很大的不稳定性,而且在高维数据中应用比较困难。最后是对挖掘出的离群点,不能区分强离群点和弱离群点[2]。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。