245. M-M-A

Mult. trend + add. season., mult. errors

ETS(𝑀,𝑀,𝐴)𝑥𝑡=(𝑙𝑡1𝑏𝑡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=1, (𝑠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+𝛽𝜇𝑡𝜀𝑡/𝑙𝑡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=121+2=14𝜀1=(𝑥1𝜇1)/𝜇1=(1214)/14=0.1429𝑙1=121+0.514(0.1429)=11𝑏1=1+0.414(0.1429)/12=0.9333𝑠1=2+0.214(0.1429)=1.6

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𝑠𝑡=𝑠𝑡𝑚+𝛾𝜇𝑡𝜀𝑡
112140.1429110.93331.6
21010.26670.02610.13330.92360.0533
386.35950.25810.17980.98842.6719
41111.06160.005610.03080.9860.9877
51411.49010.218411.1451.08612.102
61212.05090.004212.07881.08420.0635
7910.42430.136612.38411.03712.9568
81313.83080.060112.42771.01020.8215
91614.65690.091613.22651.05352.3706
101413.87010.009413.99851.05740.0375
111111.84520.071414.37941.03323.1258
121515.67890.043314.51791.01440.6857
131817.0970.052815.17791.03922.5512
141615.73590.016815.90551.04620.0153
151313.51450.038116.3831.03333.2287
161717.61370.034816.62111.01830.563