空间异常值检测的工作原理

空间异常值检测工具通过计算局部异常值因子 (LOF) 来衡量研究区域中的点与其局部邻域中其他点的偏远程度。 除了将输入点分类为异常值或非异常值之外,该工具还可以生成带有整个研究区域中的所计算局部异常值因子的栅格表面,这有助于确定在给定数据空间分布的情况下如何对新观测点进行分类。

可能的应用

该工具的潜在应用包括以下情景:

  • 维护用于提供空气质量表面插值的空气质量监测站的组织希望找出最孤立的监测器,以判断在哪些地点需要收集补充数据。
  • 献血活动通常会在潜在献血者群体附近举行,从而最大程度缩短每位献血者的出行距离,但是,对于生活在较远位置的重要献血者,可能需要采取进一步的交流和激励措施,以促进自愿献血。 协调员可以识别出可视为空间异常值的这些候选献血者,并发送邮件说明额外的激励措施,以鼓励他们前往较远地点参加献血活动。

定义检测空间异常值的标准

要使用工具测量和识别空间异常值,需要为每个要素评估相邻要素的数目参数,以及研究区域中视为异常值的位置的百分比参数的值;在确定 LOF 计算中的邻域大小以及指定异常值和非异常值的阈值时,这些标准非常重要。

  • 相邻要素的数目参数可为每个要素建立邻域。 LOF 计算使用该邻域来计算可达距离和局部可达密度,这构成了比较的基础,以根据其紧邻区域的要素来估计要素在空间上的距离是否偏远。
  • 视为异常值的位置的百分比参数可确定将要素指定为异常值或非异常值的阈值。 此阈值针对输入数据中的所有要素使用所计算 LOF 值,从而建立具有最高 LOF 值(被指定为异常值)的要素数量。

建议尽可能使用域知识帮助您设置这些参数的值,例如以下示例:

  • 运输工程师可能具有固有域知识,了解交叉路口的几次崩溃表明存在系统性安全问题,并且可以使用该值作为检测空间异常值时评估的相邻要素的数目。
  • 献血活动协调员会列出潜在的献血志愿者。 协调员会安排预算鼓励 10% 的最偏远志愿者,以补偿他们到达献血站点的出行时间。协调员会使用 10% 视为异常值的位置的百分比来帮助规划献血活动的站点和激励措施。

工具输出

该工具可提供输出要素图层,以突出显示指定为空间异常值的要素。 异常值用橙色表示,非异常值用半透明的灰色表示,这样可以直观地评估非异常值的空间密度。

已识别的空间异常值

要素图层包括两个图表:一个显示异常值和非异常值计数的条形图,以及一个显示 LOF 值分布的直方图。

显示异常值计数的条形图提供了异常值的即时计数,并且可以作为从输出分析中选择所有异常值的有效方法。

异常值计数直方图

显示 LOF 值分布的直方图包括平均 LOF 值以及用于区分异常值和非异常值的 LOF 阈值。

LOF 值的直方图

此外,如果在输出预测栅格参数中输入一个值,将生成一个输出栅格,以显示研究区域中每个像元的所计算 LOF 值。

输出栅格表面

输出栅格以连续表面形式显示 LOF 值。

了解空间异常值检测

识别异常或偏远位置通常比识别典型或聚类位置更为重要。 以调查潜在的欺诈性金融交易为例,这些交易通常出现在与典型交易空间模式不同的异常位置。

尽管存在此类需求,但大多数尝试识别异常值的方法都侧重于先识别聚类,然后将其余要素用作空间异常值的推论。 例如,基于密度的聚类工具擅长使用各种方法来定义和识别空间聚类,但其异常值的识别则归为不满足聚类标准的要素,即在二进制方法中指定为噪声的要素。 因此,仅使用聚类方法来识别空间异常值至少有两个缺点。 首先,从设计的角度来说,聚类方法专注于定义和识别聚类,而不是异常值。 其次,异常值的指定通常以二进制方式进行,并未将容差或关于观测点异常值的量化水平考虑在内。

局部异常值因子 (LOF) 专注于识别异常值,并提供关于要素偏远情况的测量方法,从而能够解决这些缺点。 此外,此方法使用局部密度模式来比较要素邻域的密度与其附近其他要素邻域的密度。 这样,您可以区分整体异常值(在整个研究区域范围内的异常点)和局部异常值(在紧邻范围内的异常点)。 专注于局部异常值有助于发现需要更深入研究的更复杂的局部现象,例如前文提到的交易历史记录情景。

