什么是孤立点检测?
孤立点检测是指检测异常值的过程,即远离平均值的数据点,并根据您要尝试完成的事情,可能从分析中将其删除或解决以防止任何潜在的偏差。孤立点检测是为创建良好可靠的数据所采取的一个最为重要的过程。
什么是孤立点?
孤立点是超出其类型的预期标准的极端数据点。这可以是整个混乱的数据集,也可以是某个数据集的异常值。以标准钟形曲线为例,异常值是最右侧和最左侧的数据。这些孤立点可以表示欺诈或其他您试图检测的异常情况,但也可能是测量错误、实验性问题或一个新的一次性突发事件。基本上,它指的是与预期样本和模式有很大差异的一个数据点或一组数据点。
有两种类型的孤立点:多变量和单变量。单变量孤立点是指对于一个变量来说极端的数据点。多变量孤立点是指异常数据点的组合,包括至少两个数据点。
点孤立点:这些是远离其余数据点的单个数据点。
情境孤立点:这些值被视为 “噪声”,例如文本中的标点符号和逗号,或者执行语音识别时的背景噪音。
集体孤立点:这些是意外数据的子集,显示出与常规数据的偏差,这可能表明出现了一种新的现象。
什么原因导致孤立点?
造成孤立点的主要原因有八个。
- 人类输入的数据不正确
- 使用代码取代值
- 抽样错误,或者数据从错误的地方提取或与其他数据混合
- 变量的意外分布
- 应用程序或系统导致的测量错误
- 提取数据时的实验性错误或规划错误
- 故意的插入假异常值来测试检测方法
- 数据中的自然偏差,实际上不是错误,表明欺诈或其他您试图检测的异常情况
在收集和处理数据时,孤立点可能来自不同来源,并以多种形式隐藏。识别孤立点并将其与以意外方式表现的真实数据区分开来,是孤立点检测过程的一部分。
不是实际错误而是一组真正的意外数据的孤立点被称为新奇事物。数据科学家工作的一部分就是确定新奇事物并将其留在数据集中,因为它们对决策和确保结果准确无误至关重要。

用户为什么要寻找孤立点?
人工智能 (AI)、机器学习 (ML) 和数据科学的核心问题之一是数据质量。随着数据科学环境的发展,数据也在扩张和增长。但孤立点或异常现象也有所增加。这意味着异常数据可能会阻碍模型规格,迷惑参数估计并生成不正确的信息。想一想数据科学会在哪里使用以及此类错误数据如何重要:
- 投票违规
- 临床药物试验:想象一下,如果一种好药物的效果不佳或者测量不正确,可能会错过一系列治疗方案。
- 欺诈检测:这可能导致人们在风险低时被拒绝信贷,或者在风险高时被给予信贷。
- 业务决策:如果企业被告知要做出某种选择但数据有缺陷,那么这可能导致巨额的营销开支,而投资回报很少甚至没有,甚至更糟的是,失去有价值的客户。
- 智能城市:如果数据质量不佳或被黑客入侵并遭到恶意变更,城市管理员将难以对城市中的任何事情做出准确的决策,包括交通信号灯安装、垃圾收集或警务号码。
用于孤立点检测的技术
数据科学家可以使用多种技术来识别孤立点,并决定它们是错误还是新奇事物。
数字孤立点
这是最简单的非参数化技术,其中数据位于一维空间中。孤立点是通过将其分为三个四分位数来计算的。接着,将范围限制设置为箱形图上下须。然后,可以删除位于这些范围之外的数据。
Z-分数
此参数化技术表示某个数据点与样本的平均值有多少标准差。这假定是高斯分布(正态的钟形曲线)。但是,如果数据不是正态分布的,则可以通过缩放数据并使其具有更正常的外观来转换数据。接着计算数据点的 z-分数,放置在钟形曲线上,然后使用启发式算法(经验法则)可以确定标准差阈值的截止点。这样,超出该标准差的数据点就可以归类为异常值并从方程中移除。Z-分数是一种简单而有效的移除孤立点的方法,但它只对中小型数据集有用。它不能用于非参数化数据。
DBSCAN
这是基于密度的有噪音的空间集群应用,基本上以图形表示数据密度。利用复杂的计算,它将数据聚集在一组相关点中。DBSCAN 将数据分组到核心点、边界点和孤立点中。核心点是主要的数据组,边界点有足够的密度可以被视为数据组的一部分,而且孤立点根本不存在于集群中,可以不用作为数据考虑。DBSCAN 在三个或更多维度上都很好,非常直观,使可视化变得容易。但是,要素空间中的值需要缩放,选择最佳参数可能非常棘手,每次需要分析新数据时都需要重新校准模型。
隔离森林
这种方法对于查找新颖性和孤立点非常有效。它使用二叉决策树,这些决策树是使用随机选择的要素和随机拆分值构建的。接着,森林树形成了一个树状森林,并被平均化。然后,可以计算孤立点分数,给每个节点或数据点 0 到 1 的分数, 0 表示正常值、1 表示更多为孤立点。隔离森林不需要扩展,当您无法假设价值分配时,它们是有效的。它的参数很少,因此很稳健且易于优化。但是,数据可视化很复杂,可能是一个漫长而昂贵的过程。
孤立点检测的挑战
任何数学过程或数据科学策略都不能免于错误或问题。为了正确删除孤立点,必须妥善管理大型数据集,同时保持有效的数据和新颖性不变。一些挑战包括:
- 当噪声或孤立点与有效数据非常相似时,很难从好的数据中挑剔有缺陷的数据。
- 孤立点行为可能会改变特征。这意味着之前正确识别孤立点的算法和模型可能不再起作用。
- 数据可能会被过度修剪,也可能会删除应包括在数据集中的真正孤立点。
- 恶意数据攻击可以将数据改变,从而混淆结果。
所有这些挑战都可以通过不断重新评估的优秀算法来克服,以确保它们的准确性。