# Different result between ARIMA and auto.arima

I have conducted an analysis on a time series dataset, and the issue is that the 'manual' ARIMA (SARIMA) performed in Gretl gives me a model (3,0,1)(1,1,1) with all *** and AIC=1595.332. However, when analyzing the same dataset with R, it suggests that the best model is (1,1,0)(1,0,0) with AIC=1602.51.

When I input the Gretl model (3,0,1)(1,1,1) into R, the results show an AIC of 1589.14 (just for control). I also tried the auto.arima model from R in Gretl, and the results are: only ar1*** and AIC=1628.738.

Could someone please explain to me why the auto.arima function gives a different model (with higher AIC) compared to the manual ARIMA in Gretl? In simple terms, why is the ARIMA model in Gretl considered better than the one suggested by auto.arima in R?

Thank you, and I hope someone can clarify this.

• Why not? Auto.arima does not guarantee to find the optimal model (or to find the model which you like), it is a heuristic after all. You could try setting some arguments to try all possible combinations but that is unfeasible for a lot of cases. Commented Feb 1 at 8:05
• @user2974951: that sounds like an answer, want to post it as such? Leonard: auto.arima() performs a greedy search over possible models, and can absolutely get stuck in local minima. Since the two integration orders differ, apparently the tests for seasonality and integration did not suggest differencing was necessary, which is quite possible. Finally, AIC calculations are not cast in stone, especially when differencing is involved, because there are different possible ways to calculate likelihoods in time series contexts. Commented Feb 1 at 8:14
• Also, note that you can't compare AICs between models with different orders of differencing, even within the same fitting routine, because the likelihoods are calculated on completely different scales. Commented Feb 1 at 9:12

## 1 Answer

From the auto.arima documentation:

The default arguments are designed for rapid estimation of models for many time series. If you are analysing just one time series, and can afford to take some more time, it is recommended that you set stepwise=FALSE and approximation=FALSE.

The default auto procedure is a heuristic which is not guaranteed to find the optimal model.

• ... which in the present case would still not lead to the same model, because the greedy search only applies to the AR and MA orders after auto.arima() has decided on whether or not to difference, which in turn also depends on the test for seasonality. In the present case, auto.arima() does not believe seasonal differencing is necessary. Commented Feb 1 at 9:11
• I think it is important to note that you can't compare AICs between models with different orders of differencing. The OP hinges on such a comparison, so it only logical to point this out. Commented Feb 1 at 9:17