我致力于使用 LSTM 和 GRU 进行时间序列预测。在大多数情况下,预测非常好。
然而,在预测稳定之前似乎有一个摆动(或最初的上下),类似于来自另一个问题的该图的左侧。
就我而言,它也造成了轻微的偏移。有谁知道为什么会这样?下面是训练集和测试集的形状,以及当前的网络结构。我尝试将序列长度从 60 个时间步减少,在 LSTM 和 GRU 之间切换,并且输入和输出稍微重叠,但都无济于事。添加辍学似乎也没有帮助。摆动不会消失!
目前,我的序列长度为 60 个输入和 60 个输出。
Xtrain: (920, 60, 2)
Ytrain: (920, 60, 2)
Xtest: (920, 60, 2)
Ytest: (920, 60, 2)
def define_model():
model = Sequential()
model.add(LSTM(64, return_sequences=True, input_shape=(None, 2)))
model.add(LSTM(64, return_sequences=True))
model.add(LSTM(64, return_sequences=True))
model.add(TimeDistributed(Dense(2)))
model.add(Activation('linear'))
model.summary()
return model