While trying to forecast a non stationary time series in Python, I tried two methods for forecasting -
- Method 1 : Fitting an ARMA (4,4) after manually differencing the series once
Code -
data['d1'] = diff(data['X1'], k_diff =1)
model = ARIMA(data['d1'],order=(4,0,4),
exog=data[['E1', 'E2']])
results = model.fit()
results.summary()
- Method 2 : Fitting an ARIMA(4,1,4) model
Code -
model = ARIMA(data['d1'],order=(4,1,4),
exog=data[['E1', 'E2']])
results = model.fit()
results.summary()
I notice that when I add back the forecasts (d(t)hat) on the differenced series d(t) to Y(t-1) in order to get forecasted values of Y(t), the forecasts are hugely different from Method 2. I have also tried using trend = "t" in Method 2 but the results still don't match to Method 1
How can I achieve the same results using Method 2, i.e. an ARIMA(4,1,4) model as I am getting from Method 1 in Python?
I have checked this question : https://stats.stackexchange.com/questions/78741/arima-vs-arma-on-the-differenced-series and would appreciate a similar answer but for Python to replicate the results from both Methods.
I have also tried using trend = "t" in Method 2 but the results still don't match to Method 1