核心
HierarchicalForecast 包含层次协调方法的纯 Python 实现,以及一个 core.HierarchicalReconciliation 包装类,通过包含层次时间序列和基础预测的 pandas DataFrame,可以轻松地与这些方法进行交互。
core.HierarchicalReconciliation 协调类使用层次时间序列 pd.DataFrame Y_df、基础预测 pd.DataFrame Y_hat_df 和聚合约束矩阵 S 进行操作。有关聚合约束矩阵创建的更多信息,请参阅 utils 聚合方法。
HierarchicalReconciliation
源
HierarchicalReconciliation
*层次协调类。
core.HierarchicalReconciliation 类允许您高效地为存储在 pandas DataFrame 中的时间序列集合和基础预测拟合多种 HierarchicaForecast 方法。Y_df DataFrame 使用 unique_id 和 ds 列标识时间序列和日期戳,而 y 列表示目标时间序列变量。Y_h DataFrame 存储基础预测,例如 (AutoARIMA, ETS 等)。
参数
 reconcilers:[协调方法](https://nixtla.github.io/hierarchicalforecast/methods.html)模块中实例化类的列表。
参考资料
 Rob J. Hyndman and George Athanasopoulos (2018)。“预测原理与实践,层次和分组时间序列”。*
源
reconcile
*层次协调方法。
reconcile 方法类似于 SKLearn 的 fit_predict 方法,它应用在 reconcilers 列表中实例化的不同协调技术。
大多数协调方法可以用以下简便的线性代数符号表示
S[a,b][b]P[b][a,b]y^[a,b],τ
其中 表示聚合层和底层, 包含层次聚合约束,而 因协调方法而异。协调后的预测是 ,基础预测是 。
参数
 Y_hat_df:DataFrame,包含 [‘unique_id’, ‘ds’] 列和待协调模型的原始预测。
 Y_df:DataFrame,包含 ['unique_id', 'ds', 'y'] 列的基础时间序列训练集。
如果 self.reconciles 的某个类接收 y_hat_insample,则 Y_df 必须将其作为列包含进来。
 S:大小为 (base, bottom) 的求和矩阵 DataFrame,参见[聚合方法](https://nixtla.github.io/hierarchicalforecast/utils.html#aggregate)。
tags:每个键表示一个级别,其值包含与该级别相关的标签。
 level:正浮点数列表 [0,100),用于预测区间的置信水平。
 intervals_method:字符串,用于计算预测区间的方法,可选值为 normality、bootstrap、permbu 之一。
 num_samples:整数,-1 表示不返回样本;如果为正,则返回指定数量的概率相干样本。 seed:整数,0 表示默认值;numpy 生成器的随机种子,用于重现性。
 is_balanced:布尔值,默认为 False;表示 Y_df 是否均衡,如果 Y_df 是均衡的,设置为 True 可以加快速度。
 id_col:字符串,默认为 ‘unique_id’;标识每个序列的列。
 time_col:字符串,默认为 ‘ds’;标识每个时间步的列,其值可以是时间戳或整数。
 target_col:字符串,默认为 ‘y’;包含目标的列。
返回值
 Y_tilde_df:DataFrame,包含协调后的预测结果。*
源
bootstrap_reconcile
*基于 Bootstrap 的层次协调方法。
基于不同的随机种子,对 reconcilers 列表中实例化的不同协调技术重复应用 reconcile 方法 N 次。
参数
 Y_hat_df:DataFrame,包含 [‘unique_id’, ‘ds’] 列和待协调模型的原始预测。
 Y_df:DataFrame,包含 ['unique_id', 'ds', 'y'] 列的基础时间序列训练集。
如果 self.reconciles 的某个类接收 y_hat_insample,则 Y_df 必须将其作为列包含进来。
 S:大小为 (base, bottom) 的求和矩阵 DataFrame,参见[聚合方法](https://nixtla.github.io/hierarchicalforecast/utils.html#aggregate)。
tags:每个键表示一个级别,其值包含与该级别相关的标签。
 level:正浮点数列表 [0,100),用于预测区间的置信水平。
 intervals_method:字符串,用于计算预测区间的方法,可选值为 normality、bootstrap、permbu 之一。
 num_samples:整数,-1 表示不返回样本;如果为正,则返回指定数量的概率相干样本。 num_seeds:整数,默认为 1;numpy 生成器的随机种子,用于重现性。
 id_col:字符串,默认为 ‘unique_id’;标识每个序列的列。
 time_col:字符串,默认为 ‘ds’;标识每个时间步的列,其值可以是时间戳或整数。
target_col:字符串,默认为 ‘y’;包含目标的列。
返回值
 Y_bootstrap_df:DataFrame,包含基于 Bootstrap 的协调后预测结果。*

