gpt4 book ai didi

python - 如何使用 Tensorflow LSTM 获得预测的 future 跟随值?

转载 作者:行者123 更新时间:2023-12-03 20:17:10 25 4
gpt4 key购买 nike

感谢您的阅读。我英语说的不好。

我想知道如何在模型训练后预测和获取 future 的时间序列数据。我想在 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 非常不同。如下所示。

1

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

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

最佳答案

如果觉得代码有小错误。

代码行,

a = y_val[-look_back:]

应该替换为
look_back = 20
x = x_val_uni
a = x[-look_back:]
a.shape

换句话说,我们应该将 X 值作为输入发送到模型进行预测,而不是 Y 值,因为 LSTM 预计其 Input 成为 3D tensor with shape [batch, timesteps, feature] .

Refer this link了解更多信息。

但是,我们可以将它的预测与 Y 值和代码进行比较,
y = y_val_uni[-20:]

plt.plot(y)
plt.plot(tmp)
plt.show()

这将导致如下图所示:

enter image description here

请在 Google Colab Gist 中找到完整的工作代码.

关于python - 如何使用 Tensorflow LSTM 获得预测的 future 跟随值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60265999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com