读书笔记《Outlier Analysis》 第四章 基于邻近的异常检测

1.基本介绍

基于邻近的技术是指,当一个数据点的位置或邻近是稀疏时,则将其定义为一个离群点。

1.1 基于邻近的技术最常见的三种离群点分析的定义:

基于聚类:

使用非任何聚类中数据点的成员、其与其他聚类质心的距离、最近的聚类的大小或这些因素的组合来量化异常值评分。聚类问题和异常检测问题有互补关系,其中要么属于聚类,要么属于异常值。

基于距离:

使用数据点到其k近邻的距离来定义邻近。具有较大k近邻距离的数据点被定义为离群点。基于距离的算法通常比其他两种方法需要执行更详细的粒度。另一方面,这种更大的粒度往往需要很大的计算成本(因为其需要计算每个数据点到其k邻近的数据点的距离)。

基于密度:

数据点的指定局部区域(网格区域或基于距离的区域)内的其他点的数量,用于定义局部密度。这些局部密度值可以转换为异常值分数。也可以使用其他基于核的方法或用于密度估计的统计方法。聚类和基于密度的方法的主要区别在于,基于聚类的方法是划分数据点,而基于密度的方法是划分数据空间。

1.2 各种邻近方法的比较:主要是执行分析的粒度级别不同

显然,所有这些技术都是密切相关的,因为他们是基于某种邻近(或相似)的概念。主要区别在于如何定义这种邻近的详细程度。

基于距离的方法和其他两种方法的一个主要区别在于执行分析的粒度级别。

在基于聚类和密度的方法中,数据在异常分析之前通过划分【数据点或数据空间】进行预聚集。将数据点与此预聚集数据中的分布进行比较以进行分析。

另一方面,在基于距离的方法中,K近邻到原始数据点的距离被计算为异常值分数。

因此,最近邻方法(基于距离)中的分析是在比聚类方法更详细的粒度级别上进行的。

最近邻方法计算距离时,可以使用索引和剪枝技术来加快计算速度(索引和剪枝技术只在一些受限的数据集(如低维数据集)中有效),否则需要O(N2)时间来计算(具有N个记录)。此外,剪枝不是为异常值分数计算而设计的,他只能用于需要报告二进制标签(指示是否为异常点)的设置。

1.3 邻近方法的适用性:

最近邻方法特别适用于对于不可能进行稳健聚类或密度分析的较小数据集。

基于邻近的方法适合用来检测噪声和异常值。

基于邻近的方法的可解释性较好,也适合各种数据类型,如时间序列数据、图形数据、序列数据等。

 

2.基于聚类的方法

简单理解就是基于聚类的方法和异常值时互补关系的,即一个数据点要么属于任何一个簇,要么不属于任何要给簇。不属于任何一个簇的数据点即为异常值。

在聚类中,目标是将点划分为密集的子集,而在异常检测中,目标是识别不属于任何一个密集子集的数据点。

2.1 异常值的定义

问题:不属于任何簇的数据点不一定是异常值,也有可能是弱离群点或噪声;非常小的簇也有可能被视为异常值。简单使用欧式距离来计算异常值分数可能不适合。

解决方法:

由于簇可能有不同的形状和方向,因此,可以使用马氏距离来计算数据点到簇质心的距离来构造异常值分数。可以将马氏距离看作是经过一些变换和缩放后的点与簇质心之间的调整的欧式距离。具体来说就是点和质心被转换为由主成分方向定义的轴系。

案例:读书笔记《Outlier Analysis》 第四章 基于邻近的异常检测_第1张图片

 从上图所示的示例中可以明显看出这一点,其中数据点‘A’比数据点‘B’更明显地是一个离群点,因为后者可能与拉长的簇之一有关。 然而,这种微妙的区别不能用欧氏距离来检测,根据欧氏距离,数据点‘A’最接近最近的聚类质心。

一个结论:聚类过程对底层数据集群的不同形状和方向比较敏感。

(书中还提到除了距离的标准外,还可以将集群基数作为异常值分数的组成部分。基数准则在基于直方图的方法中特别流行,其中空间被划分为大小大致相等的区域。 值得注意的是,基于直方图的方法是聚类方法的变体。 将聚类基数纳入分数有助于区分小群聚类离群点和大群聚类中的正常点。)

