Solved – Seasonal vs non-seasonal coefficients in R ARIMA

arimarseasonalitytime series

Let's say I have the two following ARIMA models:

  1. ARIMA(7,1,1) (no seasonality)
  2. ARIMA(6,1,1)(1,0,0)7 (seasonality of period 7).

Are they conceptually the same? If so, why is that when I model them using R, I get different models and different fits?

Best Answer

A seasonal ARMA model is not just a non-seasonal ARMA model of a high order, in particular of order higher than the periodicity of the data. A seasonal ARMA is defined as the product of a non-seasonal and a seasonal polynomial. Expanding the product of these polynomials we can see that the seasonal ARMA model involve additional terms that you may have overlooked at first glance.

For simplicity, let's think of an autoregressive model of order $4$ in a quarterly series.

The non-seasonal AR(4) model is defined as:

$$ \phi(L) y_t = \epsilon_t \,, \qquad \epsilon_t \sim NID(0, \sigma^2) \,, $$

where $L$ is the lag operator, thus, we can rewrite it more clearly as:

$$ (1 - \phi_1 L - \phi_2 L^2 - \phi_3 L^3 - \phi_4 L^4) y_t = \epsilon_t \,, \qquad (1) $$

or

$$ y_t = \phi_1 y_{t-1} - \phi_2 y_{t-2} - \phi_3 y_{t-3} - \phi_4 y_{t-4} y_t = \epsilon_t \,. $$

The seasonal AR(3)(1) model is defined as follows:

$$ \phi(L)\Phi(L) y_t = \epsilon_t \,, \qquad \epsilon_t \sim NID(0, \sigma^2) \,, $$

where $\phi(L)$ is the non-seasonal autoregressive polynomial $(1 - \phi_1 L - \phi_2 L^2 - \phi_3 L^3)$ and $\Phi(L)$ is the seasonal autoregressive polynomial $(1 - \phi_4 L^4)$. The product of these polynomials does not expand to the polynomial in equation (1) above. The product $\phi(L)\Phi(L)$ leads to:

$$ \phi(L)\Phi(L) = (1 - \phi_1 L - \phi_2 L^2 - \phi_3 L^3)(1 - \phi_4 L^4) y_t \\ = (1 - \phi_1 L - \phi_2 L^2 - \phi_3 L^3 - \phi_4 L^4 + \phi_1\phi_4 L^5 + \phi_2\phi_4 L^6 + \phi_3\phi_4 L^7) y_t $$

and hence it yields a polynomial different from the polynomial in equation (1).

Therefore, the state-space representation differ for these models and hence they will lead in general to different parameter estimates. You may want to try some examples with function makeARIMA or simply compare the element mod returned by arima for the models that you mention.