Keras LSTM:如何预测超越验证与预测?

Posted

技术标签:

【中文标题】Keras LSTM:如何预测超越验证与预测?【英文标题】:Keras LSTM: how to predict beyond validation vs predictions? 【发布时间】:2021-12-13 14:47:50 【问题描述】:

在处理时间序列预测时,我看到大多数人在使用 LSTM 模型时都遵循以下步骤:

    获取、清理和预处理数据 取出验证数据集以供将来与模型预测进行比较 初始化和训练 LSTM 模型 使用验证数据集的副本进行预处理,就像训练数据一样 使用经过训练的模型对转换后的验证数据进行预测 评估结果:预测与验证

但是,如果模型准确,您如何做出超出验证期结束的预测?

以下仅接受以与训练数据相同的方式转换的数据,但对于超出验证期的预测,您没有任何输入数据可提供给模型。那么,人们是如何做到这一点的呢?

# Predictions vs validation
predictions = model.predict(transformed_validation)

# Future predictions
future_predictions = model.predict(?)

【问题讨论】:

【参考方案1】:

要预测第 i 个值,您的 LSTM 模型需要最后 N 个值。 所以如果你想预测,你应该使用每个预测来预测下一个。

换句话说,你必须遍历类似的东西

prediction = model.predict(X[-N:])
X.append(prediction)

您可以猜到,您将输出添加到输入中,这就是您的预测可能会发散并放大不确定性的原因。

其他模型更稳定,可以预测遥远的未来。

【讨论】:

好一个哈罗德!!【参考方案2】:

您必须将数据分解为训练和测试,然后适应您的模式。最后,你做出这样的预测。

future_predictions = model.predict(X_test)

查看下面的链接了解所有详细信息。

https://towardsdatascience.com/lstm-time-series-forecasting-predicting-stock-prices-using-an-lstm-model-6223e9644a2f

【讨论】:

这不是预测未来值,而只是预测要与保留数据集进行比较的值。作为一名数据科学家,您已经拥有这些价值观。我说的是更远的未来,你没有任何数据。 抱歉,我不知道。希望其他人会加入这里并提供满足您期望的解决方案。

以上是关于Keras LSTM:如何预测超越验证与预测?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 LSTM Keras 预测未来库存

如何让 Keras LSTM 在多变量设置中对多个时间序列进行预测?

如何使用带有词嵌入的 Keras LSTM 来预测词 id

Keras LSTM 在多类别分类中仅预测 1 个类别 - 如何修复?

Keras LSTM 预测的时间序列被挤压和移位

Keras深度学习实战(32)——基于LSTM预测股价