我正在尝试理解这篇论文:https ://netman.aiops.org/wp-content/uploads/2018/05/PID5338621.pdf关于用于大规模异常检测的 KPI 的稳健和快速聚类。
聚类是使用 ROCKA 算法完成的。
脚步:
1.) 对原始KPI数据进行预处理,去除幅度差异,标准化数据。
2.) 在基线提取步骤中,我们减少噪声,去除极值(可能是异常值),并提取 KPI 的底层形状(称为基线)。这是通过应用带有小滑动窗口的移动平均线来完成的。
3.) 然后在采样 KPI 的基线上进行聚类,对相移和噪声具有鲁棒性。
4.) 最后,我们计算每个集群的质心,然后通过它们与这些质心的距离分配未标记的 KPI。
我了解 ROCKA 机制。
现在,我正在尝试了解应用于“异常检测”的 DONUT 算法。
它的工作原理是:
DONUT 在 KPI 上应用滑动窗口以获得短系列 x 并尝试识别 x 遵循的正常模式。然后通过重建的正常模式和 x 之间的差异来计算指标,以显示异常的严重程度。在实践中,应该为每个 KPI 选择一个阈值。指标值大于阈值的数据点被视为异常。
现在我的问题是:
看起来 DONUT 对与时间信息相关的异常情况不够健壮。这意味着它适用于一组滑动窗口,它忽略了窗口之间的关系。所以窗口在这里成为一个非常关键的参数。所以它可能会产生高误报。我在这里理解错了吗?
请帮助并让我了解 DONUT 将如何捕捉滑动窗口之间的关系。