2.2 集体异常

一个识别集体(小的簇)异常的方法:可以通过设定一个阈值,如果簇的数据点数量少于这个阈值,才定义为异常值。

2.3 预测的变异性问题

基于聚类的方法的预测的变异性的原因:模型的选择、初始化、参数的设置(如k,簇的数量)。

为了提高性能,可以使用集成学习的思想,即通常最好使用来自多个集群(具有不同参数设置)的离群点分数的平均值来获得更好的结果。

一般来说,充分随机化往往比基本聚类方法的质量更重要。 在这方面,一个特别有用的方法是使用极其随机的森林聚类。

2.4 聚类类型的敏感

聚类集合的一个有趣特性是发现的离群点类型对所使用的聚类类型敏感。 例如,子空间聚类将产生子空间离群点(cf。 第5章第5.2.4节);相关敏感聚类将产生相关敏感异常值,局部敏感聚类将产生局部敏感异常值。 通过组合不同的基聚类方法,可以发现不同类型的异常值。

2.5 任意聚类形状的扩展

前面提到的关于使用马氏距离计算数据点到质心的距离的方法对于椭圆形状的团簇比较有效,但是对于某些形状的数据集也许并不有效。如下图案例所示。

读书笔记《Outlier Analysis》 第四章 基于邻近的异常检测_第2张图片

图(a)是一种全局流形的、单一的团簇。图(b)中左边簇1中的点A比许多其他点更接近簇1的质心。

解决方法:

对于图(a)的情况,只要使用非线性主成分(或核主成分)分析等方法将点映射到一个可以有效使用欧氏距离的新空间就足够了。

对于图(b)的情况,显然,我们需要某种类型的数据转换,它可以将点映射到一个新的空间,在这个空间中暴露出这些异常值。如对非线性主成分分析等方法进一步修改(这些修改来源于谱聚类spectral clustering的概念,是相似矩阵稀疏化sparsifification和局部归一化local normalization的修改),然后解决b图中的异常值。

2.6 任意数据类型的应用

这种谱方法的一个重要优点是,只要对象之间可以定义相似函数,它们就可以应用于任意数据类型。 可以使用任何可用的核相似方法,如时间序列、字符串和图。 一旦定义了相似函数,就可以通过去除低权重边来创建稀疏的相似矩阵。 该矩阵的特征向量用于创建嵌入并执行聚类。 对于每个数据点,使用其与最近的聚类质心的最近距离来定义其离群点分数。

2.7 聚类方法的优缺点

优点:

聚类方法的一个重要优点是与(更流行的)基于距离的方法相比,它们相对较快。 基于距离的方法在数据维数上具有二次运行时间。 另一方面,许多快速聚类算法存在于各种数据域中。 还可以使用本节前面讨论的谱方法来发现嵌入在任意形状簇附近的异常值,或者通过定义适当的相似函数来发现任意数据类型的异常值

缺点:

聚类方法的主要缺点是,它们可能并不总是在较小的数据集中提供所需的详细程度的洞察力。 当直接使用相对于原始数据点的距离计算时,离群点分析方法的粒度通常更好,而不是相对于集群质心等聚合代表。 因此,当可用数据点的数量足够大时,聚类方法是最有效的;在这种情况下,这些方法也具有效率优势。 聚类方法的另一个问题是,分数在不同的随机执行或参数选择之间有很高的变异性。 因此,平均来自不同执行的离群点分数(标准化)向量对于获得稳健的结果是必不可少的。

 

3. 基于距离的方法

3.1 基于距离的方法的基本介绍

基于距离的方法可以跨越多种数据类型(分类数据、文本数据、时间序列数据和序列数据等),并根据最近邻距离来定义异常值分数。

最简单的例子是一个点的k近邻距离被定义为异常值分数的情况。

基于距离的方法采用的自然假设是异常数据点的k近邻距离远大于正常数据点的k近邻距离。

3.2 基于距离的方法与聚类方法的比较

基于距离的方法和聚类的方法的主要区别是两者执行分析的数据粒度级别不一样。显然,基于距离的的粒度级别更大,因为它要计算数据点与其k近邻的所有数据点的距离。由于粒度级别更高,基于距离的方法也更容易识别弱异常(如噪声)和强异常。如下图所示案例:

读书笔记《Outlier Analysis》 第四章 基于邻近的异常检测_第3张图片

3.3 基于距离的方法识别集体异常

基于距离的方法也能够识别密切相关的离群点的异常集群。 例如,为了识别包含k0数据点的小(异常)簇,需要在k近邻算法中使用k≥k0的值。 虽然这种异常也可以通过聚类方法通过对每个聚类中的点数设置阈值来识别,但这些点有时可能会进入聚类并偏置相应的聚类质心。 这可能会以有害的方式影响离群点的评分过程。

3.4 基于距离的方法的结果输出形式

最常见的形式是分数形式,即具体的距离数据值。但是这种方法需要的时间复杂的为O(N^2)。

另一种是二进制形式,即输出每个数据点是否是离群点。对于这种方法,可以使用各种类型的剪枝和索引结构来大大加快速度。

3.5 基于距离的方法的评分输出

一个点的基于距离的离群点分数是基于它与剩余数据集的第k最近邻距离。

这种评分机制有两个简单的变化,分别对应于精确的k近邻平均的k近邻检测器。

3.5.1 精确的k近邻分数

定义:有一个数据集D=X1, X2...Xn,数据点 Xi 的异常值分数等于其到{D-Xi}数据集中数据点的第k个最近邻的距离。

请注意,得分点Xi本身不包括在k近邻中,以避免过度拟合。 例如,如果我们使用k=1,并允许在1-近邻中包含候选点,则每个点都是自己的最近邻,所有点的离群点分数都为0。 将候选点排除在邻居之间避免了这种情况。

问题:在很多实际应用中,通常k值很难确定。在像异常检测的这样的无监督问题中,通常没有方法用交叉验证等方法进行参数调优,因为没有标签。

解决方法:可以使用更稳健的平均k近邻检测器,其也被称为加权k近邻检测器。

3.5.2 平均的k近邻分数

定义:有一个数据集D=X1, X2...Xn,数据点 Xi 的异常值分数等于其到{D-Xi}数据集中数据点的k个最近邻的距离的平均值。

如果使用平均的k最近邻检测器,通常会给出一个K值的范围,然后选择多个k进行计算,然后计算算数平均结果。在这种情况下,平均k最近邻法对k的不同选择不那么敏感,因为它有效地平均了k的不同值范围内的精确k最近邻分数。一种很少使用的相关方法是使用谐波平均值而不是算术平均值。

3.5.3 谐波k近邻分数

定义:有一个数据集D=X1, X2...Xn,数据点 Xi 的异常值分数等于其到{D-Xi}数据集中数据点的k个最近邻的距离的谐波平均值。

必须注意从数据集中删除重复点,以便稳健地使用这种方法,因为任何包含0的数字集的谐波平均值总是0。 谐波平均值总是由较小的距离主导(与算术平均值相比),因此使用参数k的大值对于更大的鲁棒性是可取的。 事实上,在谐波平均的情况下,可以设置k=N,并且仍然可以获得高质量的分数。 例如,如果我们在(算术)平均k-近邻检测器中设置k=N,那么只会发现多元极值,孤立的中心点可能被忽略。

另一方面,在k=N处的和谐平均分数也将能够发现数据中孤立的中心点,特别是对于大数据集。 谐波平均值的这种行为的原因是它与基于密度的方法(cf)的联系。 第4.4.4.1节)。 谐波平均值的主要优点是,我们现在有一个无参数检测器,通过设置k=N,结果仍然是高质量的。 虽然谐波最近邻检测器在文献中仍未被探索,但它们的潜力是显著的。

3.5.4 使用分数形式的局限性

