ARMA(4,4) on Δy and ARIMA (4,1,4) on y with exogenous regressors yield different results in Python

11 Views Asked by At

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

0

There are 0 best solutions below