我正在监视团队中工作,我们在工具上监视客户端负载。 我们记录了与时间序列有关的延迟。
最初,我保持静态阈值以提高异常检测率。但是,如果发生季节性变化,则无法使用。现在,我计划将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
当我使用Google时,我想到ARIMA是时间序列的最佳模型。我很喜欢数学,可以弄清楚各自的ARIMA是否适合我的数据集。
我的问题是哪种算法最适合在Python中实现? 我应该考虑哪些因素来发现异常?
答案 0 :(得分:0)
有很多异常检测技术。即使要检测时间序列数据中的异常,也无需研究时间序列预测算法。很少有方法-
A)如果您知道异常,请使用分类算法。您的情况可能是异常的阈值吗? -
https://machinelearningstories.blogspot.com/2018/07/anomaly-detection-anomaly-detection-by.html
B)如果数据中没有已知的异常,则需要进行无监督的异常检测算法。 K-Means,LOF,CBF,PCA,Angular等。
C)无监督算法(聚类的异常值)从不给出异常,而是这些异常值,因此,如果您认为异常值表示异常,请使用这些基于聚类(B)的异常检测算法。
4)异常检测和时间序列完全是专业领域。不要感到困惑。如果您正在寻找无监督的异常检测算法,我可以共享一些文档。