单指标时序异常检测学习笔记

本贴最后更新于 1315 天前,其中的信息可能已经水流花落

单指标时序异常检测学习笔记

Metis 开源项目

Metis 采用 Tsfresh 和 XGBoost 组件进行时序异常检测,采用了三个时间窗口去进行预测

特征数据格式

时间窗默认 180 分钟,数据粒度 1 分钟

数据 上一时间窗 当前时间 下一时间窗
当前时刻 A
昨日同期时刻
上周同期时刻

算法思路

先使用三种非监督方法进行检测,当某一方法输出异常时使用全监督的 XGBOOST 进行检测

非监督算法

Statistic 方法

3sigma 法,检测当前时刻点数值与历史数值均值相差是否大于三倍标准差

EWMA 方法

指数加权移动平均法,相比于 3sigma 法给予历史数据一个指数级递减的权重,距离当前数据点越近则权重越大

阈值为一下公式所示,其中\alpha为学习率

Polynomial Interpolation 方法

多项式回归

IForest 方法(未使用)

孤立森林方法

全监督训练方法

XGBOOST

XGBOOST 是 GBDT(Gradient Boosting Decision Tree)的高效实现方法,并在 Kaggle 竞赛上获奖颇多。

参考

腾讯织云 Metis 异常检测原理刨析

通俗理解 kaggle 比赛大杀器 xgboost

终于有人说清楚了--XGBoost 算法

基于时间序列的异常检测算法小结

ARIMA(差分整合移动平均自回归模型)

ARIMA 更是一种类似于 EWMA 的时间序列预测模型

进行预测的一般步骤

  1. 数据获取与清洗:包括对数据进行预处理(比如利用数据平滑消除数据抖动)
  2. 数据预处理:时序图(原始图),自相关、偏自相关(消除序列的周期性与时间相关性),差分(消除自增减趋势,会损失数据)
  3. 模型识别:通过算法分析数据特征来确定使用何种检测算法或预测算法
  4. 模型定阶
  5. 参数估计
  6. 模型验证

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...