欢迎来到我关于异常值的第二篇博客。 在本集中,我将介绍如何使用分位数范围来检测异常值。
在第 1 集中,我们着眼于描述和直观地识别异常值。 您可能还记得,在一些简单的一维(或单变量)情况下,我们需要识别异常值。 这些是最容易识别的,分位数范围是查找它们的绝佳方法。
对于多维异常值检测,您必须等待我的下一篇文章!
什么是分位数?
分位数非常容易理解。 假设我们有一系列 20 个数字。 我们可以将数字从低到高排序。 然后,我们可以将这些点分组为分位数,这些分位数由排序数据中的分割点来标识,这些分割点描述了 X% 的数据落在以下的点。
请注意,分位数通常表示为分数(从 0 到 1)。 它们与范围从 0 到 100 的百分位数完全对应。 我将在这篇文章中交替使用它们。
图 1 显示了排序前后的 20 个数字,以及 0.20 和 0.50 分位数(或 20 th和 50 th百分位数)。
Figure 1: Data from 20 point sample, random order and sortedFigure 1: Data from 20 point sample, random order and sortedFigure 1: Data from 20 point sample, random order and sortedFigure 1: Data from 20 point sample, random order and sorted图 1:20 个点样本的数据,随机排序和排序
50的切入点th百分位数是样本的中位数。 (在本例中,中位数为 32.5,即 40 和 25 之间的中点。)
其他一些有趣的定义包括:
- 四分位数,将数据分为 25% 的组。 第一个四分位数表示落在最低 25% 的数据点,第二个四分位数表示落在 25% 和 50% 之间的数据点,依此类推。
- 四分位数范围 (IQR),定义 2 所涵盖的范围ND和 3 RD四分位数。
请注意,在讨论分位数时,没有对分布的形状做出任何假设。
JMP 中哪里可以找到分位数计算?
您可以在以下三个位置找到列出的分位数联合管理计划。 分布平台和图形生成器都使用相同的计算。 探索离群值/分位数范围离群值在离群值敏感性方面为用户提供了更大的灵活性。 让我们逐一看看。
分销平台
在分布中,所有连续/数值数据直方图都包含表格分位数摘要。 默认情况下,JMP 显示多个感兴趣的分位数。 在图 1 中标记为“原始数据”的列上使用“分布”平台会得到以下输出:

