263. M-Md-A

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

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

where

𝜇𝑡=𝑙𝑡−1𝑏𝑡−1𝜑+𝑠𝑡−𝑚
Example: ETS(𝑀,Md,𝐴)

Given

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

𝑥̂𝑡+ℎ|𝑡=𝑙𝑡𝑏𝑡𝜑+𝜑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+2=14𝜀1=(𝑥1−𝜇1)/𝜇1=(12−14)/14=−0.1429𝑙1=12⋅10.8+0.5⋅14⋅(−0.1429)=11𝑏1=10.8+0.4⋅14⋅(−0.1429)/12=0.9333𝑠1=2+0.2⋅14⋅(−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𝑠𝑡=𝑠𝑡−𝑚+𝛾𝜇𝑡𝜀𝑡
11214−0.1429110.93331.6
21010.4093−0.039310.20470.9314−0.0819
386.64080.204710.32040.998−2.7282
41111.3041−0.026910.1520.98660.9392
51411.64330.202411.22171.08212.0713
61211.87140.010812.01761.0698−0.0561
799.9557−0.09612.2061.0236−2.9193
81313.3754−0.028112.24851.00660.8641
91614.38410.112313.12071.0582.3945
101413.67010.024113.89121.05620.0098
111111.5931−0.051214.21581.0276−3.0379
121515.3934−0.025614.33261.0110.7854
131816.85290.068115.03191.04082.6239
141615.53030.030215.75531.0450.1038
151313.2821−0.021216.1791.0287−3.0943
161717.3345−0.019316.38181.01460.7185