7.1 Model formulation
Based on the discussion in previous chapters, we can summarise the general ADAM ETS model. It is built upon the conventional model discussed in Section 4.6 but has several significant differences, the most important of which is that it is formulated using lags of components rather than the transition of them over time (this was discussed in Chapter 5.1 for the pure additive model). The general ADAM ETS model is formulated in the following way:
\[\begin{equation}
\begin{aligned}
{y}_{t} = &w(\mathbf{v}_{t-\boldsymbol{l}}) + r(\mathbf{v}_{t-\boldsymbol{l}}) \epsilon_t \\
\mathbf{v}_{t} = &f(\mathbf{v}_{t-\boldsymbol{l}}) + g(\mathbf{v}_{t-\boldsymbol{l}}) \epsilon_t
\end{aligned},
\tag{7.1}
\end{equation}\]
where \(\mathbf{v}_{t-\boldsymbol{l}}\) is the vector of lagged components and \(\boldsymbol{l}\) is the vector of lags, while all the other functions correspond to the ones used in Section 4.6, equation (4.21). This model form is mainly useful for the formulation, rather than for inference. Not only does it encompass any pure model, it also allows formulating any of the mixed ones. For example, the ETS(M,A,M) will have the following values:
\[\begin{equation*}
\begin{aligned}
w(\mathbf{v}_{t-\boldsymbol{l}}) = (l_{t-1}+b_{t-1}) s_{t-m}\text{, } &
r(\mathbf{v}_{t-\boldsymbol{l}}) = w(\mathbf{v}_{t-\boldsymbol{l}}), \\
f(\mathbf{v}_{t-\boldsymbol{l}}) = \begin{pmatrix} l_{t-1} + b_{t-1} \\ b_{t-1} \\ s_{t-m} \end{pmatrix}\text{, } &
g(\mathbf{v}_{t-\boldsymbol{l}}) = \begin{pmatrix} \alpha (l_{t-1} + b_{t-1}) \\ \beta (l_{t-1} + b_{t-1}) \\ \gamma s_{t-m} \end{pmatrix}, \\
\mathbf{v}_{t} = \begin{pmatrix} l_t \\ b_t \\ s_t \end{pmatrix}\text{, } &
\boldsymbol{l} = \begin{pmatrix} 1 \\ 1 \\ m \end{pmatrix}, \\
\mathbf{v}_{t-\boldsymbol{l}} = \begin{pmatrix} l_{t-1} \\ b_{t-1} \\ s_{t-m} \end{pmatrix}
\end{aligned}.
\end{equation*}\]
By inserting these values in (7.1) we will get the classical ETS(M,A,M) model, mentioned in Section 4.2:
\[\begin{equation}
\begin{aligned}
y_{t} = & (l_{t-1} + b_{t-1}) s_{t-m}(1 + \epsilon_t) \\
l_t = & (l_{t-1} + b_{t-1})(1 + \alpha \epsilon_t) \\
b_t = & b_{t-1} + (l_{t-1} + b_{t-1}) \beta \epsilon_t \\
s_t = & s_{t-m} (1 + \gamma \epsilon_t)
\end{aligned}.
\tag{7.2}
\end{equation}\]
The model (7.1) with different values for the functions is the basis of the adam()
function from the smooth
package. It is used in the C++ code to generate fitted values and/or simulate data from any ETS model.