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^\prime = \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} \boldsymbol{l}^\prime=\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:
Additive seasonality: \[\begin{equation} \begin{aligned} & {y}_{t} = \hat{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 \(\hat{y}_t\) is the point value based on all non-seasonal components (e.g. \(\hat{y}_t=l_{t-1}+\phi b_{t-1}\) in case of damped trend model) and \(\gamma_i\) is the \(i\)-th seasonal smoothing parameter.
Multiplicative seasonality: \[\begin{equation} \begin{aligned} & {y}_{t} = \hat{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). But there are two issues with this model:
- Estimation,
- Fractional seasonality.
The first one is discussed in Section @ref(#ADAMMultiplIssues). As for the second one, it appears if we think that a year contains 365.25 days, not the 365 (because of the leap year). There are several solutions to this. One of those is discussed in Section 12.4. Another one was proposed by De Livera (2010) by introducing new types of 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.
Another issues with the models (12.3) and (12.4) is that they have intersecting components, competing for the same space: if we deal with hourly data, we might have hour of day, hour of week and hour of year seasonality. However it might be more logical not to have such intersections and introduce hour of day, day of week and week of year instead. This is discussed to some extent in Section 12.3.