首页 > 解决方案 > 带 seq2seq LSTM 的多步时间序列预测

问题描述

我正在尝试使用带有 LSTM 层的编码器/解码器来预测时间序列数据。到目前为止,我正在使用 20 个过去的数据点来预测 20 个未来的点。对于过去 20 个数据点的每个样本,预测序列中的第一个值非常接近每个序列中的真实第一个值:预测未来 1 步

但是,对于每个序列中的第二个值(未来 2 个时间步长),预测值看起来像是“移位”:预测未来 2 个时间步长

这种“偏移”性质对于预测序列的所有值都是正确的,随着我深入预测序列,偏移会增加。这是我的模型的代码:

model = Sequential()
model.add(LSTM(input_dim = 1, output_dim=128, 
return_sequences=False))
model.add(RepeatVector(20)) 
model.add(LSTM(output_dim=128, return_sequences=True))
model.add(TimeDistributed(Dense(1)))

与RepeatVector有关吗?任何帮助,将不胜感激。

标签: kerastime-serieslstmseq2seq

解决方案


推荐阅读