我很擅长深度学习及其时间序列预测方法。最近我发现了一篇关于time series predicting using Recurrent Neural Networks (RNN) in Tensorflow的文章。
在该文章中,测试集是最后20个值,模型也预测y_pred
数据集的最后20个值,然后计算y_test
和y_pred
的MSE。我的问题是:如何扩展模型以接收未来下一个时期的预测(实际预测)?
提前致谢!
答案 0 :(得分:1)
在第一步中,您应该使用真实值。然后使用预测值替换最后一个值。 希望以下代码可以帮助您。
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)