统计学基础

如何使用 IQR 方法
检测异常值(分步指南)

了解四分位距 (IQR) 方法如何利用四分位数和 Tukey 围栏 检测异常值。跟随分步计算,并比较 IQR 与其他稳健的异常值检测技术。

发布于:2025年10月24日
更新于:2026年2月3日
阅读时间: 12 分钟
难度等级: 中级

1. 什么是 IQR (四分位距) 方法?

四分位距 (Interquartile Range, IQR) 方法 通过测量数据集的中间 50% 来检测异常值。它利用四分位数(Q1 和 Q3) 来识别显著低于或高于大多数值的数据点。

基于 IQR 的异常值检测被广泛使用,因为它是非参数的 (不假设正态分布)并且对极端值具有稳健性

关键公式

IQR = Q3 - Q1

Q1 是第 25 百分位数,Q3 是第 75 百分位数。

2. 如何分步计算 IQR

分步工作流程

  1. 排序数据集:按升序排列。
  2. 计算 Q1 (下四分位数):下半部分数据的中位数。
  3. 计算 Q3 (上四分位数):上半部分数据的中位数。
  4. 计算 IQR:用 Q3 减去 Q1。

示例数据集

数据: [12, 14, 16, 19, 22, 24, 27, 35]

Q1 = [12, 14, 16, 19] 的中位数 = (14 + 16) / 2 = 15

Q3 = [22, 24, 27, 35] 的中位数 = (24 + 27) / 2 = 25.5

IQR = 25.5 - 15 = 10.5

3. Tukey 围栏和异常值分类

Tukey 围栏定义了边界,超出该边界的数据点会被标记为异常值。 标准乘数是 1.5×IQR 用于“温和”异常值,3.0×IQR 用于“极端”异常值。

标准围栏 (Standard Fences)

  • 下围栏: Q1 - 1.5 × IQR
  • 上围栏: Q3 + 1.5 × IQR
  • 围栏外的点 = 潜在异常值

扩展围栏 (Extended Fences)

  • 下极端围栏: Q1 - 3 × IQR
  • 上极端围栏: Q3 + 3 × IQR
  • 超出极端围栏的点 = 强异常点

记住

1.5×IQR 乘数是一个惯例,并非普遍规则。对于金融或医疗保健等 敏感领域,请调整乘数或与稳健方法(如 MAD 异常值检测)进行比较。

4. 计算示例

示例 1:质量控制数据

场景: 一组制造传感器的读数(单位:mm): [10.1, 10.3, 10.4, 10.5, 10.6, 10.7, 10.9, 12.0]

  • Q1 = 10.35, Q3 = 10.8 → IQR = 0.45
  • 下围栏 = 10.35 - 1.5 × 0.45 = 9.675
  • 上围栏 = 10.8 + 1.5 × 0.45 = 11.475
  • 值 12.0 超出了上围栏 → 被标记为异常值
→ 在 PlotNerd 中检测此数据 →

示例 2:客户消费

场景: 12位客户的月消费额 (USD): [120, 140, 155, 160, 170, 175, 180, 190, 205, 210, 225, 500]

  • Q1 = 157.5, Q3 = 205 → IQR = 47.5
  • 上围栏 = 205 + 1.5 × 47.5 = 276.25
  • 值 500 是一个异常值 → 调查消费异常
→ 在 PlotNerd 中尝试客户数据 →

5. 优势与局限性

优势

  • 对极端值稳健(Robust)
  • 无分布假设
  • 易于解释和实施
  • 驱动标准的箱线图可视化
  • 适用于偏态分布

局限性

  • 假设数据具有一致的尺度
  • 阈值 (1.5×IQR) 可能需要调整
  • 可能会漏掉合法的极端值群集
  • 不适合非常小的样本量

6. IQR vs 其他异常值检测方法

方法 最适合 优势 注意事项
IQR (1.5×) 通用目的,偏态数据 对异常值稳健,易于解释 阈值可能需要调整
MAD 高度偏态或重尾数据 使用基于中位数的尺度,非常稳健 不太直观,需要修正的 Z-score
Z-Score 正态分布数据 计算简单 对异常值和偏度敏感
百分位规则 自定义阈值 (如 1%/99%) 灵活 需要领域知识

结合 IQR 与 MAD 检测,或者在 PlotNerd 中启用缺口箱线图以突出统计显著性。

7. 实施清单

  • 确保数据是数值型的且没有无效条目
  • 决定在检测后是否保留/排除异常值
  • 在报告中记录使用的乘数(1.5× 或自定义)
  • 报告中心趋势和离中趋势(参见 平均值 vs 中位数 vs 众数)。
  • 对于重尾数据,比较 IQR 结果与 MAD
  • 在 PlotNerd 中可视化结果以传达发现

8. 常见问题解答 (FAQ)

问:我可以更改 1.5× 乘数吗?

答: 可以。根据你对异常值的容忍度调整乘数。 对于高度监管的行业,可以考虑 1.0×。对于探索性分析,2.0× 可以减少误报。

问:IQR 适用于小数据集吗?

答: 当样本量小于 8 时,IQR不太可靠。 在这种情况下,请补充领域知识或收集更多数据。

问:IQR 如何处理偏态数据?

答: IQR 在处理偏态数据时表现良好,因为它关注四分位数。 对于严重偏态的分布,请将结果与 MAD 检测进行比较。

问:我可以自动化 IQR 检测吗?

答: 是的。使用 PlotNerd 的计算器 或在代码(R, Python, Excel)中实施 IQR 逻辑。始终记录 乘数和决策以备审计。

9. 结论

IQR 方法是检测异常值的可靠起点。它平衡了简单性与稳健性, 使其成为探索性数据分析、报告和自动质量检查的理想选择。

结合 IQR 与箱线图等可视化工具以及其他指标(MAD, Z-score) 来验证发现并有效地传达见解。

准备好检测异常值了吗?

使用 PlotNerd 的 IQR 异常值检测器通过 Tukey 围栏方法 即时计算四分位数、IQR 和围栏。支持 Tukey 和 MAD 方法 以进行稳健的异常值检测。

打开 IQR 异常值检测器

相关文章

相关工具