# Auto-regression - Reduce error in prediction

I am trying to develop a time series model using autoregression. The data set is like as follows

INDEX MAXIMA
0   0.743
1   0.837
2   0.838
4   0.896
5   1.014
6   1.003
7   1.01
8   1.101
9   1.097


The Maxima point is given is the largest points on each curve. Basically, I have to perform multi-step forecasting (at least 9 steps ahead). I've done it using the recursive approach. but the accuracy of the prediction getting worse as it reaches the end.

Predicted Result

PYTHON CODE

Using the AR model from stats model

# fit model for MAX VALUE
model = AR(data)
model_fit = model.fit()
yhat_max = model_fit.predict(len(data),len(data]))


For obtaining an accurate prediction, What changes should be done in the approach? or Do I have to change the model?

Any kind of help is appreciated.

• Please provide a bit more info, like how many data points are there, what is order of the AR model that you used. – naive Apr 20 at 10:32

The predictions tend to move towards the mean of the series as one predicts for longer horizons. Also, in general, optimal long range forecast is the process mean.

In other words, the past of the process contains no information on the development of the process in the distant future.

And, this might be the reason that you are getting poor forecasts.

What changes should be done in the approach? or Do I have to change the model?

You might want to move to ARIMA models. See how they perform.

If you have some other time series that might act as explanatory variables then you might want to augment the dataset and use the ARIMAX model.

Third option would be to try out RNN if you have lots of data. You can also try hybrid models like ARIMA and RNN together.

• Thanks naive. ! I don't have enough data to use RNN. So I think it's better to try ARIMA as per your suggestion. – Majo_Jose Apr 20 at 11:36