Python 如何使用Tensorflow LSTM获得预测未来跟随值?

Python 如何使用Tensorflow LSTM获得预测未来跟随值?,python,tensorflow,machine-learning,deep-learning,lstm,Python,Tensorflow,Machine Learning,Deep Learning,Lstm,谢谢你的阅读。我的英语不好 我想知道在模型训练之后如何预测和获取未来的时间序列数据。我想得到N步之后的值 因此,我在Tensorflow教程中使用时间序列来练习预测模型 a = y_val[-look_back:] for i in range(N-step prediction): #predict a new value n times. tmp = model.predict(a.reshape(-1, look_back, num_feature)) #predicted va

谢谢你的阅读。我的英语不好

我想知道在模型训练之后如何预测和获取未来的时间序列数据。我想得到N步之后的值

因此,我在Tensorflow教程中使用时间序列来练习预测模型

a = y_val[-look_back:] 
for i in range(N-step prediction): #predict a new value n times.
    tmp = model.predict(a.reshape(-1, look_back, num_feature)) #predicted value     
    a = a[1:] #remove first     
    a = np.append(a, tmp) #insert predicted value
结果预测值为-0.0000035至-0.000005,与实际y值的-1.8至-0.4非常不同。如下所示

我如何才能得到实际的、正确的解决方案?还是Tesorflow无法预测多个步骤


(第25行之后是我的代码。)

如果我觉得代码中有一个小错误

代码行

a = y_val[-look_back:]
应该由

look_back = 20
x = x_val_uni
a = x[-look_back:]
a.shape
换句话说,我们应该向模型发送X值作为预测的输入,而不是Y值,因为
LSTM
希望其
输入
是具有形状[批次、时间步、特征]的
三维张量

请提供更多信息

但是,我们可以将它的预测值与Y值和代码进行比较

y = y_val_uni[-20:]

plt.plot(y)
plt.plot(tmp)
plt.show()
这将导致下图所示的绘图:

请在此中找到完整的工作代码