计算所有数据点的分数通常是计算密集型的。 需要计算数据点之间的所有对距离。 因此,完全需要O(N2)操作。 当数据点数量很大时,这可能非常昂贵。 例如,即使对于包含几十万个点的数据集,该方法也可能不会返回合理的时间。 虽然人们经常声称,在O(N·log(N)时间内,可以使用索引结构有效地找到k近邻,但该方法仅适用于低维数据集(即维数小于10)。 这是因为在高维情况下,索引结构在修剪方面不是很有效。 此外,这种索引结构具有较大的恒定开销,这进一步损害了性能。

更有效的方法是预选数据点的样本。 所有N个数据点在从样本中排除候选点后(如果需要的话)对这个样本进行评分)。 结果可以在不同的样本上进行平均,以提高结果的质量与集成。 对于不太稳定的变体,如谐波平均,尤其如此。

3.6 基于距离的方法的二进制输出(详情见另一篇博客基于距离的方法的二进制输出)

使用二进制输出的优点是可以修剪许多O(N^2)计算。 因此,只有得分比较高的点被报告为离群点,我们不关心非离群点的分数。 这可以通过在最近邻距离(分数)上指定一个最小阈值来实现,也可以通过在k最近邻距离的排序上使用一个最大阈值来实现。

在基于距离的方法的二进制输出中的所有定义中,由于这些定义在文献中的优势,我们使用了 精确的k近邻距离。 然而,上述所有定义和一些相关的剪枝方法都可以推广到 平均k近邻距离。 在下面,我们将讨论精确k近邻距离的各种剪枝方法,并研究它们对平均k近邻距离的推广。

3.6.1 基于单元cell的剪枝

基于细胞的技术[317]是基于基于距离的方法的二进制输出中的定义2.3的评分阈值。 该方法是针对精确的k近邻距离设计的,不能很容易地推广到平均k近邻距离。 在基于单元的技术中,数据空间被划分为单元,其宽度是距离阈值β数据维数d的函数。具体来说,每个维度最多被划分为宽度的单元(2·√d)。 这个宽度的奇数值被选择来强制单元中的点的某些以距离为中心的特性,这些特性被用于修剪和有效的处理。 该方法最好在二维情况下解释。 考虑二维情况,其中连续网格点的距离最多为β/(2·√2)。 需要记住的一个重要点是,网格单元的数量是基于数据空间的分区,并且与数据点的数量无关。这是低维数据处理方法效率的一个重要因素,其中网格单元的数量可能很小。 另一方面,这种方法不适合于高维数据。

3.6.2 基于采样的剪枝

采样方法非常灵活,因为它们可以处理基于分数的阈值化或基于排序的阈值化。 此外,它们可以与精确的k近邻检测器或平均k近邻检测器一起使用。 它们在修剪方面非常有效,也可以用作健壮的集成方法。 由于这些原因,采样方法应该被认为是有效的基于距离的孤立点检测的第一道攻击线。 

3.6.3 基于索引的剪枝

索引和聚类是数据定位和访问的另外两种常见形式。 因此,探索是否可以使用一些传统的聚类方法或索引结构来提高基于距离的计算的复杂性是很自然的。 最初的方法使用基于排序的阈值与精确的k最近邻检测器。

3.7 数据相关(依赖)的相似性度量

k最近邻方法可以与其他类型的相似性和距离函数配对。 与欧几里得距离不同,数据相关的相似性度量不仅取决于手头上的一对点,而且还取决于其他点的统计分布。 这可以帮助将各种依赖于数据的特征合并到相似性函数中,例如局部敏感度,相关敏感度或两者的结合。  局部敏感性的一个直观的例子是,同一对白种人在亚洲会被认为比在欧洲更相似。

有两个概念是比较容易混淆的,就是数据的相关性和数据的相似性。下面是两者的简单比较(数据的相似性和相关性)。

数据的相关性:相关性是描述数据属性的,比如抽烟和患肺癌,这是两个属性,两个属性之间有相关系数度量,如果相关属性为0,则两者不想管,即抽烟和得肺癌之间不相关。简单的方法如余弦相似度。

直白理解就是一个数据对象是否会受其他数据对象的影响,两者之间有没有某种相互影响的关系。

