7.5 创新的指数平滑状态空间模型

在本章接下来的部分 中,我们将研究基于目前我们考虑的指数平滑法的统计模型。 表 7.7 中呈现的指数平滑方法是生成点预测的算法。本节中的统计模型可以生成相同的点预测,但也可以生成预测区间。统计模型是一个随机的数据生成过程,可以生成整个预测分布。我们还将描述如何使用第 5 章中介绍的模型选择标准来客观地选择模型。

每个模型由一个描述观测数据的测量方程 和一些描述未被观察到的成分或状态(水平,趋势,季节)随时间变化的转换方程组成。因此,这些模型被称为“状态空间模型”。

对于每种方法,都存在两种模型:一种具有加性误差,另一种具有乘性误差。如果它们使用相同的平滑参数值,那么由这些模型产生的点预测是相同的。但是,它们会产生不同的预测区间。

为了区分具有加性误差的模型和具有乘性误差的模型(还要区分模型使用了哪种方法),我们在表 7.6 的分类中添加了第三个字母。我们将每个状态空间模型标记为 ETS(\(\cdot,\cdot,\cdot\)),分别代表 (误差,趋势,季节性),这种标记也可以看作是指数平滑。使用与表 7.6 中相同的符号,每个成分的可能取值为:误差 \(=\{\)A,M\(\}\),趋势 \(=\{\)N,A,Ad\(\}\),季节性 \(=\{\)N,A,M\(\}\)

ETS(A,N,N):具有加性误差的简单指数平滑

回想 一下简单指数平滑的组成形式: \[\begin{align*} \text{Forecast equation} && \hat{y}_{t+1|t} & = \ell_{t}\\ \text{Smoothing equation} && \ell_{t} & = \alpha y_{t} + (1 - \alpha)\ell_{t-1}, \end{align*}\] 如果我们重新调整这个水平的平滑方程,那么我们会得到“误差修正”形式: \[\begin{align*} \ell_{t} %&= \alpha y_{t}+\ell_{t-1}-\alpha\ell_{t-1}\\ &= \ell_{t-1}+\alpha( y_{t}-\ell_{t-1})\\ &= \ell_{t-1}+\alpha e_{t} \end{align*}\] 其中 \(e_{t}=y_{t}-\ell_{t-1}=y_{t}-\hat{y}_{t|t-1}\)\(t\) 时刻的残差。

训练数据的误差会导致在 \(t=1,\dots,T\) 的整个平滑过程中需要对估计水平进行调整。例如,如果 \(t\) 时刻处的误差为负数,则 \(y_t < \hat{y}_{t|t-1}\),这样 \(t-1\) 时刻的水平就已被高估,新的水平 \(\ell_t\) 则是将前一个水平 \(\ell_{t-1}\) 向下调整。 \(\alpha\) 越接近1,该水平的估计就越“粗糙”(会发生较大的调整)。 \(\alpha\) 越小,该水平越“平滑”(会发生较小的调整)。

我们还可以写成 \(y_t = \ell_{t-1} + e_t\),这样每个观察值都可以用前一个水平加上一个误差来表示。为了使它成为创新状态空间模型,我们需要做的是为 \(e_t\) 指定一个概率分布。对于有加性误差的模型,我们假设残差(一步训练误差) \(e_t\) 是服从正态分布的白噪声,均值为0,方差为 \(\sigma^2\)。其简短表示法是\(e_t = \varepsilon_t\sim\text{NID}(0,\sigma^2)\);其中NID代表“独立正态分布”。

那么模型的方程可以写成 \[\begin{align} y_t &= \ell_{t-1} + \varepsilon_t \tag{7.3}\\ \ell_t&=\ell_{t-1}+\alpha \varepsilon_t. \tag{7.4} \end{align}\] 我们将 (7.3) 称为 测量 (或观测)方程 ,将 (7.4) 称为 状态 (或转换)方程 。这两个方程和误差的统计分布形成了一个完全特定的统计模型。具体来说,这些构成了一个基于简单指数平滑的创新状态空间模型。

