Reputation: 3148
I found one article about time series predicting using Recurrent Neural Networks (RNN) in Tensorflow.
In that article the test set is the last 20 values and the model predicts y_pred
also for the last 20 values of the dataset and then calculates MSE of y_test
and y_pred
.
How can I extend the model to receive the prediction for next periods in the future (actual forecasting)?
Upvotes: 1
Views: 2071
Reputation: 77
In first step you should use real values. Then using predict value to replace last value as you want. Hope the following code could help you.
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)
Upvotes: 1