256. SARIMA

Seasonal ARIMA

SARIMA(𝑝,𝑑,𝑞)(𝑃,𝐷,𝑄)𝑚

𝜑(𝐵)Φ(𝐵𝑚)(1𝐵)𝑑(1𝐵𝑚)𝐷𝑥𝑡=𝑐+𝜃(𝐵)Θ(𝐵𝑚)𝜀𝑡Φ(𝐵𝑚)=1Φ1𝐵𝑚Φ𝑃𝐵𝑃𝑚Θ(𝐵𝑚)=1+Θ1𝐵𝑚++Θ𝑄𝐵𝑄𝑚

Seasonal differencing (1𝐵𝑚)𝑦𝑡=𝑦𝑡𝑦𝑡𝑚 removes annual/periodic patterns. Period 𝑚 (e.g., 12 for monthly).

Parameters: 𝜑1,,𝜑𝑝, Φ1,,Φ𝑃, 𝜃1,,𝜃𝑞, Θ1,,Θ𝑄, 𝑐, 𝜎2
Orders: 𝑝, 𝑃, 𝑑, 𝐷, 𝑞, 𝑄, 𝑚

Example: SARIMA(1,0,0)(1,0,0)4

Given

  • Orders: 𝑝=1, 𝑃=1, 𝑑=0, 𝐷=0, 𝑞=0, 𝑄=0, 𝑚=4
  • Parameters: 𝜑1=0.5, Φ1=0.5, 𝑐=0
  • Data:
𝑡12345678910111213141516
x𝑡121081114129131614111518161317

Step 1 — formula

Substitute orders into the SARIMA recursion. With 𝑑=𝐷=0 and 𝑞=𝑄=0:

(1𝜑1𝐵)(1Φ1𝐵𝑚)𝑥𝑡=𝑐+𝜀𝑡

Expand the operator product:

(1𝜑1𝐵Φ1𝐵𝑚+𝜑1Φ1𝐵𝑚+1)𝑥𝑡=𝑐+𝜀𝑡𝑥𝑡𝜑1𝑥𝑡1Φ1𝑥𝑡𝑚+𝜑1Φ1𝑥𝑡𝑚1=𝑐+𝜀𝑡

Forecast (set 𝜀𝑡=0):

𝑥̂𝑡=𝑐+𝜑1𝑥𝑡1+Φ1𝑥𝑡𝑚𝜑1Φ1𝑥𝑡𝑚1

Innovation:

𝜀𝑡=𝑥𝑡𝑥̂𝑡

Pre-compute the cross term: 𝜑1Φ1=0.50.5=0.25.

Step 2 — apply at 𝑡=6 (first usable step: needs 𝑥𝑡𝑚1=𝑥1)

Plug in 𝜑1=0.5, Φ1=0.5, 𝑥5=14, 𝑥2=10, 𝑥1=12:

𝑥̂6=0.514+0.5100.2512=7+53=9𝜀6=𝑥6𝑥̂6=129=3

Step 3 — iterate

Each row uses lag-1 (𝑥𝑡1), lag-𝑚 (𝑥𝑡4), and lag-(𝑚+1) (𝑥𝑡5).

𝑡𝑥𝑡𝑥𝑡1, 𝑥𝑡4, 𝑥𝑡5𝑥̂𝑡=0.5𝑥𝑡1+0.5𝑥𝑡40.25𝑥𝑡5𝑥̂𝑡𝜀𝑡
61214,10,120.5(14)+0.5(10)0.25(12)=7+5393
7912,8,100.5(12)+0.5(8)0.25(10)=6+42.57.51.5
8139,11,80.5(9)+0.5(11)0.25(8)=4.5+5.5285
91613,14,110.5(13)+0.5(14)0.25(11)=6.5+72.7510.755.25
101416,12,140.5(16)+0.5(12)0.25(14)=8+63.510.53.5
111114,9,120.5(14)+0.5(9)0.25(12)=7+4.538.52.5
121511,13,90.5(11)+0.5(13)0.25(9)=5.5+6.52.259.755.25
131815,16,130.5(15)+0.5(16)0.25(13)=7.5+83.2512.255.75
141618,14,160.5(18)+0.5(14)0.25(16)=9+74124
151316,11,140.5(16)+0.5(11)0.25(14)=8+5.53.5103
161713,15,110.5(13)+0.5(15)0.25(11)=6.5+7.52.7511.255.75
1717,18,150.5(17)+0.5(18)0.25(15)=8.5+93.7513.75

Forecasts now sit much closer to the data than AR(1) — the seasonal lag 𝑥𝑡4 tracks the within-cycle pattern, and lag-1 picks up the trend.