论文标题丨Practical Approach to Asynchronous Multivariate Time Series Anomaly Detection and Localization

论文来源丨KDD 2021

论文链接丨https://dl.acm.org/doi/10.1145/3447548.3467174

源码链接丨https://github.com/eBay/RANSynCoders

TL;DR

基于 eBay SREs 观测到的异步时间序列场景,论文中提出一种生产环境可用的多变量时间序列异常检测和定位模型 RANSynCoders。主要想法是:首先利用 AutoEncoder 对原始异步时间序列提取特征,然后对序列特征进行傅里叶变换分析,学习到相位差来对齐异步时间序列获得同步的时间序列表示,最后选择同步时间序列的子集序列来训练 AutoEncoder 重构误差来推断和定位异常(majority vote)。实验部分不仅在公开数据集和 eBay 自家数据验证了 RANSynCoders 模型的有效性,还提出了一种更加真实的评价方法。

Algorithm/Model

论文中提到的模型如下所示

主要包括以下内容:

  • 原始序列潜在谱密度估计

  • 异步时间序列转为同步表示

  • 时序异常检测和定位

谱密度估计

主要是利用 autoencoder 来提取原始时间序列的特征,对应的重构损失函数为 [50th quantile loss]。

然后对于每个单变量序列特征应用 FFT 来得到大小为 的频率向量 ,可以通过对应的正弦波近似表示原始多变量序列

异步时间序列对齐

对于 个特征和 个观测点(对应时间戳 )的多维时间序列,其傅里叶变换后的表达形式如下

其中 分别表示特征维度索引及其对应的时间戳, 为对应的频率; 表示振幅、相位和基; 表示对应的特征噪声。

对于噪声的定义如下

其中 表示 最大的值,对于原始异步序列

举????说明上述傅里叶变换的结果如下所示

需要上述异步时间序列进行对齐,例如参考时间点 及其异步的相位差 ,计算公式如下

对应的噪声为

举????说明对齐后的时间序列结果如下图所示,可以将不同时刻的时间序列同步到一个时间点。此部分不求甚解暂不细述。

RANCoders

主要是利用 autoencoder 来进行异常检测,但其模型设计上基于两种假设:

  • 输入较小的时间序列子集可以容纳足够的信息,以足够的质量重建整个序列。

  • 对于异常检测,在训练和推理方面,重建输入信号的阈值边界更有效,而不是尝试重建输入,然后进行不可靠的阈值选择过程以进行异常推理。

因此论文中采样时间序列来训练两种类型的 autoencoder: (upper bound + lower bound)。

例如对于下界 autoencoder 的损失函数如下

其中 表示分位数,通常

异常检测与定位

对于单变量时间序列的异常检测,逻辑非常简单,即超出基带上下界即为异常:

整体判断异常论文中使用的还是 majority voting。

对于异常定位,论文中提到了两种计算方法:

  • Term frequency (TF) analysis,即取每个维度元属性 attr 的对整体的贡献。

    这种方法类似于多维定位中的想法。

  • 对于元属性未知的情况,直接计算特征维度异常分数。

    根据异常指标占比排序。

Experiments

实验部分采用了 4 个 baselines 和 4 个 datasets 进行对比。

注:其中 为论文中提出的评价指标,主要是考虑了阈值对算法性能的影响,非完全可靠。

实验结果如下所示:

Thoughts

论文整体思路描述的非常清楚,解决了实际中存在的时间序列异步问题。吐槽下符号描述 ????

主要解决的还是异步时间序列对齐的问题,而且方法仅适用于周期性的指标,否则相位检测的对齐方法用处不大。

关注的异常指标定位模块较为简单,主要思路是基于多维属性异常数量贡献分数,貌似缺少故障传播关系。

建议阅读:

高考失利之后,属于我的大学本科四年

【资源分享】对于时间序列,你所能做的一切.

【时空序列预测第一篇】什么是时空序列问题?这类问题主要应用了哪些模型?主要应用在哪些领域?

【AI蜗牛车出品】手把手AI项目、时空序列、时间序列、白话机器学习、pytorch修炼

公众号:AI蜗牛车

保持谦逊、保持自律、保持进步

个人微信

备注:昵称+学校/公司+方向

如果没有备注不拉群!

拉你进AI蜗牛车交流群

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