【问题标题】:How should I predict the next h days using LSTM?我应该如何使用 LSTM 预测接下来的 h 天?
【发布时间】:2023-03-12 14:25:01
【问题描述】:

假设我有一系列 100 天 1、2、...、100 和时间步长 3。如果我没有第 101 天的真实数据,我应该如何创建我的验证集来预测提前 3 天, 102和103?训练集为[t-3, t-2, t-1] 其中t=[3, 100] 如下图:

X        Y
1  2  3  4
2  3  4  5
...
97 98 99 100

我想为每个预测迭代地将预测值添加到数据中:

iter=1
X            Y_pred
98  99  100  101

iter=2
X            Y_pred
99  100  101 102

iter=3
X            Y_pred
100 101 102  103

这样做是否有效,或者是否有更好的解决方案来解决这个问题?

提前非常感谢。

【问题讨论】:

    标签: python keras lstm


    【解决方案1】:

    如果我没有第 101 天、第 102 天和第 103 天的真实数据,我应该如何创建我的验证集来预测提前三天?

    在您的情况下,损失是均方误差或其他类似损失,是通过使用真实标签和预测标签来计算的。用一个代替另一个是不正确的。这适用于培训和评估。

    因此,唯一的选择是在时间步长 97 之后删除标签。如果您有一个小数据集并且希望尽量减少标签的删除,您可以屏蔽为缺少真实标签的时间步长计算的损失。例如,在时间步 99 中,您可以使用步 100 的损失,但您必须忽略步 101 和 102 的损失。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-24
      • 2020-06-02
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 2021-03-22
      • 2019-10-12
      • 2021-12-22
      相关资源
      最近更新 更多