Risk Modelling and Survival Analysis · Core concepts of time series models
ARMA and ARIMA Models: Stationarity, Invertibility and Differencing
Updated 11 October 2026 · Fact-checked
An ARMA(p,q) model combines p autoregressive terms and q moving average terms to describe a stationary series. An ARIMA(p,d,q) model applies ARMA to a series differenced d times. To solve questions, write the model with the backward shift operator B, then check the roots of the polynomials.
Understand ARMA and ARIMA Models
A time series is a set of observations ordered in time. Time series models describe how today's value depends on past values and past random shocks. The shocks, written e_t, are white noise: uncorrelated, mean zero, constant variance σ².
An AR(p) model says X_t depends on its own past p values plus a shock. An MA(q) model says X_t depends on the current shock and the past q shocks. An ARMA(p,q) model uses both. This often fits a series with fewer parameters than a pure AR or pure MA model would need.
The backward shift operator B is defined by B X_t = X_{t-1}, so B^k X_t = X_{t-k}. It lets you write a model compactly: φ(B) X_t = θ(B) e_t, where φ(B) = 1 − φ₁B − … − φ_p B^p and θ(B) = 1 + θ₁B + … + θ_q B^q. Here we use the convention in the Core Reading style: X_t − μ is modelled, or μ is taken as 0 if not stated.
Stationarity depends only on the AR part. The ARMA process is stationary if all roots of φ(z) = 0 lie outside the unit circle, meaning |z| > 1. Invertibility depends only on the MA part. The process is invertible if all roots of θ(z) = 0 lie outside the unit circle. Invertibility means the current shock can be written as a convergent combination of present and past X values, so the model is uniquely identified.
Many real series, such as prices or claim costs with a trend, are not stationary. Differencing fixes this. The difference operator is ∇ = 1 − B, so ∇X_t = X_t − X_{t-1}. A series is integrated of order d, written I(d), if it needs d differences to become stationary. If ∇^d X_t is a stationary ARMA(p,q), then X_t is an ARIMA(p,d,q) process.
Key rules to remember
- Backward shift operator
- B X_t = X_{t-1}; B^k X_t = X_{t-k}
- B acts on the time index only. B applied to a constant gives the same constant.
- ARMA(p,q) model
- X_t = μ + φ₁(X_{t-1} − μ) + … + φ_p(X_{t-p} − μ) + e_t + θ₁e_{t-1} + … + θ_q e_{t-q}
- e_t is white noise with variance σ². Check which sign convention the question uses for θ.
- ARMA in operator form
- φ(B)(X_t − μ) = θ(B) e_t, with φ(B) = 1 − φ₁B − … − φ_p B^p and θ(B) = 1 + θ₁B + … + θ_q B^q
- Move all X terms to the left and all e terms to the right.
- Stationarity condition
- All roots of φ(z) = 0 satisfy |z| > 1
- Only the AR polynomial matters. Equivalent: roots of the reversed polynomial lie inside the unit circle.
- Invertibility condition
- All roots of θ(z) = 0 satisfy |z| > 1
- Only the MA polynomial matters.
- Difference operator
- ∇ = 1 − B; ∇X_t = X_t − X_{t-1}; ∇^d = (1 − B)^d
- ∇² X_t = X_t − 2X_{t-1} + X_{t-2}. It is not X_t − X_{t-2}.
- ARIMA(p,d,q) model
- φ(B)(1 − B)^d X_t = θ(B) e_t
- Here the differenced series Y_t = ∇^d X_t is a stationary, invertible ARMA(p,q). The ARIMA process itself is not stationary when d ≥ 1.
- AR(1) stationarity
- X_t = φX_{t-1} + e_t is stationary if |φ| < 1
- φ(z) = 1 − φz has root z = 1/φ.
- MA(1) invertibility
- X_t = e_t + θe_{t-1} is invertible if |θ| < 1
- θ(z) = 1 + θz has root z = −1/θ.
How to solve ARMA and ARIMA Models questions
Use this method for most ARMA and ARIMA questions, whether you are asked to write a model, test a property or reduce to a stationary series.
- 1Write the model in the form given. Identify p, d and q by reading the lags of X (after any differencing) and of e.
- 2Rewrite it with the backward shift operator. Put all X_t terms on the left as φ(B)X_t and all e terms on the right as θ(B)e_t.
- 3If differencing is mentioned or the series is non-stationary, factor out (1 − B)^d. Check that the remaining AR polynomial does not contain further (1 − B) factors.
- 4Test stationarity: find the roots of φ(z) = 0 and check that each has modulus greater than 1. For ARIMA, test the AR polynomial after removing the (1 − B)^d factor.
- 5Test invertibility: find the roots of θ(z) = 0 and check that each has modulus greater than 1.
- 6State the conclusion clearly. For ARIMA say that the differenced series is stationary, but X_t is not.
- 7If asked for the order, state ARIMA(p,d,q) with the values worked out. If asked to expand, multiply out the operators and convert back to X_{t-k} terms.
Quickest way: Factor and read off the roots
When to use it: Use this when you have a model written in operator form, or an expanded equation that you can quickly factorise, and you must classify it.
- Collect X terms in a polynomial in B. For example X_t − 1.5X_{t-1} + 0.5X_{t-2} gives 1 − 1.5B + 0.5B².
- Factorise the polynomial. Look for a factor (1 − B) first, as it signals a unit root and d ≥ 1.
- Read each root from the factors. A factor (1 − aB) has root 1/a, so you need |a| < 1.
- Do the same with the MA polynomial for invertibility.
- For AR(1) and MA(1) just check |φ| < 1 and |θ| < 1 without finding roots.
Common mistakes in ARMA and ARIMA Models
Declaring an ARIMA(p,d,q) process with d ≥ 1 to be stationary because the ARMA part satisfies the root conditions.
Students check the roots of φ(z) and forget that (1 − B)^d adds roots equal to 1, which lie on the unit circle.
Fix: Always say: the differenced series ∇^d X_t is stationary, but X_t itself is not stationary when d ≥ 1.
Testing stationarity using the MA polynomial, or invertibility using the AR polynomial.
The two conditions look alike and the polynomials are easy to mix up.
Fix: Remember: AR part gives stationarity, MA part gives invertibility. Write this beside your working.
Writing ∇²X_t = X_t − X_{t-2}.
Students read the power as a lag instead of repeated differencing.
Fix: Expand (1 − B)² = 1 − 2B + B², so ∇²X_t = X_t − 2X_{t-1} + X_{t-2}.
Taking the root condition as |root| < 1 instead of |root| > 1.
Confusion with the condition on the coefficient, such as |φ| < 1 for AR(1).
Fix: The roots of the polynomial in z must lie outside the unit circle. For φ(z) = 1 − φz the root is 1/φ, which has modulus > 1 exactly when |φ| < 1.
Getting the sign wrong when moving AR terms to the left, so φ(B) = 1 + φ₁B instead of 1 − φ₁B.
The AR coefficients appear with a plus sign on the right of the model, but change sign when moved across.
Fix: Move terms carefully: X_t − φ₁X_{t-1} = e_t gives φ(B) = 1 − φ₁B.
Forgetting to check for common factors in φ(B) and θ(B).
Students accept the stated orders without simplifying.
Fix: If the same factor appears on both sides, cancel it. The model then has lower orders, so state the reduced ARMA form.
Worked examples
Example 1
A time series satisfies X_t = 0.5X_{t-1} + 0.3X_{t-2} + e_t − 0.4e_{t-1}, where e_t is white noise. Write the model using the backward shift operator and state whether it is stationary and invertible. Take μ = 0.
Show the solution
- Move the X terms to the left: X_t − 0.5X_{t-1} − 0.3X_{t-2} = e_t − 0.4e_{t-1}.
- In operator form: (1 − 0.5B − 0.3B²) X_t = (1 − 0.4B) e_t. So p = 2, q = 1: an ARMA(2,1) model.
- Stationarity: solve 1 − 0.5z − 0.3z² = 0, i.e. 0.3z² + 0.5z − 1 = 0, or 3z² + 5z − 10 = 0.
- z = (−5 ± √(25 + 120)) ÷ 6 = (−5 ± √145) ÷ 6. √145 ≈ 12.042.
- z₁ ≈ (−5 + 12.042) ÷ 6 ≈ 1.174 and z₂ ≈ (−5 − 12.042) ÷ 6 ≈ −2.840. Both have modulus greater than 1, so the process is stationary.
- Invertibility: solve 1 − 0.4z = 0, so z = 2.5. Modulus > 1, so the process is invertible.
Answer: (1 − 0.5B − 0.3B²)X_t = (1 − 0.4B)e_t, an ARMA(2,1) model that is both stationary and invertible.
Example 2
The process X_t satisfies (1 − B)(1 − 0.6B) X_t = (1 + 0.5B) e_t. (a) State the ARIMA orders. (b) Is X_t stationary? (c) Write the equation for the differenced series Y_t = X_t − X_{t-1}. (d) Expand the equation for X_t in terms of X_{t-1}, X_{t-2}, e_t and e_{t-1}.
Show the solution
- (a) The factor (1 − B) appears once, so d = 1. The remaining AR factor is (1 − 0.6B), so p = 1. The MA factor is (1 + 0.5B), so q = 1. The model is ARIMA(1,1,1).
- (b) The factor (1 − B) has root z = 1, which lies on the unit circle, so X_t is not stationary.
- (c) Since Y_t = (1 − B)X_t, we get (1 − 0.6B)Y_t = (1 + 0.5B)e_t. That is Y_t = 0.6Y_{t-1} + e_t + 0.5e_{t-1}.
- The AR root is 1/0.6 ≈ 1.667 and the MA root is −2. Both have modulus > 1, so Y_t is a stationary, invertible ARMA(1,1).
- (d) Expand (1 − B)(1 − 0.6B) = 1 − 0.6B − B + 0.6B² = 1 − 1.6B + 0.6B².
- So X_t − 1.6X_{t-1} + 0.6X_{t-2} = e_t + 0.5e_{t-1}, giving X_t = 1.6X_{t-1} − 0.6X_{t-2} + e_t + 0.5e_{t-1}.
Answer: (a) ARIMA(1,1,1). (b) Not stationary because of the unit root. (c) Y_t = 0.6Y_{t-1} + e_t + 0.5e_{t-1}, a stationary invertible ARMA(1,1). (d) X_t = 1.6X_{t-1} − 0.6X_{t-2} + e_t + 0.5e_{t-1}.
Exam tips
- In written answers, always show the polynomial, its roots and the comparison with 1. A bare statement such as 'it is stationary' earns few marks.
- For ARIMA questions, state the order of integration d and say clearly which series is stationary: the differenced one, not the original.
- Multiple-choice questions often test the AR versus MA rule or the expansion of (1 − B)². Check these first before long calculations.
- Check the sign convention for θ in the question. Some texts write the MA part with a minus sign. Use the form the question gives.
- If a model looks too complex, check for a common factor in φ(B) and θ(B) and cancel it. This is a common trick in exam questions.
Practice questions from Core concepts of time series models
- A series shows a clear upward trend and a sample ACF that decays very slowly from values near 1. The first differences of the series have an…
- For an AR(1) process with phi = 0.6 and white noise variance 16, what is the variance of the two-step-ahead forecast error?
- Consider the ARMA(1,1) process X_t = 0.5 X_{t-1} + e_t + 0.3 e_{t-1}, with e_t white noise of variance 1. Using the standard result for the …
- A time series process {X_t} is defined as weakly (second-order) stationary. Which set of conditions describes this correctly?
- A time series {e_t} is described as Gaussian white noise with mean zero and variance sigma squared. Which statement about this process is co…
ARMA and ARIMA Models in other exams
The same ground in other exams, if you are preparing for more than one or want another angle on it.
ARMA and ARIMA Models: frequently asked questions
What is the difference between ARMA and ARIMA?
ARMA is for stationary series and combines AR and MA terms. ARIMA adds differencing, so it can handle series with a trend or a unit root. An ARIMA(p,d,q) process becomes an ARMA(p,q) process after differencing d times.
How do I check stationarity and invertibility of an ARMA model?
For stationarity, find the roots of the AR polynomial φ(z) = 0 and check that all have modulus greater than 1. For invertibility, do the same for the MA polynomial θ(z) = 0. The two checks are independent of each other.
What does the backward shift operator do?
B shifts a series back one time step, so B X_t = X_{t-1}. Powers of B shift further back. It lets you write a long ARMA equation as a compact expression such as φ(B)X_t = θ(B)e_t.
How many times should I difference a series?
Difference until the series looks stationary, which is usually once or twice. In practice you judge this from plots of the series and its sample autocorrelation function. Differencing too often creates unnecessary complexity in the MA part.