I noticed a difference between two Statsmodels SARIMAX models. Both should have been exactly the same and I eventually traced the difference to the order in which the exogenous columns were ordered.
The contents of the exogenous columns were identical in every way, with the single exception of their [horizontal] column order.
I've always ordered the columns alphabetically, however, there now seems to be an underlying mechanism that I have not accounted for.
I am calling the SARIMAX function as follows:
order = (8,0,7)
sorder = (0,0,0,7)
trend = 'n'
method = 'powell'
SARIMAX(training.iloc[:,0], exog=training.iloc[:,1:], order=order, seasonal_order=sorder, trend=trend).fit(maxiter = 500, method=method)
Why would the order of the exog data make any difference to the predictions and exogenous coefficients? What should I be doing to avoid this seemingly random behaviour?