240. A-A-M

HW with mult. seasonality

ETS(𝐴,𝐴,𝑀)𝑥𝑡=(𝑙𝑡−1+𝑏𝑡−1)𝑠𝑡−𝑚+𝜀𝑡𝑙𝑡=𝑙𝑡−1+𝑏𝑡−1+𝛼𝜀𝑡/𝑠𝑡−𝑚𝑏𝑡=𝑏𝑡−1+𝛽𝜀𝑡/𝑠𝑡−𝑚𝑠𝑡=𝑠𝑡−𝑚+𝛾𝜀𝑡/(𝑙𝑡−1+𝑏𝑡−1)𝑥̂𝑡+ℎ|𝑡=(𝑙𝑡+ℎ𝑏𝑡)𝑠𝑡+ℎ−𝑚ℎ+
Example: ETS(𝐴,𝐴,𝑀)

Given

  • Smoothing parameters: 𝛼=0.5, 𝛽=0.4, 𝛾=0.2
  • Initial states: 𝑙0=12, 𝑏0=0.5, (𝑠−3,𝑠−2,𝑠−1,𝑠0)=(1.2,1,0.8,1), seasonal period 𝑚=4
  • Data:
𝑡12345678910111213141516
x𝑡121081114129131614111518161317

Step 1 — formula

Observation:

𝑥𝑡=(𝑙𝑡−1+𝑏𝑡−1)𝑠𝑡−𝑚+𝜀𝑡

Conditional mean (one-step-ahead forecast 𝑥̂𝑡|𝑡−1=𝜇𝑡):

𝜇𝑡=(𝑙𝑡−1+𝑏𝑡−1)𝑠𝑡−𝑚

Innovation:

𝜀𝑡=𝑥𝑡−𝜇𝑡

State updates:

𝑙𝑡=𝑙𝑡−1+𝑏𝑡−1+𝛼𝜀𝑡/𝑠𝑡−𝑚𝑏𝑡=𝑏𝑡−1+𝛽𝜀𝑡/𝑠𝑡−𝑚𝑠𝑡=𝑠𝑡−𝑚+𝛾𝜀𝑡/(𝑙𝑡−1+𝑏𝑡−1)

Forecast ℎ steps ahead from time 𝑡 (using current-period states):

𝑥̂𝑡+ℎ|𝑡=(𝑙𝑡+ℎ𝑏𝑡)𝑠𝑡+ℎ−𝑚ℎ+

where ℎ∈{1,2,3,…} is the forecast horizon (how many steps ahead); 𝑚ℎ+=((ℎ−1)mod𝑚)+1 picks the right seasonal slot for the period ℎ steps ahead (cycles through 1,2,…,𝑚).

Step 2 — apply at 𝑡=1

𝜇1=(12+0.5)⋅1.2=15𝜀1=𝑥1−𝜇1=12−15=−3𝑙1=12+0.5+0.5⋅(−3)/1.2=11.25𝑏1=0.5+0.4⋅(−3)/1.2=−0.5𝑠1=1.2+0.2⋅(−3)/(12+0.5)=1.152

Step 3 — iterate

Each column header is the equation that produced its values. Values rounded to 4 decimal places; arithmetic performed at full precision.

𝑡𝑥𝑡𝜇𝑡=(𝑙𝑡−1+𝑏𝑡−1)𝑠𝑡−𝑚𝜀𝑡𝑙𝑡=𝑙𝑡−1+𝑏𝑡−1+𝛼𝜀𝑡/𝑠𝑡−𝑚𝑏𝑡=𝑏𝑡−1+𝛽𝜀𝑡/𝑠𝑡−𝑚𝑠𝑡=𝑠𝑡−𝑚+𝛾𝜀𝑡/(𝑙𝑡−1+𝑏𝑡−1)
11215−311.25−0.51.152
21010.75−0.7510.375−0.80.986
387.660.349.7875−0.630.8071
4119.15751.842510.07870.1071.0402
51411.7342.26611.16930.89381.1965
61211.89480.105212.11640.93650.9878
7910.5351−1.535112.1020.17570.7836
81312.77180.228212.38740.26351.044
91615.13670.863313.01170.55211.2101
101413.39820.601813.86840.79580.9967
111111.4906−0.490614.35120.54540.7769
121515.5513−0.551314.63250.33411.0366
131818.1117−0.111714.92040.29721.2086
141615.16690.833115.63560.63161.0076
151312.63780.362216.50030.81810.7813
161717.9514−0.951416.85940.45091.0256