249. A-Md-M

Damped mult. trend, mult. seasonality

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

Given

  • Smoothing parameters: 𝛼=0.5, 𝛽=0.4, 𝜑=0.8, 𝛾=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):

𝑥̂𝑡+ℎ|𝑡=𝑙𝑡𝑏𝑡𝜑+𝜑2+…+𝜑ℎ𝑠𝑡+ℎ−𝑚ℎ+

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⋅10.8⋅1.2=14.4𝜀1=𝑥1−𝜇1=12−14.4=−2.4𝑙1=12⋅10.8+0.5⋅(−2.4)/1.2=11𝑏1=10.8+0.4⋅(−2.4)/(12⋅1.2)=0.9333𝑠1=1.2+0.2⋅(−2.4)/(12⋅10.8)=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.4093−0.409310.20470.93140.9921
387.71270.28739.82040.95880.806
4119.49561.504410.24781.02821.0317
51412.15491.845111.27371.08461.1952
61211.93570.064312.06271.06940.9932
7910.2583−1.258311.94741.00340.7862
81312.35940.640612.29021.02351.0424
91614.9651.03512.95371.04691.2118
101413.34660.653413.76681.05771.0029
111111.32−0.3214.19511.03410.7817
121515.1986−0.198614.48541.02181.0397
131817.8580.14214.7961.02061.2137
141615.08370.916315.49651.04121.0151
151312.51160.488416.31711.04890.7878
161717.6251−0.625116.65211.02421.0323