我有大约 6 年的时间序列每日数据(1.8k 数据点)。我正在尝试预测下一个 t+30 值,训练数据独立矩阵 (X)=前 30 天值的序列训练 (Y)=前 30 天值中的每一个的第 31 天值。
我按照以下方法进行预测:首先预测 t+1 的 Y,然后将 X 矩阵行移动 1 天并将预测的 Y 附加到该行的末尾,然后使用该行预测 t+2 值和继续。然而,在(通常) t+3 天之后的每个序列中,预测值在剩余的 t+n 天中变得恒定。
这是用 LSTM 预测时间序列的正确方法吗?
如何解释这种行为?
即使对于具有很大季节性的时间序列,情况也会如此吗?
即使对于非常大的时间序列数据,这种行为是否也是预期的?
我是否应该尝试使用具有相同 X 的第 31 天到第 60 天值的 Y 矩阵来训练网络?
我的火车数据如下所示:
array([[-0.35811423, -0.22393472, -0.39437897, ..., -0.36718042, -0.37080689, -0.35267452], [-0.22393472, -0.39437897, -0.13327289, ..., -0.37080689, -0.35267452, -0.2030825 ], [-0.39437897, -0.13327289, -0.1532185 , ..., -0.35267452, -0.2030825 , -0.25294651]
架构:输入 LSTM 层(20 个神经元) 1 个隐藏 LSTM 层 20 个神经元 1 个输出密集层,批量大小为 1。有状态 LSTM,我在每个 epoch 后重置模型状态。