在这里,我有一个数据集,其中有三个输入分别为X1,X2,X3。因此,我想在每60分钟内预测X1值。
在这里,我不是每60分钟测量一次值。因此,我每5分钟重新采样一次数据,以减少错误。
因此,我想每60分钟预测一次我的下一个值。这样我就为时间序列编写了代码。
因此,这里的时间顺序= 12。
由于每5分钟重新采样一次数据,因此60分钟为12,12*5 = 60 minutes.
我使用lstm模型来预测x1的值。
当我编写代码以每60分钟预测一次价值时,它给了我一个错误Error when checking input: expected lstm_1_input to have 3 dimensions, but got array with shape (12, 1)
有人可以帮我解决这个问题吗?
这是我的代码:
sequence_timestep = 12
last_sequence_train = x_train_n[-1]
pred1 = []
def sequence_constructor():
if len(pred1) >= sequence_timestep:
new_sequence = pred1[-x_train:]
else:
splitter = sequence_timestep - len(pred1)
part_1 = last_sequence_train[-splitter:]
new_sequence = np.append(part_1,pred1) #Concatenate 2 list
new_sequence = np.array(new_sequence)
return new_sequence
for i in range(288):
new_sequence = sequence_constructor()
new_prediction = model.predict(new_sequence)
pred1.append(new_prediction)
错误: