What is IQR
Interquartile Range, IQR, 即四分位距。 基于IQR进行anomaly detection常用于检测非正太分布数据中的异常值,它通过数据的四分位数(Q1和Q3)来识别和去除异常值,较Z-score方法更适合处理有偏或非正态分布的数据。
- 第一四分位数(Q1):下四分位数,表示数据中最小25%的点所在位置。
- 第三四分位数(Q3):上四分位数,表示数据中最大25%的点所在位置。
- 四分位距(IQR):是Q3与Q1之间的差值,计算公式为:
Algorithm Detail
-
排序数据:
- 将数据从小到大排序。
-
计算四分位数:
- Q1:找到排序后数据中第25%的位置。
- Q3:找到排序后数据中第75%的位置。
-
计算四分位距:
- IQR = Q3 - Q1,表示数据中间部分的扩展范围。
-
设定上下限:
- 定义下限和上限,用于判断异常值。
- 下限 = Q1 - 1.5 × IQR
- 上限 = Q3 + 1.5 × IQR
- 1.5倍IQR是一个常用的经验值,可以调整为其他倍数(如2倍或3倍),取决于具体应用场景。
-
检测异常值:
- 任何小于下限或大于上限的数据点被认为是异常值。
Pros and Cons
优点:
- 不依赖数据分布:IQR算法不需要假设数据为正态分布,适合处理有偏分布或非对称分布的数据。
- 对极端值不敏感:与Z-score不同,IQR不受极端值的影响,因为它依赖于中位数和四分位数,而非均值和标准差。
缺点:
- 对大规模数据集处理效率较低:在大型数据集中计算四分位数和IQR可能会比较耗时。
- 对数据边界的敏感性:虽然IQR能有效识别极端的异常值,但对于靠近上下界的边缘数据,可能会过度标记为异常。