异常检测方法全解析
1. 统计指标在异常检测中的应用
统计测试可用于判断单个新数据点是否与之前的数据相似。例如,通过维护序列的聚合移动平均值,使基于阈值的异常检测器适应不断变化的数据。时间序列数据的移动平均值可作为自适应指标,指示数据点与长期趋势的符合程度。移动平均值(在信号处理术语中也称为低通滤波器)是统计比较的参考点,与平均值的显著偏差将被视为异常。
1.1 中位数绝对偏差(MAD)
标准差常用于自适应阈值检测异常,但如果数据包含异常值,计算出的均值和标准差会有偏差。中位数绝对偏差(MAD)是在一维数据中查找异常值的常用替代方法。MAD 定义为系列中位数的绝对偏差的中位数,以下是计算示例:
import numpy as np
# 输入数据系列
x = [1, 2, 3, 4, 5, 6]
# 计算中位数绝对偏差
mad = np.median(np.abs(x - np.median(x)))
# MAD of x is 1.5
由于中位数比均值更不容易受到异常值的影响,MAD 是一种稳健的度量方法,适用于训练数据包含异常值的场景。
1.2 Grubbs 异常值检验
Grubbs 检验是一种在正态分布数据集中查找单个异常值的算法。该算法通过考虑序列中的当前最小值或最大值来迭代应用,每次迭代之间移除先前检测到的异常值。常用的方法是计算 Grubbs 检验统计量和 Grubbs 临界值,如果检验统计量大于临界值,则将该点标记为异常值。但这种方法仅适用于正态分布,且每次迭代只能检测一个异常值,效率可能较低。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



