254. M-A-A

Additive HW, multiplicative errors

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

where

𝜇𝑡=𝑙𝑡−1+𝑏𝑡−1+𝑠𝑡−𝑚
Example: ETS(𝑀,𝐴,𝐴)

Given

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

Step 1 — formula

Observation:

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

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

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

Innovation:

𝜀𝑡=(𝑥𝑡−𝜇𝑡)/𝜇𝑡

State updates:

𝑙𝑡=𝑙𝑡−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+2=14.5𝜀1=(𝑥1−𝜇1)/𝜇1=(12−14.5)/14.5=−0.1724𝑙1=12+0.5+0.5⋅14.5⋅(−0.1724)=11.25𝑏1=0.5+0.4⋅14.5⋅(−0.1724)=−0.5𝑠1=2+0.2⋅14.5⋅(−0.1724)=1.5

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+𝛽𝜇𝑡𝜀𝑡𝑠𝑡=𝑠𝑡−𝑚+𝛾𝜇𝑡𝜀𝑡
11214.5−0.172411.25−0.51.5
21010.75−0.069810.375−0.8−0.15
386.5750.216710.2875−0.23−2.715
41111.0575−0.005210.0287−0.2530.9885
51411.27570.241611.13790.83672.0449
61211.82460.014812.06230.9069−0.1149
7910.2542−0.122312.34210.4052−2.9658
81313.7358−0.053612.37940.11090.8413
91614.53510.100813.22270.69682.3378
101413.80460.014214.01720.775−0.0758
111111.8264−0.069914.3790.4444−3.1311
121515.6648−0.042414.49110.17850.7084
131817.00740.058415.16590.57562.5363
141615.66560.021315.90860.7093−0.009
151313.4868−0.036116.37450.5146−3.2285
161717.5975−0.03416.59040.27560.5889