“创新” 这个词来源于这样一个事实:这种规范类型中的所有方程都使用相同的随机误差过程 \(\varepsilon_t\)。出于同样的原因,这个公式也被称为“单一误差源”模型,与我们在这里没有介绍的另一种可替代的多源误差公式相反。

测量方程显示了观测值与未观测状态之间的关系。在这种情况下,观测值 \(y_t\) 是水平 \(\ell_{t-1}\)\(y_t\) 的可预测部分)和随机误差 \(\varepsilon_t\)\(y_t\) 的不可预测部分)的线性函数。对于其他的创新状态空间模型,这种关系可能是非线性的。

转换方程显示了状态随时间的变化情况。平滑参数 \(\alpha\) 的影响与前面讨论的方法相同。例如, \(\alpha\) 控制着后续水平的变化程度: \(\alpha\) 的值越高,水平变化越快; \(\alpha\) 的值越低,变化越平滑。若 \(\alpha=0\),该时间序列的水平不随时间变化。若 \(\alpha=1\),该模型可简化为一个随机游走模型 , \(y_t=y_{t-1}+\varepsilon_t\)。 (有关此模型的讨论,请参见 8.1 节。)

ETS(M,N,N):具有乘性误差的简单指数平滑

以类似的方式 ,我们可以通过将向前一步训练误差写为相对误差 来具体说明具有乘性误差的模型: \[ \varepsilon_t = \frac{y_t-\hat{y}_{t|t-1}}{\hat{y}_{t|t-1}} \] 其中 \(\varepsilon_t \sim \text{NID}(0,\sigma^2)\)。 代入 \(\hat{y}_{t|t-1}=\ell_{t-1}\) 可以得到 \(y_t = \ell_{t-1}+\ell_{t-1}\varepsilon_t\)\(e_t = y_t - \hat{y}_{t|t-1} = \ell_{t-1}\varepsilon_t\)

然后我们可以写出状态空间模型的乘性形式为 \[\begin{align*} y_t&=\ell_{t-1}(1+\varepsilon_t)\\ \ell_t&=\ell_{t-1}(1+\alpha \varepsilon_t)。 \end{align*}\]

ETS(A,A,N):具有加性误差的Holt线性方法

对于这个模型 ,我们假设向前一步训练误差由下式给出: \(\varepsilon_t=y_t-\ell_{t-1}-b_{t-1} \sim \text{NID}(0,\sigma^2)\)。将其代入Holt线性方法的误差修正方程中,即可得到 \[\begin{align*} y_t&=\ell_{t-1}+b_{t-1}+\varepsilon_t\\ \ell_t&=\ell_{t-1}+b_{t-1}+\alpha \varepsilon_t\\ b_t&=b_{t-1}+\beta \varepsilon_t, \end{align*}\] 其中,为简单起见,我们设定 \(\beta=\alpha \beta^*\)

ETS(M,A,N):具有乘性误差的Holt线性方法

将向前一步训练误差指定为相对误差 可以得到: \[ \varepsilon_t=\frac{y_t-(\ell_{t-1}+b_{t-1})}{(\ell_{t-1}+b_{t-1})} \] 并遵循类似于上文所述方法,将具有乘性误差的Holt线性方法的创新状态空间模型指定为 \[\begin{align*} y_t&=(\ell_{t-1}+b_{t-1})(1+\varepsilon_t)\\ \ell_t&=(\ell_{t-1}+b_{t-1})(1+\alpha \varepsilon_t)\\ b_t&=b_{t-1}+\beta(\ell_{t-1}+b_{t-1}) \varepsilon_t \end{align*}\]

其中 \(\beta=\alpha \beta^*\)\(\varepsilon_t \sim \text{NID}(0,\sigma^2)\)

其他ETS模型

以类似的方式,我们可以写出表 7.7 的每种指数平滑方法对应的创新状态空间模型。表 7.8 中给出了ETS框架中所有模型的公式。

表: 7.8 给出了ETS框架中每种模型的状态空间方程。

表 7.8: State space equations for each of the models in the ETS framework.