我在 Python 中使用 LSTM RNN 并成功完成了预测阶段。我的最终目标是异常检测。我希望有类似你在 Facebook Prophet 上看到的东西,异常情况在下面标记为黑点:
我已经阅读了大量关于如何使用文本/序列数据进行分类的文章,但是关于单变量时间序列数据的文章并不多——只有时间戳和随机生成的值有一些异常。一个答案链接到以下方法:
异常检测是通过使用预测误差作为异常指标来完成的。预测误差是在时间 t-1 做出的预测与在时间 t 接收到的输入值之间的差异。训练数据的预测误差使用高斯分布建模。使用最大似然估计 (MLE) 计算高斯参数、均值和方差。在新数据上,计算错误的对数概率密度 (PD) 并将其用作异常分数:值越低,表明观测值异常的可能性越大。包含正常数据和异常的验证集用于设置日志 PD 值的阈值,该阈值可以将异常与正常观察区分开来,并尽可能少地产生误报。使用单独的测试集来评估模型。 来源
我总体上理解为什么会使用这种方法,但我不知道如何使用 Sequential Keras 模型来实现它。有人有或知道一些示例代码吗?如果有办法可视化这一点,因为我也不知道我将如何处理这方面的事情。
请帮忙,谢谢!