Double exponential smoothing

Description and example of the double exponential smoothing

This page exists due to the efforts of the following people:




Created: 2016-02-09 19:52:00, Last updated: 2021-02-25 08:50:07
Creative Commons Attribution/Share-Alike License 3.0 (Unported)

This content is licensed under Creative Commons Attribution/Share-Alike License 3.0 (Unported). That means you may freely redistribute or modify this content under the same license conditions and must attribute the original author by placing a hyperlink from your site to this work Also, please do not modify any references to the original work (if any) contained in this content.

We continue our topic of exponential smoothing started in the article Exponential smoothing

Last time we reviewed simple exponential smoothing - single exponential smoothing, today we'll be looking at double exponential smoothing.

Single exponential smoothing doesn't show quite outstanding characteristics in data depicting the presence of a clear trend. That is, it's kind of "catches" it, but not very good.

Double exponential smoothing was invented to work with data, showing a clear trend.

The idea is that - an additional component is added to a formula of exponential smoothing, see Exponential smoothing, and it changes the contribution of the previous values, depending on the trend.

Generalized formulas look as follows:

S_t = \alpha y_t + (1-\alpha)(S_{t-1}+b_{t-1}),
where \alpha takes the value from the range [0;1)

b_t = \gamma (S_t - S_{t-1}) + (1-\gamma)b_{t-1},
where \gamma takes the value from the range [0;1]

Note that here for the calculation of the current S, the current value of y is used.

As in the simple exponential smoothing, there are several ways of the initial parameters selection, namely, S and b, which affect the final result.

Typically, the following methods are used (I used them too):


Also, for the calculation of the initial b there are also the following options:

b_1=\frac{ (y_2-y_1) + (y_3-y_2) + (y_4-y_3)}{3}

And yet again, as in the case of the simple exponential smoothing, the choice of optimal parameters \alpha and \gamma - is not a trivial task, and one of the methods is the exhaustive method followed by a selection of the optimal value for the criterion of the minimum mean square error.

There is one subtlety, though, since there is a current value of y in the formula, the error can not be considered as the difference between the current S and the current y. Obviously, it will be equal to 0 with \alpha equal 1 (this is generally a punctured case). Therefore, as an error, the difference between the forecasted value (see below) and the following actual value.

Now, about the forecasting.

To forecast the following value, the formula below is used.

S_{t+1}=S_t + b_t

to forecast several values

S_{t+n}=S_t + nb_t

In the calculator below, you can change the values \alpha and \gamma, and also, you can compare the result with a simple exponential smoothing.
The following forecasted value is depicted on a graph for reference, i.e., smoothed average extended for one count further the actual data.

PLANETCALC, Double exponential smoothing

Double exponential smoothing

Time series

Items per page:

Digits after the decimal point: 2
Double smoothing mean-square error
Single smoothing mean-square error
Double exponential smoothing
The file is very large. Browser slowdown may occur during loading and creation.

As default data the best, as I remember, are the coefficients \alpha=0.6 and \gamma=0.05. Note that the error in the double smoothing with coefficients is by default greater than that of a simple smoothing because the double smoothing conducts itself worse on the unexpected trend reversals (see the forecast column and compare it with the following actual value) - in such cases, the difference between the forecast in contrast to the actual value gives a bigger mistake.

URL copied to clipboard
PLANETCALC, Double exponential smoothing