I was under the impression that Python Statsmodels SARIMAX with seasonal order parameters set to 0 will generate the same forecasts as ARIMA. But apparently the forecasts are wildly different. What implementation details am I missing here? I've attached here a snippet of results from my IPython Notebook.
In Statsmodels, ARIMA and SARIMAX are fitted using different methods, even though in theory they are from the same family of models.
If you look at the code, you will notice that ARIMA is under statsmodels.tsa.arima_model.ARIMA, using the traditional ARIMA formulation, while SARIMAX is under sm.tsa.statespace.SARIMAX and is using the statespace formulation of ARIMA models, and they use different approaches for fitting the models. In fact even within in SARIMAX, there are two different approaches that can be specified which lead to slightly different forecasts.