数据的相似性:相似性是描述数据对象的,两个数据对象的相似性,也可以说是两个对象的邻近度,有多种度量方法,来表示对象间的相似程度,如在低维中可以使用欧几里得距离,在高维中可以使用马氏距离。

直白理解就是两个数据对象的距离远不远。远的话相似性就低,近的话相似性就高。

3.8 ODIN:一种反向最近邻方法

大多数基于距离的方法直接使用k近邻分布来定义离群值。 另一种方法是使用反向k近邻的数量来定义离群值。 因此,反向k近邻的概念定义如下:

Defifinition 4.3.7   A data point p is a reverse k -nearest neighbor of q , if and only if q is  among the k -nearest neighbors of p .
 
当且仅当数据点q是数据点p的k最近邻中,数据点p是数据点q的一个反向k最近邻。
 
直白理解就是和数据结构中图中的入度和出度一样,对于两个节点来说,两者之间的入度和出度是相对的。
 
 

3.9 基于距离的离群点的内涵知识

离群点的内涵知识主要是解释定义为离群点的数据点为什么其被定义为离群点,即离群点的可解释性。

另外一个方面是区分弱离群点和强离群点以及解释数据点的离群行为。

3.10 基于距离的方法的探讨

基于距离的方法比基于聚类的技术具有许多定性优势,因为分析的粒度更详细。 例如,基于距离的算法可以比基于聚类的技术更好地区分噪声和异常。 此外,基于距离的方法也可以像聚类方法一样找到孤立的集体异常。

另一方面,聚类方法的优点是它们可以提供关于数据点的局部分布的见解,以定义距离。 

4. 基于密度的离群值

4.1 基本介绍

基于密度的方法使用数据空间中特定区域中数据点的数量来定义异常值。

基于密度的算法由许多是可以发现局部性敏感的异常值。这节主要讨论局部算法和全局算法。

局部敏感型对异常值的影响

读书笔记《Outlier Analysis》 第四章 基于邻近的异常检测_第4张图片

该图包含两个标记为“A”和“B”的异常值。此外,该图包含两个集群,其中一个集群比另一个集群稀疏得多。 很明显,离群点‘A’不能被基于距离的算法发现,除非算法使用较小的距离阈值。 然而,如果使用较小的距离阈值,那么稀疏集群中的许多数据点可能被错误地声明为异常值。 这也意味着,当数据的局部分布存在显著的异质性时,基于距离的算法返回的排序是不正确的。

 

基于密度的簇主要关注在不同的数据密度问题上,而不是簇的不同形状和方向。

 

4.2 LOF:Local Outlier Factor局部异常因子(局部异常因子LOF详解链接)

4.2.1 简单理解LOF

局部异常因子算法是通过计算局部可达密度来反映一个样本点的异常程度,一个样本点的局部可达密度越大,这个点就越有可能是异常点。

通俗来讲就是:若点P的局部范围内,数据点的密度越小,则点P越有可能是异常点。

4.2.2 局部可达密度

点与点之间的密度,点之间的距离越远,密度越低;距离越近,密度越高。

局部可达密度与总体密度类似,只不过是用k距离邻域计算的,所以称为“局部”。

 

4.3LOCI:Local Correlation Integral局部相关积分

4.3.1 LOCI

 LOCI方法确实是基于密度的方法,因为它根据点周围的预定半径e内的数据点数来定义数据点X的密度M(X,e)。 这被称为数据点X的计数邻域

相应地,将X的δ邻域中的平均密度AM(X,e,δ)定义为M(X,e)的平均值, 所有数据点与X的距离最大为δ。δ的值也称为X的采样邻域,并且始终大于e(为了实现哭诉的近似计算,通常选择e值为δ的一般)。

此外,无论使用什么δ值,始终将e的值选择为δ的恒定分数。 δ的值是分析中的关键参数,并且使用此参数的多个值来提供不同粒度级别的分析见解。  

δ级的多粒度偏差因子MDEF(X,e,δ)用点的密度与其邻域内的平均密度之比表示。

在定义数据点的离群点分数时,在使用局部比率方面与LOF的相似性。 多粒度偏差因子MDEF值越大,异常值越大。

