-3

我在监控团队工作,我们会监控我们工具上的客户端负载。我们记录了与时间序列相关的延迟。

最初,我保留了一个静态阈值来提高异常检测。但是,如果发生季节性,它就不起作用。现在,我计划在我的数据上应用 ML。

我的数据看起来像:

在此处输入图像描述

volume_nfs_ops   timestamp           mount_point
---------------------------------------------------------
2103             6/28/2018 3:16      /slowfs/us01dwt2p311
12440            6/28/2018 6:03      /slowfs/us01dwt2p311
14501            6/28/2018 14:20     /slowfs/us01dwt2p311
12482            6/28/2018 14:45     /slowfs/us01dwt2p311
10420            6/28/2018 18:09     /slowfs/us01dwt2p311
7203             6/28/2018 18:34     /slowfs/us01dwt2p311
14104            6/28/2018 21:58     /slowfs/us01dwt2p311
6996             6/29/2018 7:35      /slowfs/us01dwt2p311
11282            6/29/2018 8:39      /slowfs/us01dwt2p311

当我做谷歌时,我想到了 ARIMA 是时间序列的最佳模型。我对数学很感兴趣,可以弄清楚各自的 ARIMA 是否对我的数据集有好处。

我的问题是哪种算法最适合在 Python 中实现?我应该考虑哪些因素来发现异常?

4

1 回答 1

0

有很多异常检测技术。即使要检测时间序列数据中的异常,也无需进入时间序列预测算法。很少有方法-

A) 如果您知道异常,请使用分类算法。在您的情况下可能是异常的阈值?-

https://machinelearningstories.blogspot.com/2018/07/anomaly-detection-anomaly-detection-by.html

B)如果数据中没有已知的异常。那么您需要进行无监督的异常检测算法。K-Means、LOF、CBF、PCA、Angular 等。

C)无监督算法(聚类的异常值)从不给出异常值,而是这些异常值,所以如果你觉得你的异常值代表异常,那么使用这些基于聚类(B)的异常检测算法。

4) 异常检测和时间序列完全是专业领域。不要混淆。如果您正在寻找无人监督的异常检测算法,我可以分享一些文件。

于 2018-08-03T10:15:37.753 回答