246. A-M-M

Mult. trend, mult. seasonality

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

Given

  • Smoothing parameters: 𝛼=0.5, 𝛽=0.4, 𝛾=0.2
  • Initial states: 𝑙0=12, 𝑏0=1, (𝑠−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𝑏𝑡−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⋅1⋅1.2=14.4𝜀1=𝑥1−𝜇1=12−14.4=−2.4𝑙1=12⋅1+0.5⋅(−2.4)/1.2=11𝑏1=1+0.4⋅(−2.4)/(12⋅1.2)=0.9333𝑠1=1.2+0.2⋅(−2.4)/(12⋅1)=1.16

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𝑏𝑡−1)
11214.4−2.4110.93331.16
21010.2667−0.266710.13330.92360.9948
387.48760.51249.67980.94890.8109
4119.18531.814710.09271.02391.0395
51411.98742.012611.20151.09271.199
61212.1759−0.175912.15111.08640.9919
7910.7049−1.704912.14931.01720.7851
81312.84590.154112.43171.0221.042
91615.23340.766613.02531.04261.211
101413.47060.529413.84711.0590.9997
111111.5129−0.512914.33731.04010.7781
121515.5389−0.538914.65391.02571.0348
131818.202−0.20214.94691.02111.2083
141615.25870.741315.63361.0411.0094
151312.66340.336616.49061.0520.7823
161717.9523−0.952316.88881.02971.0238