(为了实现快速的近似计算,总是选择e的值为δ的一半。 因此,在整个介绍过程中,假设e的值是由δ的选择自动决定的。 采用多个δ值,为离群点分析提供了一种多粒度方法。 这些方法将采样半径从包含至少20个点的最小半径变化到跨越大多数数据的最大半径。 如果在不同粒度级别计算的任何值中,其MDEF值异常大,则数据点是一个异常值。)

书上也有两个提高算法效率的方法。

4.3.2 LOCI绘图

LOCI图显示X轴上的δ值与Y轴上基于计数的下列2个数量:

1.数据点的密度行为;

2.邻近数据点的平均密度行为。

当数据点是异常值时,其密度行为通常会低于该点的邻域的密度,甚至可能会低于邻域密度范围的下限。

【LOCI图可以直观地了解数据点的偏差如何与不同粒度级别上的偏差极值相关,并且可以解释为什么特定数据点可能具有较高的多粒度偏差因子MDEF。使用不同的粒度级别有助于将算法调整为适应不同数据集的变化。然而,LOCI绘图总是在视觉上启用一个正确的特定点的分析粒度级别。 在某些情况下,特定数据点可能仅在特定粒度级别上显示为异常值,这也将出现在LOCI图中。 这种类型的视觉洞察力有助于建立直觉和可解释性的无监督问题,如异常检测。】

 

读书笔记《Outlier Analysis》 第四章 基于邻近的异常检测_第5张图片

LOCI图的说明性示例如上图所示。在这里,我们显示了该图的简化版本,但未显示平均邻域密度的上限和下限。换句话说,我们仅显示了邻域密度AM(X,e,δ),而未显示范围AM(X,e,δ)±STD [Y:dist(X,Y)≤δ] M(Y, e)。这些范围还有助于区分点密度何时远低于邻区密度。

图(a)显示了聚集点的典型行为,其中在所有半径值上,点的密度大致类似于邻域密度。在聚集异常的情况下,该异常与少数点同时发生,只有在充分增加邻域大小后,两个密度才发生变化(见图(b))。
由于离群值很容易在小群中发生,因此聚类异常现象很常见。如图(c)所示,在异常值非常突出的情况下,这两种密度在开始时就发散了。因此,这些不同的图提供了有关为什么应将特定点视为异常值的见解。同样值得注意的是,LOCI图是特定于单个数据点的。因此,通常只在LOCI算法确定的一小部分有趣点上利用它。

 

4.4基于直方图的技术

 

直方图使用空间划分方法进行基于密度的汇总。

4.4.1 单变量直方图

在单变量数据的最简单情况下,将数据离散为最小值和最大值之间相等宽度的bin,并估计每个bin的频率。位于极低频率的bin中的数据点即为异常值。

4.4.2 多变量直方图

在多变量数据的情况下,可以采样以下两种不同的方式概况该方法:

1.针对每个维度分布计算离群值(异常值),然后对这些分数进行汇总。

2.【可以同时生成沿每个维度的离散化,并可以构建网络结构。可以使用网络结构中的点分布来创建稀疏区域的模型。这些稀疏区域中的数据点时异常值。】

4.4.3 注意点

在某些情况下,数据点的频率计数(分数)通过减少1来调整。 这是因为在极值分析中,将数据点本身包含在计数中可以掩盖其异常。

4.4.4 直方图与聚类方法

直方图与聚类方法非常相似,因为它们总结了数据的密集和稀疏区域,以计算离群点分数;主要区别在于聚类方法对数据点进行分区,而直方图方法倾向于将数据空间划分为大小相等的区域。

4.4.5 直方图技术面临的主要挑战

---------基于直方图技术的主要挑战是通常很难很好地确定最优直方图宽度。 过宽或过窄的直方图不会在最佳检测异常值所需的粒度级别上对频率分布进行建模。

当bin太窄时,落在这些垃圾箱中的正常数据点将被识别为异常值。

另一方面,当bin太宽时,异常数据点可能会落在高频bin中,因此不会被识别为异常值。

