231. 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=1211.2=14.4𝜀1=𝑥1𝜇1=1214.4=2.4𝑙1=121+0.5(2.4)/1.2=11𝑏1=1+0.4(2.4)/(121.2)=0.9333𝑠1=1.2+0.2(2.4)/(121)=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.42.4110.93331.16
21010.26670.266710.13330.92360.9948
387.48760.51249.67980.94890.8109
4119.18531.814710.09271.02391.0395
51411.98742.012611.20151.09271.199
61212.17590.175912.15111.08640.9919
7910.70491.704912.14931.01720.7851
81312.84590.154112.43171.0221.042
91615.23340.766613.02531.04261.211
101413.47060.529413.84711.0590.9997
111111.51290.512914.33731.04010.7781
121515.53890.538914.65391.02571.0348
131818.2020.20214.94691.02111.2083
141615.25870.741315.63361.0411.0094
151312.66340.336616.49061.0520.7823
161717.95230.952316.88881.02971.0238