几个常见的分位数如图 2 的中心表所示。 您可以通过选择红色热点并选择“显示选项”,然后选择“设置分位数增量”或“自定义分位数”来更改此表中显示的分位数。
图 2 中还显示了箱须图。 图中显示的符号在图 2 中进行了注释。
晶须的末端对于检测异常值最感兴趣。 请注意,须线长度是根据四分位距的最小值和最大值测量的,并且须线结束于该范围 1.5 倍以内的最后一个数据点。 这是异常值检测的常见经验法则。 落在这些胡须之外的点可能值得进一步研究。
但在图 1 和图 2 所示的数据集中,该技术没有检测到异常值。 这种情况并不少见,尤其是在样本量较小的情况下。
图 3 显示了我之前博客文章中 1,000 个样本数据的分发平台输出。 这些样本是从随机正态分布中抽取的,平均值为 0.0,标准差为 1.0。 我还包括了 X1=4 处的点,该点在我之前的文章中被直观地识别为异常值:
Figure 3: Distribution platform output for 1,000 point sample from normal distributionFigure 3: Distribution platform output for 1,000 point sample from normal distributionFigure 3: Distribution platform output for 1,000 point sample from normal distributionFigure 3: Distribution platform output for 1,000 point sample from normal distribution图 3:正态分布 1,000 点样本的分布平台输出
随着样本量的增加,一些点现在看起来是异常值(至少按照晶须末端的定义)。 在这种特殊情况下,由于我们知道数据来自具有 1,000 个点的正态分布总体,因此看到至少一个值为 4 的点可能并不罕见。 在现实世界的案例中,胡须之外的点可能需要额外的调查。
在图形生成器中制作箱线图
您还可以在图形生成器中生成箱线图和须线图。 整个图形生成器设置如图 4 所示:
Figure 4: Graph Builder setup for Box & Whisker plot (1,000 point sample from normal distribution)Figure 4: Graph Builder setup for Box & Whisker plot (1,000 point sample from normal distribution)Figure 4: Graph Builder setup for Box & Whisker plot (1,000 point sample from normal distribution)Figure 4: Graph Builder setup for Box & Whisker plot (1,000 point sample from normal distribution)图 4:盒须图的图形生成器设置(正态分布的 1,000 个点样本)
请注意图表上方的图表类型图标(红色圆圈),它启用箱线图类型。
与分布平台一样,须线长度为 1.5*四分位数范围,并从 25 向下延伸th 75%以上th百分位数。
探索异常值
如果我们想选择其他晶须限制怎么办?
如上所述,1.5*IQR 的晶须长度是识别异常值的常见做法。 我相信这可能来自于大样本正态分布的观察。 超出四分位数范围的 1.5*IQR 可以显示包含 99.30% 的正态分布(在每个尾部留下 0.3488% 的数据)。 如果服从正态分布,这将识别相对罕见的事件。
但如果没有正态分布怎么办? 如果分布看起来像这样怎么办?
Figure 5: Skewed distributionFigure 5: Skewed distributionFigure 5: Skewed distributionFigure 5: Skewed distribution图 5:偏态分布
图 5 显示了 N=100 个点的偏态分布,根据 1.5*IQR 方法,在上须线之外有 5 个异常值。 但 X1=3 处的点真的是异常值吗? 或者也许胡须隐藏了其他需要进行异常值调查的点。 我们如何调整这个1.5*IQR规则呢?
JMP 允许您在分析/筛选/探索离群值下执行此操作,然后选择分位数范围离群值选项。 调出此选项后,将出现如图 5 中总结的 100 点示例的输入屏幕,如下所示。
Figure 6: Quantile Range Outliers user interface and sample outputFigure 6: Quantile Range Outliers user interface and sample outputFigure 6: Quantile Range Outliers user interface and sample outputFigure 6: Quantile Range Outliers user interface and sample output图 6:分位数范围离群值用户界面和示例输出
“分位数范围离群值”面板有两个主要输入:
- 尾分位数 (TQ)。 该分数描述了晶须计算中将使用的分布中的最小分割点。 (1-尾分位数)描述分布中的上切点。 这些分割点之间的差异描述了后续计算中使用的范围。
- 对于前面描述的 IQR 计算,尾部分位数将为 0.25,表明须线将从 25 开始th和 75 th百分位数,范围将是四分位数范围(或 75 th -25 th百分位数)。
- 分位数范围异常值中尾部分位数的默认值为 0.1,表示须线将从 10 开始th和 90 th百分位数,长度取决于 (90 th -10 th百分位)范围。
- 问。 这是用于确定晶须长度的乘数。
- 在之前的 IQR 计算中,该值为 1.5,因此四分位距乘以 1.5 即可得到晶须长度。
- 分位数范围离群值中 Q 的默认值为 3,表示晶须长度将由 (90 th -10 th百分位数)范围乘以 3。
分位数范围异常值的输出显示在图 6 面板的底部。 在这里我们看到 X1 列有 10 th百分位为 -1.283,90 th百分位数为 1.65556。 晶须的末端(在输出中分别表示为低阈值和高阈值 [LT 和 HT])基于以下计算:
LT = 10 th分位数 – (90 th分位数 – 10 th分位数)* Q
= -1.283 – (1.65556 – -1.283) * 3
= -10.099
高温=90 th分位数 + (90 th分位数 – 10 th分位数)* Q
= 1.65556 + (1.65556 – -1.283) * 3
= 10.4713
在这种情况下,该列中只有一个值超出了高阈值,即值 12.0,该值显示在报告的底部,如图 6 所示。
对尾分位数和 Q 的敏感性
异常值检测灵敏度显然由尾分位数和 Q 的值决定。 传统的 1.5*IQR 和 3*(90 th -10 th分位数)方法都是可以接受的,前者对于检测异常值更为敏感。 您可以使用分位数范围离群值平台根据特定情况的需要调整这些值。
虽然尾分位数和 Q 选择的有效性取决于您的特定分布,但我们可以通过查看正态分布来深入了解它们的行为。 下表显示了尾部分位数和 Q 的几种组合,以及正态分布尾部落在须线之外的值的百分比:
Table 1: Percent of outliers detected in large sample normal distribution for various values of tail quantile and QTable 1: Percent of outliers detected in large sample normal distribution for various values of tail quantile and QTable 1: Percent of outliers detected in large sample normal distribution for various values of tail quantile and QTable 1: Percent of outliers detected in large sample normal distribution for various values of tail quantile and Q表 1:在大样本正态分布中针对不同尾分位数和 Q 值检测到的异常值百分比
扩展这个想法,我们可以创建一个等值线图,更完整地显示表 1 中的数量:
Figure 7: Percent of outliers detected in large sample normal distribution for various values of Tail Quantile and QFigure 7: Percent of outliers detected in large sample normal distribution for various values of Tail Quantile and QFigure 7: Percent of outliers detected in large sample normal distribution for various values of Tail Quantile and QFigure 7: Percent of outliers detected in large sample normal distribution for various values of Tail Quantile and Q图 7:在大样本正态分布中针对不同尾分位数和 Q 值检测到的异常值百分比
图 7 清楚地表明,高尾分位数值和低 Q 值的组合使计算对异常值更加敏感,而低 TQ 值和高 Q 值使我们不太敏感。
下一集
下次我们再讨论马哈拉诺比斯距离,用于检测多个维度的异常值。
查看本系列的所有帖子了解异常值。
你好@疯狼,谢谢你的帖子。
您会发现分布平台使用 1.5*IRQ 方法,而分析/筛选/探索异常值默认使用 3*(第 90-10 个分位数)方法。两者都是帮助识别异常值的合法方法。
请记住,此类工具旨在识别“潜在”异常值。因此,他们只是助手。您可以尝试两种方法,看看结果是否不同。如果发现异常值(无论采用哪种方法),我会提醒您仍应对其进行调查,而不是简单地立即丢弃。这些数据可能试图告诉您一些重要的事情!因此,在丢弃异常值时要谨慎。
在我看来,这两种方法都会捕获“非常糟糕”的异常值。如果你读过我的第三篇博文关于马哈拉诺比斯距离,以及我(即将发布)关于折刀距离的第四篇文章,您会发现更多方法来帮助识别本文中评论的棘手情况下的异常值。
祝你好运!
你好呀,
感谢这篇文章。 这对我来说非常有洞察力。
你提到:“传统的 1.5*IQR 和 3*(90 th -10 th分位数)方法都是可以接受的”
我如何知道是否应该选择传统的 1.5*IQR 还是 3*(第 90-10 个分位数)(这是 JMP 的默认值)?
此外,我是否继续扫描并排除异常值,直到最终扫描显示不再存在异常值?