Forecasting with Exponential Smoothing: the State Space Approach

Rob J Hyndman, Anne B Koehler, J Keith Ord, Ralph D Snyder (Springer, 2008).

Springer Google books Amazon

Exponential smoothing methods have been around since the 1950s, and are still the most popular forecasting methods used in business and industry. However, a modelling framework incorporating stochastic models, likelihood calculation, prediction intervals and procedures for model selection, was not developed until relatively recently. Two key papers were Ord, Koehler and Snyder (JASA, 1997) and Hyndman, Koehler, Snyder and Grose (IJF, 2002) although there have been many others filling in some of the details.

As a result, the area of exponential smoothing has undergone a substantial revolution in the past ten years. The new “state space framework” for exponential smoothing is discussed in numerous journal articles but there has been no systematic explanation and development of the ideas. Furthermore, the notation used in the journal articles tends to change from paper to paper. Consequently, researchers and practitioners struggle to use the new models in applications.

In this book we try to bring together all of the important results in a coherent manner with consistent notation. We have written it for people wanting to apply the methods in their own area of interest as well as for researchers wanting to take the ideas in new directions.

The readership is assumed to have a statistical background at about honours level in the UK/Australian/NZ system and Masters level in the US system.

R packages and data

The R packages forecast and fable both implement the methods described in the book. The expsmooth package contains the data for the exercises and most of the examples in the book.

You can also download individual csv files for each data set.

Table of contents


Part I: Introduction

  1. Basic concepts [R code]
  2. Getting started [R code] [Exercise solutions]

Part II: Essentials

  1. Linear innovations state space models [R code] [Exercise solutions]
  2. Non-linear and heteroscedastic innovations state space models [Exercise solutions]
  3. Estimation of innovations state space models [R code] [Exercise solutions]
  4. Prediction distributions and intervals [R code] [Exercise solutions]
  5. Selection of models

Part III: Further topics

  1. Normalizing seasonal components [R code]
  2. Models with regressor variables [R code]
  3. Some properties of linear models
  4. Reduced forms and relationships with ARIMA models
  5. Linear innovations state space models with random seed states
  6. Conventional state space models
  7. Time series with multiple seasonal patterns (with Phillip Gould) [R code]
  8. Non-linear models for positive data (with Muhammad Akram) [R code]
  9. Models for count data [R code]
  10. Vector exponential smoothing (with Ashton de Silva)

Part IV: Applications

  1. Inventory control application [R code]
  2. Conditional heteroscedasticity and applications in finance [R code]
  3. Economic applications: the Beveridge-Nelson decomposition (with Chin Nam Low and Heather Anderson)



This is the list of all errors that we know about. If you think you’ve spotted a new one, please let us know!

In the heading for section 2.3.3, “Ad,A” should read “Ad,N”
The discount matrix for the damped local level model is D=\phi(1-\alpha) and the model is stable provided |\phi(1-\alpha)|<1, or equivalently |\phi|<1 and 0 < \alpha < 2.
Exercise 3.2. Change “stable” to “forecastable”.
Exercise 3.3. The variance should be \sigma^2(1+(t-1)\alpha^2).
The third equation should have a plus sign:

\boldsymbol{x}_{t} = \boldsymbol{D}(\boldsymbol{x}_{t-1}) + g(\boldsymbol{x}_{t-1})\frac{y_t}{r(\boldsymbol{x}_{t-1})}.

The following equation also needs a similar correction.
p76, line4-
Replace “Classes 1-4” with “Classes 1-5”
For the ETS(M,Ad,M) model, \boldsymbol{w}_1 = [1 ~ \phi]^\prime and the matrix \boldsymbol{G}_1 = \left[\begin{array}{ll} \alpha & \alpha\phi \\ \beta & \beta\phi\end{array}\right].
last line: the last term should be just \varepsilon_{n+j} not \varepsilon q_{n+j}
the sum on the first line should be multiplied by \sigma^2.
For the ETS(M,Ad,M) model, \boldsymbol{w}_1 = [1 ~ \phi]^\prime and the matrix \boldsymbol{G}_1 = \left[\begin{array}{ll} \alpha & \alpha\phi \\ \beta & \beta\phi\end{array}\right].
p108: heading 7.2.1
Change “Section” to “Selection”.
p109: line 1
\hat{y}_{i,n_j}^{(i,j)} should be \hat{y}_{n_j}^{(i,j)}
p118: line 4
delete first “is”
In the ETS(A,Ad,N) model, \boldsymbol{w} = [1 ~ \phi]^\prime and \boldsymbol{F} = \left[\begin{array}{ll} 1 & \phi \\ 0 & \phi \end{array}\right]. Similarly, in the ETS(A,Ad,A) model, the second element of \boldsymbol{w} should be \phi and the second element of the top row of \boldsymbol{F} should be \phi.
In the ETS(A,Ad,N) model, the second column of \boldsymbol{D} should contain \phi(1-\alpha) and \phi(1-\beta). Similarly, in the ETS(A,Ad,A) model, the first two elements of the second column of \boldsymbol{D} should be \phi(1-\alpha) and \phi(1-\beta).
In Table 10.1, the parameter range for \phi should be -1<\phi\le1.
Last paragraph: the seasonal states should sum to zero, not one. So replace equation with s_{m,t} \equiv s_{0,t} = -s_{1,t} - \dots - s_{m-1,t}.
Last sentence: the second element of \boldsymbol{w} should be \phi and the second element of the top row of \boldsymbol{F} should be \phi.
The first two elements of the second column of \boldsymbol{D} should be \phi(1-\alpha) and \phi(1-\beta).
p280: line 10
Change “finite” to “non-zero”.