Statsmodels Arima: Constant Value For Each Forecast
Solution 1:
Your using ARIMA(2,0,1), so your prediction is
x(t) = constant + w(t) + a1 * x(t-1) + a2 * x(t-2) + b1 * w(t-1)
So, your prediction depends on 2 factors. You have your autoregressive terms and your moving average term. Your autoregressive terms are just a constant times the prior period's value plus a different constant times the value 2 periods ago. Then you have a moving average term, which is a constant times the error from the prior period's prediction. So your model is probably mostly dominated by the prior 2 periods, and that it probably finds an equilibrium rather quickly.
Try printing out the parameters and then plugging it into excel to see what is happening in the model.
print(arima_model.summary())
print(arima_model.params)
Solution 2:
You are making use of recursive strategy to do multi step prediction i.e. forecasts generated in the prior steps are used for the prediction of next forecasts iteratively. It leads to error accumulation and as a result forecasting converges to a value. Arima does not perform well for very long data series.
Post a Comment for "Statsmodels Arima: Constant Value For Each Forecast"