是否有可用于时间序列异常检测的综合开源包(最好是 python 或 R)?
scikit-learn 中有一类 SVM 包,但不适用于时间序列数据。我正在寻找更复杂的软件包,例如,使用贝叶斯网络进行异常检测。
是否有可用于时间序列异常检测的综合开源包(最好是 python 或 R)?
scikit-learn 中有一类 SVM 包,但不适用于时间序列数据。我正在寻找更复杂的软件包,例如,使用贝叶斯网络进行异常检测。
我知道我在这里有点晚了,但是是的,有一个异常检测包以及异常值组合框架。
这个包是 Python 的,它的名字是pyod。它在 JMLR 上发布。
它有多种算法用于以下个别方法:
最后,如果您专门寻找时间序列本身,那么这个github 链接将会很有用。
它具有以下用于时间序列异常值检测的列表包:
有多种方法可以处理时间序列异常-
如果已知异常,则建立分类模型。使用此模型来检测时间序列数据的相同类型的异常。
如果异常是未知的,我们在我们的组织中所做的就是聚类和分类的结合。
首先使用 LOF/K-means/Cook 距离来识别异常值。将整个数据转换为分类问题,因为我们现在有 2 个类——异常值和正常值。现在建立一个分类模型并获取规则(分类模型)以在运行时识别异常(时间序列数据)。
我无法在 Python 或 R 中找到任何直接的包来这样做,因为没有人知道什么是真正的异常,在所有情况下它都与异常值检测有关。
试试先知图书馆
Prophet是一种基于加法模型预测时间序列数据的程序,其中非线性趋势与年、周和日季节性以及假日效应相匹配。它最适用于具有强烈季节性影响和几个季节历史数据的时间序列。Prophet 对缺失数据和趋势变化具有鲁棒性,并且通常可以很好地处理异常值。
我发现 Matrix 配置文件很有用,尤其是因为它们不需要太多的知识——甚至不需要时间框架的持续时间。据我了解,它们基本上依赖于自相关。该程序可用于输入一些数据并查找异常,我还没有使用它进行预测。