实时时间序列数据异常检测

我在从时间序列数据中检测异常时遇到了一些问题。

我使用LSTM模型来预测下一时间点的值作为y_pred,数据在下一时间点的真实值为y_real,因此我有er = |y_pred – y_t|,我用er与threshold = alpha * std进行比较来获取异常数据点。但有时我们的数据会受到管理员或用户的影响,例如周日的游戏玩家数量会高于周一。

那么,我应该使用另一种模型来分类异常数据点,还是使用”If else”来分类呢?


回答:

我认为您使用的是批处理模型(您没有使用任何实时处理框架和工具),因此在构建模型或分类时不应该有任何问题。问题可能会在您构建模型一段时间后出现,因此在那之后您的预测模型将不再有效。我建议一些方法或许可以解决这个问题:使用实时或近实时处理(如apache spark, flink, storm等)。定期使用一些条件检查您的数据是否有任何变化,如果发生变化,则再次运行您的模型。删除您认为可能引起问题的实例(可能那些变化的数据本身就是异常),但在删除之前请确保这些数据不是很重要。更改您的算法,使用对变化不太敏感的算法。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注