局部异常值因子

局部异常值因子计算是识别和描述空间异常值的主要机制。 此过程包括四个主要步骤:建立邻域、找到可达距离、计算局部可达密度以及计算局部异常值因子本身。 以下部分会对每个步骤进行描述。

建立邻域并找到可达距离

使用指定的最小要素数量为每个位置建立一个局部邻域。 这种方法通常称为“K 最近邻域”,其中 K 对应于当前分析要素附近的指定最小要素数量。 例如,下图显示了要素 A 的场景,其中相邻要素数目 k 等于 4。

要素 A 的邻域

要素 1、2、3 和 4 构成要素 A 的邻域,现在将其视为 B。

建立要素的邻域后,可达距离对应于 A 与 B 之间的距离和 B 与“K 最近邻域”之间距离中的较大者

可达距离公式

下图显示了在 k = 4 的情况下 A 点的可达距离。

要素 A 的可达距离

同样,每个要素都有一个由 K 最近邻域定义的可达距离。

查找局部可达密度

找到每个要素的可达距离后,可以计算出该要素邻域中所有要素的可达距离的平均值。 该平均值将用于确定局部可达密度,以便可以测量要素邻域的空间密度。 局部可达密度的计算对应于要素邻域中所有要素的平均可达距离的倒数。

局部可达密度公式

将局部可达密度概念化的另一种方法是计算属于要素 A 邻域的所有要素 B1 至 B4 的可达距离,如下图所示。

每个相邻要素的可达距离

然后将总距离除以要素数量(在本例中为 4),然后取倒数(用 1 除以该总和)。

您可以进一步概念化局部可达密度,随着要素的平均可达距离增加,局部可达密度会减小。 因此,随着要素的平均可达距离减小,局部可达密度会增大。

局部可达密度比较

计算局部异常值因子

在为所有要素计算局部可达密度之后,局部异常值因子计算的最后一步是计算某个要素的局部可达密度与其每个邻域的局部可达密度的比率。 这些比率的平均值为局部异常值因子。

局部异常值因子公式

要概念化描述这将如何帮助检测某个要素是否为空间异常值,我们可以考虑随着要素的局部可达密度减小(换句话说,要素的邻域变得稀疏)和其相邻要素的局部可达密度增大(换句话说,要素的邻域更加密集),局部异常值因子会增大:要素变得更加偏远,原因在于其空间密度较低,而其邻近要素的空间密度较高。

在为所有要素计算出局部异常值因子后,该工具将使用指定为异常值的位置的百分比参数值将要素指定为异常值和非异常值。 因此,在定义和解释分析结果时,需遵循重要标准选择合适的百分比。

对输出的考虑和解释

解释此工具的输出时,需要牢记一些重要注意事项。

  • 为输入数据集计算的 LOF 值不能与为其他数据集计算的 LOF 值进行比较。 LOF 计算取决于数据集中输入要素的空间分布;因此,单独数据集中的任何差异都将导致所计算局部可达密度和 LOF 值不同。
  • 对于输出要素中的一个点和输出预测栅格中与该点重合的像元,所计算 LOF 结果可能会有所不同。 产生这种差异的原因是,该点的邻域包括其附近的相邻要素,而不包括其本身;但是,与该点重合的栅格像元将该点作为其相邻要素之一包括在内。
  • 对于所提交的视为异常值的位置的百分比参数,值的微小差异可能会导致所输出视为异常值的位置的百分比相同。 如果要素的空间分布相似,导致多个要素的 LOF 值相同,并且即使百分比相差很小时,也会建立相同的 LOF 阈值,就会出现这种情况。
    • 假设某个简单数据集包含 10 个要素,这些要素的 LOF 计算得出以下 LOF 值:[0, 1, 2, 3, 4, 5, 9, 9, 9, 9]。 在此示例中,如果视为异常值的位置的百分比值为 10%,则会导致选择相对于 LOF 阈值 9 的前 10% 的 LOF 值。 同样,如果视为异常值的位置的百分比值为 40%,尽管仍然会将 LOF 阈值设置为 9,还是会导致选择前 40% 的 LOF 值。 因此,对于 10% 到 40% 的百分比,被指定为异常值的异常值输出计数是相同的。

其他参考

有关局部异常值因子的详细信息,请参阅以下参考资料:

  • Breunig, M. M., Kriegel, H. P., Ng, R. T., Sander, J. (2000). "LOF: identifying density-based local outliers." Proceedings of the 2000 ACM SIGMOD international conference on Management of data. (pp. 93-104).