平均值(Mean μ)
μ (mu) 是数据集的平均值(平均值)
$$ \mu = \frac{1}{N} \sum_{i=1}^N x_i $$
方差(Variance)
样本数据和平均数之差 的 平方和的平均数。
$$ \sigma^2 = \frac{1}{N} \sum_{i=1}^N (x_i - \mu)^2 $$
标准差 (Standard Deviation σ)
- σ (sigma) 是标准差,用于衡量数据的分布程度。
标准差是方差的平方根
$$ \sigma = \sqrt{\frac{1}{N} \sum_{i=1}^N (x_i - \mu)^2} $$
移动平均数
平均值 + 标准差
Z分数
Z分数就像一个特殊的数字,告诉我们某件事与通常或平均事物的距离有多远。这就像说你是否做得很好,与大多数人相比,还不错,或者不太好。
3σ 三西格玛定律
$$ z=\frac{x-\mu}{\sigma} $$
轻量级统计方法
适合简单阈值漂移、周期性波动检测,资源消耗低。
| 项目 | 核心算法 | GitHub地址 | 特点 |
|---|---|---|---|
| ADTK | 滑动窗口统计、阈值漂移 | arundo/adtk | 基于Pandas,无需训练,直接计算动态阈值 |
| Skyline | 多检测器投票(9种统计方法) | etsy/skyline | 适合单指标异常,ETSY生产级方案 |
| aiopstools | EWMA、孤立森林、同环比 | jixinpu/aiopstools | Skyline的360优化版,新增检测器,支持多维度 |
二、机器学习方案
适合复杂模式识别,需少量数据标注或特征工程。
| 项目 | 核心算法 | GitHub地址 | 特点 |
|---|---|---|---|
| PyOD | LOF、iForest、AutoEncoder | yzhao062/pyod | 集成50+算法,适配多维非时序数据 |
| ELKI | DBSCAN、KNN异常评分 | elki-project/elki | 学术级工具,支持自定义距离度量 |
三、深度学习方案
适合高频、非线性时序数据,需GPU加速。
| 项目 | 核心算法 | GitHub地址 | 特点 |
|---|---|---|---|
| Keras-TCN | 时序卷积网络(TCN) | philipperemy/keras-tcn | 处理长期依赖,抗噪声能力强 |
| TadGAN | GAN + AutoEncoder | tsibbe/tadgan | 无监督检测,适合无标注数据 |
四、周期性数据专用
针对有明显周期规律的指标(如日/周波动)。
| 项目 | 核心算法 | GitHub地址 | 特点 |
|---|---|---|---|
| Prophet | 时间序列分解+残差分析 | facebook/prophet | 支持节假日效应,解释性强 |
| Darts | Prophet、ARIMA、RNN | unit8co/darts | 统一API封装多算法,便于对比 |
https://medium.com/@akashsri306/detecting-anomalies-with-z-scores-a-practical-approach-2f9a0f27458d
https://maimai.cn/article/detail?fid=1731698655&efid=oR6BYKSy7wQguqNgpOlsoQ