240. M-A-M

Multiplicative Holt-Winters

ETS(𝑀,𝐴,𝑀)𝑥𝑡=(𝑙𝑡1+𝑏𝑡1)𝑠𝑡𝑚(1+𝜀𝑡)𝑙𝑡=(𝑙𝑡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)𝑠𝑡𝑚)(1+𝜀𝑡)

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

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

Innovation:

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

State updates:

𝑙𝑡=(𝑙𝑡1+𝑏𝑡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+0.5)1.2=15𝜀1=(𝑥1𝜇1)/𝜇1=(1215)/15=0.2𝑙1=(12+0.5)(1+0.5(0.2))=11.25𝑏1=0.5+0.4(12+0.5)(0.2)=0.5𝑠1=1.2(1+0.2(0.2))=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+𝑏𝑡1)𝜀𝑡𝑠𝑡=𝑠𝑡𝑚(1+𝛾𝜀𝑡)
112150.211.250.51.152
21010.750.069810.3750.80.986
387.660.04449.78750.630.8071
4119.15750.201210.07870.1071.0402
51411.7340.193111.16930.89381.1965
61211.89480.008812.11640.93650.9878
7910.53510.145712.1020.17570.7836
81312.77180.017912.38740.26351.044
91615.13670.05713.01170.55211.2101
101413.39820.044913.86840.79580.9967
111111.49060.042714.35120.54540.7769
121515.55130.035514.63250.33411.0366
131818.11170.006214.92040.29721.2086
141615.16690.054915.63560.63161.0076
151312.63780.028716.50030.81810.7813
161717.95140.05316.85940.45091.0256