What is IQR

Interquartile Range, IQR, 即四分位距。 基于IQR进行anomaly detection常用于检测非正太分布数据中的异常值,它通过数据的四分位数(Q1和Q3)来识别和去除异常值,较Z-score方法更适合处理有偏或非正态分布的数据。

  • 第一四分位数(Q1):下四分位数,表示数据中最小25%的点所在位置。
  • 第三四分位数(Q3):上四分位数,表示数据中最大25%的点所在位置。
  • 四分位距(IQR):是Q3与Q1之间的差值,计算公式为:

Algorithm Detail

  1. 排序数据

    • 将数据从小到大排序。
  2. 计算四分位数

    • Q1:找到排序后数据中第25%的位置。
    • Q3:找到排序后数据中第75%的位置。
  3. 计算四分位距

    • IQR = Q3 - Q1,表示数据中间部分的扩展范围。
  4. 设定上下限

    • 定义下限上限,用于判断异常值。
    • 下限 = Q1 - 1.5 × IQR
    • 上限 = Q3 + 1.5 × IQR
    • 1.5倍IQR是一个常用的经验值,可以调整为其他倍数(如2倍或3倍),取决于具体应用场景。
  5. 检测异常值

    • 任何小于下限或大于上限的数据点被认为是异常值。

Pros and Cons

优点:

  • 不依赖数据分布:IQR算法不需要假设数据为正态分布,适合处理有偏分布或非对称分布的数据。
  • 对极端值不敏感:与Z-score不同,IQR不受极端值的影响,因为它依赖于中位数和四分位数,而非均值和标准差。

缺点:

  • 对大规模数据集处理效率较低:在大型数据集中计算四分位数和IQR可能会比较耗时。
  • 对数据边界的敏感性:虽然IQR能有效识别极端的异常值,但对于靠近上下界的边缘数据,可能会过度标记为异常。