IBM Granite 时间序列集成 R1 发行说明
概述
IBM Granite 时间序列集成 (Granite Timeseries Ensemble) 提供了一个统一的时间序列预测接口,聚合了四种互补模型架构的预测结果。通过结合这些模型,该系统为预测任务提供了一个可靠的默认方案,减少了针对特定数据集或预测范围手动选择单一架构的需求。
集成架构
默认方案利用了四个预训练的 Granite 模型,每个模型采用不同的架构来捕捉不同的趋势、季节性和局部变化:
- Granite PatchTST-FM-r1: 一种分块 Transformer 模型。
- Granite PatchTST-FM-r2: 一种分块 Conformer 模型。
- Granite FlowState-r1.1: 一种状态空间模型。
- Granite TTM-r3: 一种微型时间混合器 (MLP mixer) 模型。
由于这些模型处理数据的方式不同,它们的误差分布并不重合,这使得集成模型平均而言能够产生比任何单一成员更稳定、更准确的结果。
聚合方法
该集成支持两种主要的预测组合方法,且均无需拟合或训练:
- 概率集成 (默认): 该方法使用均匀概率池化,使每个成员具有同等的影响力。由于其简单且无需调整超参数,建议作为大多数应用程序的起点。
- IQR 集成: 这种自适应方法根据预测范围对成员进行加权,偏向于区间较窄的模型。它适用于将预测的不确定性视为重要信息的应用场景。
性能与评估
在 97 个 GIFT-Eval 数据集配置上的评估表明,与单一模型相比,集成方法提供了更优的鲁棒性。虽然像 PatchTST-FM-r2 这样的单一模型有时可能在特定指标(如聚合 CRPS)上优于集成模型,但集成模型在不同数据集上始终能获得更高的排名。其主要优势在于无需预先确定最佳架构,即可在各种序列中提高可靠性。
实现
该集成可通过 granite-tsfm 库访问。该系统设计为可扩展的,允许用户在现有接口中替换或添加兼容的预测器。
from tsfm_public.models.ensemble.modeling_ensemble import QuantileEnsembleForecaster
# Load the default ensemble
ensemble = QuantileEnsembleForecaster.from_pretrained(
"ibm-granite/granite-timeseries-ensemble-r1",
)
# Generate forecasts
result = ensemble(
df.tail(1024),
timestamp_column="date",
target_columns=["OT"],
context_length=1024,
prediction_length=24,
)
限制与注意事项
用户应注意以下几点操作限制:
- 资源使用: 集成模型在运行时会下载并运行四个检查点,与单一模型部署相比,这增加了内存消耗和推理延迟。
- 独立通道: 当前实现独立处理多变量通道,并未利用跨通道相关性。
- 校准: 虽然集成模型提高了聚合准确性,但它不能保证校准或对显著分布偏移的鲁棒性。建议在代表性数据上进行回测,以验证特定用例的性能。