10.4 自上而下的方法

自上而下的方法仅适用于严格的分层聚合结构,而不适用于分组结构。这种方法首先为总计序列 \(y_t\) 生成预测,然后在分层结构中分解这些预测。

我们设定一组分解比例 \(p_1,\dots,p_{m}\),它们决定如何分配总计序列的预测,以获得结构底层每个序列的预测。例如,对于图 10.1 中的分层结构,使用比例 $p_1,,p_{5} 我们可以得到, \[ \ytilde{AA}{t}=p_1\hat{y}_t,~~~\ytilde{AB}{t}=p_2\hat{y}_t,~~~\ytilde{AC}{t}=p_3\hat{y}_t,~~~\ytilde{BA}{t}=p_4\hat{y}_t~~~\text{and}~~~~~~\ytilde{BB}{t}=p_5\hat{y}_t。 \] 使用矩阵表示法,我们可以将这一组比例放在一个 \(m\) 维向量 \(\bm{p}=(p_1,\ldots,p_{m})'\) 中并写作 \[ \tilde{\bm{b}}_{t}=\bm{p}\hat{y}_t。 \] 一旦生成了底层序列的 \(h\) 步向前预测,就可以对这些预测进行汇总,以便为该系列的其余部分生成一致的预测。通常,对于指定的比例集,自上而下的方法可以表示为 \[ \tilde{\bm{y}}_h=\bm{S}\bm{p}\hat{y}_t。 \]

两种最常见的自上而下方法都是根据数据的历史比例来指定分解比例。它们在 Gross & Sohl (1990) 的研究中表现良好。

平均历史比例

\[ p_j=\frac{1}{T}\sum_{t=1}^{T}\frac{y_{j,t}}{{y_t}} \] 对于 \(j=1,\dots,m\)。每个比例 \(p_j\) 反映了底层序列 \(y_{j,t}\)\(t=1,\dots,T\) 时相对于总计 \(y_t\) 的历史平均值。

这种方法是通过在 forecast() 函数中设置 method="tdgsa" 实现的,其中 tdgsa 代表“自上而下的Gross-Sohl方法A”。

历史平均数的比例

\[ p_j={\sum_{t=1}^{T}\frac{y_{j,t}}{T}}\Big/{\sum_{t=1}^{T}\frac{y_t}{T}} \] 对于 \(j=1,\dots,m\)。每个比例 \(p_j\) 反映了底层序列 \(y_{j,t}\)\(t=1,\dots,T\) 时相对于总计 \(y_t\) 的平均值的历史平均值。

这种方法是通过在 forecast() 函数中设置 method="tdgsf" 实现的,其中 tdgsf 代表“自上而下的Gross-Sohl方法F”。

这种自上而下方法的一个很方便的属性是它们的简洁性。因为你只需要为汇总的顶级序列建模并生成预测。通常,这些方法似乎对总体水平生成了非常可靠的预测,并且它们对于低频数据非常有用。另一方面,这种方法的一个缺点是由于合计而导致的信息丢失。 使用这种自上而下的方法,我们无法捕捉并利用各个序列的特征,如时间动态变化、特殊事件等。

预测比例

由于用于分解的历史比例没有考虑这些比例如何随时间变化,基于历史比例的自上而下的方法倾向于在较低层次的层级中产生比自下而上方法更不准确的预测。为了解决这个问题,可以使用基于预测而不是历史数据的比例 (Athanasopoulos, Ahmed, & Hyndman, 2009)

考虑一级层次结构。我们首先为所有序列生成 \(h\) 步向前预测。我们不直接使用这些预测,而且它们并不一致(它们加总之后不正确),我们称之为“初始”预测。计算底层每个 \(h\) 步向前初始预测与此级别所有 \(h\) 步向前初始预测的总和的比例。我们将这些作为预测比例,然后使用它们来分解顶级的 \(h\) 步向前初始预测,以便为整个分层结构生成一致的预测。

对于 \(K\) 级层次结构,从顶层到底层的每个节点都会重复此过程。应用此过程可以得到以下获取预测比例的一般规则: \[ p_j=\prod^{K-1}_{\ell=0}\frac{\hat{y}_{j,h}^{(\ell)}}{\hat{S}_{j,h}^{(\ell+1)}} \] 其中 \(j=1,2,\dots,m\)\(\hat{y}_{j,h}^{(\ell)}\)\(\ell\) 以上 \(j\) 个级别对应节点的序列的 \(h\) 步向前初始预测, \(\hat{S}_{j,h}^{(\ell)}\)\(\ell\) 以上 \(j\) 个级别以上的节点对应的序列的 \(h\) 步向前初始预测的总和。这些预测比例分解了总计序列的 \(h\) 步向前初始预测,以获得底层系列的 \(h\) 步向前一致预测。

我们将使用图 10.1 的分层结构来解释这种表示法,并演示如何使用这个一般规则。假设我们已为分层结构中的每个序列生成了初始预测。回想一下,对于顶级“总计”序列, \(\tilde{y}_{h}=\hat{y}_{h}\),对于任何自上而下的方法,以下是使用上述表示法的一些示例:

  • \(\hat{y}_{\text{A},h}^{(1)}=\hat{y}_{\text{B},h}^{(1)}=\hat{y}_{h}= \tilde{y}_{h}\)
  • \(\hat{y}_{\text{AA},h}^{(1)}=\hat{y}_{\text{AB},h}^{(1)}=\hat{y}_{\text{AC},h}^{(1)}= \hat{y}_{\text{A},h}\)
  • \(\hat{y}_{\text{AA},h}^{(2)}=\hat{y}_{\text{AB},h}^{(2)}= \hat{y}_{\text{AC},h}^{(2)}=\hat{y}_{\text{BA},h}^{(2)}= \hat{y}_{\text{BB},h}^{(2)}=\hat{y}_{h}= \tilde{y}_{h}\)
  • \(\Shat{AA}{h}{1} = \Shat{AB}{h}{1}= \Shat{AC}{h}{1}= \yhat{AA}{h}+\yhat{AB}{h}+\yhat{AC}{h}\)
  • \(\Shat{AA}{h}{2} = \Shat{AB}{h}{2}= \Shat{AC}{h}{2}= \Shat{A}{h}{1} = \Shat{B}{h}{1}= \hat{S}_{h}= \yhat{A}{h}+\yhat{B}{h}\)

沿着分层结构最左边的分支向下移动,给出一致的预测 \[ \ytilde{A}{h} = \Bigg(\frac{\yhat{A}{h}}{\Shat{A}{h}{1}}\Bigg) \tilde{y}_{h} = \Bigg(\frac{\yhat{AA}{h}^{(1)}}{\Shat{AA}{h}{2}}\Bigg) \tilde{y}_{h} \]\[ \ytilde{AA}{h} = \Bigg(\frac{\yhat{AA}{h}}{\Shat{AA}{h}{1}}\Bigg) \ytilde{A}{h} =\Bigg(\frac{\yhat{AA}{h}}{\Shat{AA}{h}{1}}\Bigg) \Bigg(\frac{\yhat{AA}{h}^{(1)}}{\Shat{AA}{h}{2}}\Bigg)\tilde{y}_{h}。 \] 因此, \[ p_1=\Bigg(\frac{\yhat{AA}{h}}{\Shat{AA}{h}{1}}\Bigg) \Bigg(\frac{\yhat{AA}{h}^{(1)}}{\Shat{AA}{h}{2}}\Bigg)。 \] 其他比例可以类似地获得。

包括这一方法在内的所有自上而下方法有一个缺点,就是它不会产生无偏的一致预测 (Hyndman, Ahmed, Athanasopoulos, & Shang, 2011)

这种方法是通过在 forecast() 函数中设置 method="tdfp"来实现的,其中 tdfp 代表“自上而下的预测比例”。

参考文献

Athanasopoulos, G., Ahmed, R. A., & Hyndman, R. J. (2009). Hierarchical forecasts for Australian domestic tourism. International Journal of Forecasting, 25, 146–166. https://robjhyndman.com/publications/hierarchical-tourism/

Gross, C. W., & Sohl, J. E. (1990). Disaggregation methods to expedite product line forecasting. Journal of Forecasting, 9, 233–254. https://doi.org/10.1002/for.3980090304

Hyndman, R. J., Ahmed, R. A., Athanasopoulos, G., & Shang, H. L. (2011). Optimal combination forecasts for hierarchical time series. Computational Statistics and Data Analysis, 55(9), 2579–2589. https://robjhyndman.com/publications/hierarchical/