12.1 Model formulation

Multiple seasonal ARIMA has already been discussed in Subsections 8.2.3 and 9.1. Therefore, here we focus the discussion on ETS.

Roughly, the idea of a model with multiple seasonalities is in introducing additional seasonal components. For the general framework this means that the state vector (for example, in a model with trend and seasonality) becomes: \[\begin{equation} \mathbf{v}_t' = \begin{pmatrix} l_t & b_t & s_{1,t} & s_{2,t} & \dots & s_{n,t} \end{pmatrix}, \tag{12.1} \end{equation}\] where \(n\) is the number of seasonal components (e.g. hour of day, hour of week and hour of year components). The lag matrix in this case is: \[\begin{equation} \mathbf{l}'=\begin{pmatrix}1 & 1 & m_1 & m_2 & \dots & m_n \end{pmatrix}, \tag{12.2} \end{equation}\] where \(m_i\) is the \(i\)-th seasonal periodicity. While, in theory, there can be combinations between additive and multiplicative seasonal components, I argue that such a mixture does not make sense, and the components should align with each other. This means that in the case of ETS(M,N,M), all seasonal components should be multiplicative, while in ETS(A,A,A), they should be additive. This results fundamentally in two types of models:

  1. Additive seasonality: \[\begin{equation} \begin{aligned} & {y}_{t} = \check{y}_t + s_{1,t-m_1} + \dots + s_{n,t-m_n} \epsilon_t \\ & \vdots \\ & s_{1,t} = s_{1,t-m_1} + \gamma_1 \epsilon_t \\ & \vdots \\ & s_{n,t} = s_{n,t-m_n} + \gamma_n \epsilon_t \end{aligned}, \tag{12.3} \end{equation}\] where \(\check{y}_t\) is the point value based on all non-seasonal components (e.g. \(\check{y}_t=l_{t-1}\) in case of no trend model) and \(\gamma_i\) is the \(i\)-th seasonal smoothing parameter.

  2. Multiplicative seasonality: \[\begin{equation} \begin{aligned} & {y}_{t} = \check{y}_t \times s_{1,t-m_1} \times \dots \times s_{n,t-m_n} \times(1+\epsilon_t) \\ & \vdots \\ & s_{1,t} = s_{1,t-m_1} (1 + \gamma_1 \epsilon_t) \\ & \vdots \\ & s_{n,t} = s_{n,t-m_n} (1+ \gamma_n \epsilon_t) \end{aligned}. \tag{12.4} \end{equation}\]

Depending on a specific model, the number of seasonal components can be 1, 2, 3 or more (although more than three might not make much sense from the modelling point of view). De Livera (2010) introduced components based on Fourier terms, updated over time via smoothing parameters. This feature is not yet fully supported in adam(), but it is possible to substitute some of the seasonal components (especially those that have fractional periodicity) with Fourier terms via explanatory variables and update them over time. The explanatory variables idea was discussed in Chapter 10 and will also be addressed in Section 12.3.


• De Livera, A.M., 2010. Exponentially weighted methods for multiple seasonal time series. International Journal of Forecasting. 26, 655–657. https://doi.org/10.1016/j.ijforecast.2010.05.010