在 Tensorflow 中使用 RNN 预测未来时期的时间序列值
Predicting values in time series for future periods using RNN in Tensorflow
我对深度学习及其时间序列预测方法还很陌生。最近找到一篇关于time series predicting using Recurrent Neural Networks (RNN) in Tensorflow.
的文章
在那篇文章中,测试集是最后 20 个值,模型也预测 y_pred
数据集的最后 20 个值,然后计算 y_test
和 y_pred
的 MSE .我的问题是:如何扩展模型以接收未来下一时期的预测(实际预测)?
提前致谢!
第一步你应该使用实数值。然后根据需要使用预测值替换最后一个值。
希望下面的代码能帮到你。
with tf.Session() as sess:
saver.restore(sess, './model_saved')
preds = []
X_batch = last_n_steps_value
X_batch = X_batch.reshape(-1, n_steps, 1)
for i in range(number_you_want_to_predict):
pred = sess.run(outputs, feed_dict={X: X_batch})
preds.append(pred.reshape(7)[-1])
X_batch = X_batch[:, 1:]
# Using predict value to replace real value
X_batch = np.append(X_batch, pred[:, -1])
X_batch = X_batch.reshape(-1, n_steps, 1)
我对深度学习及其时间序列预测方法还很陌生。最近找到一篇关于time series predicting using Recurrent Neural Networks (RNN) in Tensorflow.
的文章在那篇文章中,测试集是最后 20 个值,模型也预测 y_pred
数据集的最后 20 个值,然后计算 y_test
和 y_pred
的 MSE .我的问题是:如何扩展模型以接收未来下一时期的预测(实际预测)?
提前致谢!
第一步你应该使用实数值。然后根据需要使用预测值替换最后一个值。 希望下面的代码能帮到你。
with tf.Session() as sess:
saver.restore(sess, './model_saved')
preds = []
X_batch = last_n_steps_value
X_batch = X_batch.reshape(-1, n_steps, 1)
for i in range(number_you_want_to_predict):
pred = sess.run(outputs, feed_dict={X: X_batch})
preds.append(pred.reshape(7)[-1])
X_batch = X_batch[:, 1:]
# Using predict value to replace real value
X_batch = np.append(X_batch, pred[:, -1])
X_batch = X_batch.reshape(-1, n_steps, 1)