概率性协调
PERMBU
在许多情况下,仅提供层级结构最低级别的时间序列(底部时间序列)。HierarchicalForecast
提供了工具来创建所有层级的时间序列,并允许您计算所有层级的预测区间。在本 Notebook 中,我们将了解如何实现。
聚合底部时间序列
在此示例中,我们将使用《预测:原则与实践》一书中的 Tourism 数据集。该数据集仅包含最低级别的时间序列,因此我们需要为所有层级创建时间序列。
国家 | 区域 | 州 | 目的 | ds | y | |
---|---|---|---|---|---|---|
0 | Australia | Adelaide | South Australia | 商务 | 1998-01-01 | 135.077690 |
1 | Australia | Adelaide | South Australia | 商务 | 1998-04-01 | 109.987316 |
2 | Australia | Adelaide | South Australia | 商务 | 1998-07-01 | 166.034687 |
3 | Australia | Adelaide | South Australia | 商务 | 1998-10-01 | 127.160464 |
4 | Australia | Adelaide | South Australia | 商务 | 1999-01-01 | 137.448533 |
该数据集可以按以下严格的分层结构进行分组。
使用 aggregate
函数从 HierarchicalForecast
中我们可以获取完整的时间序列集。
unique_id | ds | y | |
---|---|---|---|
0 | Australia | 1998-01-01 | 23182.197269 |
1 | Australia | 1998-04-01 | 20323.380067 |
2 | Australia | 1998-07-01 | 19826.640511 |
3 | Australia | 1998-10-01 | 20830.129891 |
4 | Australia | 1999-01-01 | 22087.353380 |
unique_id | Australia/ACT/Canberra | Australia/New South Wales/Blue Mountains | Australia/New South Wales/Capital Country | Australia/New South Wales/Central Coast | |
---|---|---|---|---|---|
0 | Australia | 1.0 | 1.0 | 1.0 | 1.0 |
1 | Australia/ACT | 1.0 | 0.0 | 0.0 | 0.0 |
2 | Australia/New South Wales | 0.0 | 1.0 | 1.0 | 1.0 |
3 | Australia/Northern Territory | 0.0 | 0.0 | 0.0 | 0.0 |
4 | Australia/Queensland | 0.0 | 0.0 | 0.0 | 0.0 |
我们可以使用 HierarchicalPlot
类按如下方式可视化 S
矩阵和数据。
划分训练/测试集
我们使用最后两年(8个季度)作为测试集。
计算基本预测
以下单元格使用 AutoARIMA
模型计算 Y_df
中每个时间序列的**基本预测**。请注意,Y_hat_df
包含预测结果,但它们不具有一致性。为了协调预测区间,我们需要使用 StatsForecast
的 level
参数计算不一致的区间。
使用 PERMBU 协调预测并计算预测区间
以下单元格使用 HierarchicalReconciliation
类使之前的预测具有一致性。在此示例中,我们使用 BottomUp
和 MinTrace
。如果要计算预测区间,必须如下所示使用 level
参数,并且还要使用 intervals_method='permbu'
。
数据框 Y_rec_df
包含协调后的预测结果。
unique_id | ds | AutoARIMA | AutoARIMA-lo-90 | AutoARIMA-lo-80 | AutoARIMA-hi-80 | AutoARIMA-hi-90 | AutoARIMA/BottomUp | AutoARIMA/BottomUp-lo-90 | AutoARIMA/BottomUp-lo-80 | … | AutoARIMA/MinTrace_method-mint_shrink | AutoARIMA/MinTrace_method-mint_shrink-lo-90 | AutoARIMA/MinTrace_method-mint_shrink-lo-80 | AutoARIMA/MinTrace_method-mint_shrink-hi-80 | AutoARIMA/MinTrace_method-mint_shrink-hi-90 | AutoARIMA/MinTrace_method-ols | AutoARIMA/MinTrace_method-ols-lo-90 | AutoARIMA/MinTrace_method-ols-lo-80 | AutoARIMA/MinTrace_method-ols-hi-80 | AutoARIMA/MinTrace_method-ols-hi-90 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Australia | 2016-01-01 | 26212.553553 | 24705.948180 | 25038.715077 | 27386.392029 | 27719.158927 | 24955.501571 | 24143.056131 | 24387.230200 | … | 25413.657606 | 24705.682710 | 24905.677772 | 25928.334367 | 26050.232961 | 26142.818016 | 25525.081721 | 25656.537995 | 26606.345032 | 26832.423921 |
1 | Australia | 2016-04-01 | 25033.667125 | 23337.267588 | 23711.954696 | 26355.379554 | 26730.066662 | 23421.312868 | 22762.045247 | 22904.087197 | … | 24058.906411 | 23486.828548 | 23627.152623 | 24659.405484 | 24847.778503 | 24946.338649 | 24297.061230 | 24434.805048 | 25535.549040 | 25640.659918 |
2 | Australia | 2016-07-01 | 24507.027198 | 22640.028798 | 23052.396413 | 25961.657983 | 26374.025599 | 22807.706826 | 22065.402373 | 22223.120404 | … | 23438.863893 | 22672.658701 | 22888.299153 | 23971.724733 | 24179.548677 | 24407.245003 | 23712.841797 | 23834.054327 | 25027.073615 | 25189.869286 |
3 | Australia | 2016-10-01 | 25598.928613 | 23575.665243 | 24022.547410 | 27175.309816 | 27622.191983 | 23471.845870 | 22677.593575 | 22892.328939 | … | 24322.049398 | 23619.419712 | 23682.803746 | 24847.299228 | 25028.345572 | 25496.855604 | 24740.210465 | 24923.560783 | 26094.250414 | 26273.617732 |
4 | Australia | 2017-01-01 | 26982.576796 | 24669.535238 | 25180.421285 | 28784.732308 | 29295.618354 | 24668.735931 | 23760.842072 | 23964.283124 | … | 25520.163549 | 24720.304392 | 24910.106650 | 26170.552678 | 26347.181903 | 26853.231907 | 26045.213677 | 26149.753374 | 27502.499674 | 27733.985566 |
绘制预测结果
然后我们可以使用以下函数绘制概率预测结果。
绘制单个时间序列
绘制分层关联的时间序列
参考文献
- Hyndman, R.J., & Athanasopoulos, G. (2021). “Forecasting: principles and practice, 3rd edition: Chapter 11: Forecasting hierarchical and grouped series.”. OTexts: Melbourne, Australia. OTexts.com/fpp3 访问于2022年7月。
- Shanika L. Wickramasuriya, George Athanasopoulos, and Rob J. Hyndman. Optimal forecast reconciliation for hierarchical and grouped time series through trace minimization.Journal of the American Statistical Association, 114(526):804–819, 2019. doi: 10.1080/01621459.2018.1448825. URL https://robjhyndman.com/publications/mint/.