Should mytime series be stationary to use ARIMA model ? If yes, so why we do Integration in ARIMA ?

I read some where that ARIMA can handle non stationary time series, what type of non stationarity can ARIMA handle ?


Should my time series be stationary to use ARIMA model?

No, the I-letter stands for the procedure part, which makes stationary time series out of your non-stationary one. This procedure is called "differencing".

However, if you want to use ARMA(p, q) straightforward, then your time series BETTER be stationary. In practice, there is always some degree of uncertainty about "stationarity", since you re only observing the realisations (aka time series), and do not know the real stochastic process random variables. This uncertainty means you just approximately see it's stationary (with a test/graph/etc.), and try to apply ARMA model, or brute force the d-number, though this will give you subpar performance.

ARIMA = ARMA + preliminary differencing procedure.

Why we do Integration in ARIMA

Exactly as stated above: to make your time series stationary.

I read some where that ARIMA can handle non stationary time series, what type of non stationarity can ARIMA handle?

It can handle 2 types of non-stationarity: hidden trend (linear, polynomial, seasonals, etc.), and unit roots.

Differencing removes any type of polynomial trend (Mentioned + Exercise in first chapters in Brockwell, https://www.amazon.com/Introduction-Forecasting-Springer-Texts-Statistics/dp/0387953515). The higher-degree polynomial is, the more differencing you need. If there is seasonal pattern, you have to remove it with seasonal differences (different from normal d, google SARIMA).

On the other hand, differencing removes 1 unit root per application. If you have 2 unit roots, you do differencing twice. 3 unit roots - three times, etc.

If you are familiar with time series notation/little theory (lag operator):

In fact, ARIMA(p, d, q) model is ARMA(p, q) model with d unit roots. it can be easily seen from its formula:

$(1 - \theta_1B)(1 - B)y_t = (1 + \beta_1B + \beta_2B^2)\epsilon_t$

This is ARIMA(1, 1, 2) process. In the left side the factor $(1 - B)$ is the differencing operator. However, if you just multiply it with the preceding $(1 - \theta_1B)$, you will get $1 - (\theta_1 + 1)B + \theta_1B^2$ which you can then rewrite:

$(1 - (\theta_1 + 1)B + \theta_1B^2)y_t = (1 + \beta_tB + \beta_{t-1}B^2)\epsilon_t$

But its just ARMA(p+d, q) model expression! Now you can clearly see how differencing makes TS stationary (from unit roots) - you difference the data $y_t$ with $(1 - B)$ first, and you are left with

$(1 - \theta_1B)y'_t = (1 + \beta_tB + \beta_{t-1}B^2)\epsilon_t$

which is already without unit-roots.

Showing any degree polynomial removal with differences is much harder, you can try exercise in Brockwell book (I just trust the author).

  • $\begingroup$ ARIMA models cannot handle any type of non-stationarity. For example, it does not handle $\epsilon_t$ with time-varying variance. $\endgroup$ – Chris Haug Mar 8 '19 at 1:45

First, you have to take into consideration that there is just one way a series can be (second order) stationary but infinite ways the series can be non-stationary. ARIMA models can handle cases where the non-stationarity is due to a unit-root but may not work well at all when non-stationarity is of another form.


It should be stationary in order to use ARMA(p,q) (a fancy way of saying ARIMA(p,0,q)). However, the general ARIMA model can handle nonstationary series as well.


Hi: ARIMA models require a stationary series so differencing can sometimes help. The level of differencing is denoted by the $d$ in an ARIMA(p,d.q).

  • $\begingroup$ This is incorrect: ARIMA models do not require stationarity. Did you mean ARMA models? $\endgroup$ – Chris Haug Mar 8 '19 at 1:40
  • $\begingroup$ Hi Chris: Yes, my mistake. I should have said that ARMA models require stationarity which is why there are ARIMA models. $\endgroup$ – mlofton Mar 8 '19 at 2:28

@Stats, @mlofton, and @asdf are all correct. Let me try to summarize.

Non-stationarity is not a single concept. Rather it is the lack of a single concept -- stationarity. This means that there are (as @Stats mentions) an infinite number of non-stationary structures. There is a non-stationary model where the truth is an ARIMA model (with your specified p,d, and q), but where the coefficients associated with the p and q change every 10 periods. Could the ARIMA model do a good job of modeling that? Making predictions in that setting? Learning coefficients under those conditions? No.

But there are some non-stationary structures the ARIMA model can handle. An $AR(1)$ model with $\phi=1$ is non-stationary in one sense -- the distribution differs for each time period. But we can still model it successfully with an ARIMA (under some conditions). Similarly, data which follows the ARIMA structure more generally is inherently non-stationary. However as long as it sticks to that type of non-stationarity -- namely some finite number of differences being modeled by an ARMA process -- things are manageable.

This is why there is some disagreement. It is true that there are types of non-stationarity that ARIMA models can handle, but it is also true that there are many types that it is totally worthless in the face of.

  • 2
    $\begingroup$ Your characterization of stationarity is incorrect: the marginal distribution of an AR(1) process with $|\phi|<1$ is the same for every period, and it is decidedly stationary. The fact that the conditional distribution $Y_t|Y_{t-1}$ depends on $Y_{t-1}$ does not make it non-stationary. $\endgroup$ – Chris Haug Mar 8 '19 at 1:40
  • $\begingroup$ On the other hand, the marginal of an AR(1) with $\phi = 1$ is not the same for every time period, and is decidedly not stationary. But I concede that my summary of an AR(1) was overly brief. $\endgroup$ – user5957401 Jul 14 '20 at 19:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.