在这样的设置中,改变直方图宽度并获得相同数据点的多个分数是有意义的。 这些(对数似然)分数然后在不同的基本检测器上平均,以获得最终结果。 与聚类一样,基于直方图的方法在预测方面往往具有很高的变异性,这取决于参数选择,这使得它们成为集成方法的理想候选。

-----------使用基于直方图的技术的第二个(相关的)挑战是,它们的空间划分方法使它们对集群异常的存在近视。 例如,在下图4.2的情况下,基于多元网格的方法可能无法将孤立的一组数据点归类为异常值,除非仔细校准网格结构的分辨率。 这是因为网格的密度只取决于它内部的数据点,当表示的粒度较高时,孤立的一组点可能会创建一个人为密集的网格单元。 这个问题也可以通过改变网格宽度和平均分数来部分解决。

读书笔记《Outlier Analysis》 第四章 基于邻近的异常检测_第6张图片

4.4.6 直方图的局限性

直方图方法在高维中不能很好地工作,因为网格结构的稀疏性随着维数的增加而增加,除非孤立点分数是根据仔细选择的低维投影计算的。 例如,d维空间将包含至少2d网格单元,因此,预期填充每个单元的数据点的数量随着维数的增加而呈指数下降。虽然基于直方图的技术具有很大的潜力,但为了获得最佳效果,它们应该与高维子空间组合(见第5章和第6章)相结合。

4.5核密度估计

就建立密度分布而言,核密度估计方法与直方图技术相似。

但是,核密度估计通过使用核函数而不是离散计数来构建密度曲线的更平滑版本。

由于这两类方法之间的相似性,因此在两种情况下趋于获得相似的结果,尤其是如果使用集成方法来平滑实现和特定于参数的效果,则尤其如此。

 

5.基于邻近的检测方法的局限性

大多数基于邻近的方法使用距离来定义不同粒度级别的异常值。通常,为了提高精度,需要更高级别的粒度。特别是,通过各种形式的汇总来抽象数据的方法并不能很好地区分真实异常和噪声区域。这种弱点表现在不同类型的总结预测的高度变异性。在这种情况下,由于汇总过程的模糊性而产生的预测的可变性需要仔细地结合全局和局部分析,以便在数据中找到真正的异常值。

高维数据中,一个更基本的限制不是效率,而是发现的异常值的质量。在高维数据中,所有点之间几乎相等,因此距离上的对比度会丢失。这也被称为维度灾难,其源于数据的稀疏。随着维数的增加,大多数特征对离群点检测没有信息,这些维数的噪声效应以非常负面的方式影响基于邻近的方法。在这种情况下,异常值可以被特征中的噪声掩盖,除非相关的维度可以通过异常值检测方法显式地发现。由于基于邻近的方法自然地被设计用来使用数据中的所有特征,他们的质量将随着维数的增加而自然下降。确实存在一些方法可以改善这种方法在提高子空间方法的维数方面的有效性。 这些方法将在第5章中讨论。

 

6.总结

本章概述了用于离群值分析的主要基于接近度的技术。 所有这些方法都使用数据点之间的邻近度信息来确定数据中的异常值。 这些方法在互补的意义上与聚类技术紧密相关。 前者在稀疏数据位置中找到异常点,而后者(聚类)则试图确定密集数据位置。 因此,聚类本身是基于邻近度的离群分析中常用的方法。 通过正确选择聚类方法,还可以使该方法适应数据中任意形状的模式。 这样的方法也可以扩展到任意数据类型

基于邻近性的方法由于易于实现和可解释性而在文献中广受欢迎。 使用此类方法的主要挑战在于它们通常需要大量计算,并且在最坏的情况下,大多数高质量方法都需要O(N2)距离计算。 当需要二进制标签而不是分数时,可以使用各种剪枝方法来提高其效率。 在各种修剪方法中,采样方法是最有效的方法之一。 局部归一化是用于提高各种异常值检测算法的有效性的原理。 两种常见的局部算法包括LOF和LOCI算法。 最后,文献中还研究了基于直方图和核密度估计的技术。 尽管这些方法尚未广受欢迎,但与集成方法结合使用时,它们具有巨大的潜力。

 

 

 

你可能感兴趣的:(离群点(异常)检测,机器学习,异常检测)