Double Exponential Smoothing:
Holt’s Method
By
S P Sarmah
1
Holt’s method: Double exponential smoothing method
• When time series exhibits a linear trend and no seasonality
Holt’s method often yields good forecasts.
• At the end of the tth period, Holt’s method yields an estimate of
the base level at and per period trend bt of the series.
• After observing xt, the following equations are used to update
the base and trend estimate, 0 < α < 1 0<β<1
where α and β are smoothing constant
Intercept – a = x + (1 − ) a
t t +b
t −1 t −1 (1)
Slope – bt = at − at −1 + (1 − )bt −1 (2)
f t ,k = at + kbt
2
• The term at denotes an estimate of the level of the series at time
t and bt denotes an estimate of the slope of the series at time ‘t’.
• Equation (1) adjusts at for the trend of the previous period bt-1
by adding it to the last smoothed value at-1.
• This helps in elimination the lag & brings at to approximate
level of the current data value.
• To initialize Holt’s method, we need an initial estimate call it a0
of the base and initial estimate call it b0 of the trend.
3
• There are different methods of initialization.
• One can set b0 equal to the average monthly increase in the
time series during the previous year and one can set a0 equal to
last months observation of the previous year.
• Another alternative is to
a1 = x1
b1 = x 2 − x1
x 4 − x1
b1 =
3
4
• The initialization process for Holt’s linear exponential
smoothing requires for estimates.
- One to get first smoothed value for a1 and the other to get
the trend b1.
• In summary Holt’s method will provide good forecasts for a
series with a linear trend and such a series may be modeled as
xt = a + bt
a = base level at the beginning of period 1
b = per period trend for period t
5
Here period 1 is
Example the base period 0
a1 = x1 = 143 b1= x2 - x1 = 152 - 143 = 9
Period 1 Observed data Smoothing of base Smoothing of trend Forecast
(xt) (at) (bt)
1 143 a1=143 b1=(152-143)=9 -
2 152 a2=152 b2=9 152
3 161 a3=161 b3=9 161
4 139 a4=154.5 b4=7.88 170
5 137 a5=149.69 b5=6.970 162.38
6 174 a6=165.33 b6=7.59 156.66
7 142 a7=157.46 b7=6.48 172.92
8 141 a8=152.42 b8=5.64 163.94
9 162 a9=160.03 b9=5.78 158.06
6
f 1,1 = a1 + 1 b1 = 143 + 9 = 152
a 2 = x 2 + (1 − )a1 + b1
= .5 152 + .5(143 + 9 ) = 76 + 76 = 152
b2 = a 2 − a1 + (1 − )b1
= .072152 − 143 + (1 − .072) 9 = 9
f 2 ,1 = a 2 + 1 b2 = 152 + 9 = 161
Forecasted value for period 3 made at the end of period 2
7
a 3 = x3 + (1 − )a 2 + b2
= .5 161 + .5(152 + 9 ) = 161
b3 = a 3 − a 2 + (1 − )b2
= .072161 − 152 + (1 − .072) 9 = 9
f 3,1 = a 3 + 1 b3 = 161 + 9 = 170
This is the forecasted value for period 4
8
a4 = x4 + (1 − )a3 + b3
= .5 139 + .5(161+ 9 ) = 154.5
b4 = a4 − a3 + (1 − )b3
= .072154.5 − 161 + (1 − .072) 9
= 7.884
f 4 ,1 = a4 + 1 b4 = 154.5 + 7.884
= 162.38
9
a5 = x5 + (1 − )a4 + b4
= .5 137 + .5(154.5 + 7.884) = 149.69
b5 = .072149.69 − 154.5 + (1 − .072) 7.884 = 6.970
f 5,1 = 149.69 + 1 6.970 = 156.66
a 6 = x6 + (1 − )a5 + b5
= .5 174 + .5(149.69 + 6.970) = 165.33
b6 = .072165.33 − 149.69 + (1 − .072) 6.970 = 7.5942
f 6,1 = 165.33 + 7.5942 = 172.92
10
a 7 = .5(142) + .5(165.33 + 7.5942) = 157.46
b7 = .072157.46 − 165.33 + (1 − .072) 7.5942
= 6.481
f 7 ,1 = 157.46 + 6.481 = 163.94
• By trying various combinations of α and β we could find the
value of α and β that minimizes the MAD. One can use Excel
Solver to determine the best combination of values
• If these values of α, β are not less than 0.5 then seasonality or
cyclic behaviour is probably present and another forecasting
method should be used.
11
Triple Exponential Smoothing:
Winters Method
12
WintersMethod: (Triple exponential smoothing )
Exponential smoothing with seasonality
• This method is used to forecast time series for which trend and
seasonality are present
e.g. sales of air conditioner exhibit an upward trend and
seasonality.
• To describe winters method, we require the following
definitions
N = The number of periods in the length of the seasonal pattern
N = 12 data points for monthly data
= 4 data points for quarterly data
with an annual seasonal pattern
13
St = An estimate of a seasonal multiplicative factor (for month t),
obtained after observing xt
Observed
sales
Random noise εt
Seasonal coefficient
Observation
Value of gradient
t=1 Value of intercept
period
0 1 7 14
Days
14
Let at and bt have the same meaning as they did in Holt’s
method.
• Each period at, bt and St are updated (in that order) by using the
following equations
α, β and γ are smoothing constants each of which is between 0
and 1.
a0 = Estimate of base at the beginning of month 1.
b0 = Estimate of trend at the beginning of month 1.
St-N = t is the period in month and length of the season N is in
period of months. (t - N indicates value calculated N
period before )
e.g: seasonal factor calculated in Jan 15, if we are
15
calculating demand for Jan 16
a t
= x t
+ (1 − )(at −1 + bt −1) (1)
S t−N
b t
= (at − at −1) + (1 − )bt −1 (2)
= x t
+ (1 − )S t−N (3)
S t
a t
Now forecast made at period t for period (t+k) is given by
f t ,k
= a t
+ k bt S t − N +k
16
• Equation (1) updates the estimates of the series base by taking
a weighted average of the following two quantities
a) at-1 + bt-1 is the base level estimate before observing xt.
x t
b) The deseasonalized observation S which is an estimate
t−N
of the base obtained from the current period.
• Equation (2) is identical to the bt equation used to update trend
in the Holt method.
17
• Equation (3) updates the estimates of month t’s seasonality by
taking a weighted average of the following two quantities
➢ Most recent estimate of month t’s seasonality St-N
xt
➢ a t is an estimate of month t’s seasonality obtained from
the current month.
• To forecast the value of the series during the period t+k,
multiply estimate of the period (t+k) base (at+kbt) by most
recent estimate of month (t+k) is seasonality factor St+k-N.
18
Initialization procedure
• Winters suggest a minimum of two seasons of data be
available for initialization.
• Let us assume that exactly two seasons of data are
available i.e. 2N data points
• Suppose the current period is t =0 so that past
observations are labelled as x-2N+1 , x-2N+2…..x0
The steps are as follows
19
Step1
• Calculate the sample means for two separate seasons
of data as follows
-N
1
v1 =
N
x
j = - 2N +1
j
0
1
v2 =
N
x
j = - N +1
j
Step 2
v 2 - v1
Define bo = as the initial slope estimate.
N
If more than two seasons data are available (i.e. m > 2)
for initialization, then compute v1, v2, ……vm and
define v m - v1
bo =
(m - 1)N 20
• If we locate v1 at the centre of the first season of the
data and v2 at the centre of the second seasons of the
data, then b0 is simply the slope of the line connecting
v1 and v2
Step 3
• Set a0 = v2 + b0 (N-1)/2
• This estimates the value of the base at time t = 0.
Note that a0 is the value assumed by the line
connecting v1 and v2 at t = 0
21
Step 4
• The initial seasonal factors are computed for each
period in which data are available and then averaged
to obtain one set of seasonal factor.
• The initial seasonal factors are obtained by dividing
each of the initial observations by the corresponding
point along the line connecting v1 and v2. This can be
done as follows
xt
St = for - 2N + 1 t 0
(N + 1)
vi - [ − j]b 0
2
22
• Where i = 1 for the first season and i = 2 for the
second season
• J is the period of the particular season, i.e. j= 1 for
t = -2N +1 and t = - N+1;
• j =2 for t = -2N +2 and t = -N+2 and so on
• Next, average the seasonal factor. Assuming exactly
two seasons of initial data, we obtain
S-N+1 = (S-2N+1 + S –N+1)/2 ……….S0 = (S-N +S0)/2
23
• Finally, normalized the seasonal factor
S
S j = - N +1 N for - N + 1 j 0
j
i =0 Si
• But it is not the only means of initializing the system.
Seasonal factor could be determined by the method of
moving average method also.
24
Season 1 Season 2
Demand
Slope=b0
V2
V1
Time
N
Figure 2
Now average S-7 and S-3 ,S-6 and S-2 , to obtain four seasonal factors:
S-3 =.5888, S-2 =1.1010, S-1 = 1.3720, S-0 =.9115
Finally, norming the factors to ensure sum is 4
S-3 =.5900, S-2 =1.1100, S-1 = 1.3800, S0 =.9200
The forecasting equation is:
Ft, г = (at + г bt) St+г-N
Than at t=0,
F0,1 = (a0 +b0 ) S-3 = (23.06 + .875)(.59) = 14.12,
F0,2 = (a0 +2b0 ) S-2= [23.06+(2)(.875)](1.11)=27.54
F0,3 = 35.44
F0,4 = 24.38
Now, suppose at t=1 x1 =16 than,
a1 = α (x1 / S-3) + (1- α)(a0 + b0) = (.2)(16/.59)+(.8)(23.06+.875) = 24.57,
b1 = β [a1 – a0] + (1- β) b0 = (.1)(24.57-23.06)+(.9)(.875) =.9385
S1 = γ (x1 / a1 ) + (1- γ) S-3 = (.1)(16/24.57)+(.9)(.59) =.5961
Now renorm S-2 , S-1 , S0 , and the new value of S1 to add to 4. Since
the sum is 4.0061, it is close enough.
Forecasting from period 1, we obtain
F1,1 = (a1 +b1 ) S-2 = (24.57+.9385)(1.11) = 28.3144
F1,2 = (a1 +2b1 ) S-1 = [24.57+(2)(.9385)](1.38) =36.4969
And so on.
Now suppose we have one full year demand, given by x1=16, x2=33,
x3 = 34 and x4 =26. Updated intercept, slope, and current seasonal
factors are:
a2 = 26.35, a3 = 26.83, a4 = 27.89, b2 = 1.0227, b3 = 0.9678, b4=
0.9770, S2=1.124, S3 =1.3, S4 = 0.9212
As S1 , S2 , S3 , and S4 sum to 4.01, normalization is not necessary.
Suppose we want to forecast in period 4 for period 10. The
forecasting equation is
Ft, г = (at + г bt) St+г-N ,
Which results in
F4, 6 = (a4 + 6 b4) S2 = [27.89+6(.9770)](1.124)=37.94
THANKS
30