使用 IBM Granite 时间序列模型进行集成预测
本文目录
作者:Fearghal O'Donncha、Chandramouli Kamanchi、Guruprasad Ranjini、Wesley M. Gifford、Natalia Martinez Gil、Bradley Eck、Pankaj Dayama、Roman Vaculin、Ayhan Sebin(IBM Research)
发布于 2026 年 10 月 22 日
四个开放的 Granite 模型,一个可扩展的预测接口,以及更少"该用哪个模型"的猜测。
预训练的时间序列模型无需在你的数据集上训练就能预测,但你仍然得选一个。一个擅长平滑工业信号的模型,可能对付不了嘈杂的零售需求或很长的季节周期,而最佳选择取决于序列和任务。
Granite Timeseries Ensemble 把这个选择简化为一个合理的默认值。一套配方组合四个互补的 Granite 架构,返回中位数与分位数预测,无需再训练,也无需拟合集成权重。从概率集成(Probabilistic Ensemble,均匀概率池化)开始,再比较自适应的四分位距(Interquartile Range,IQR)集成,并用兼容的预测器扩展同一接口。集成配方及其默认的 Granite 成员采用宽松许可。
这个思路在天气预报中并不陌生。集合预报探索一系列可能结果,北美多模式集合(North American Multi-Model Ensemble)等系统把不同模型组合起来做季节预测。时间序列预测也以类似方式受益:互补的模型提供关于后续走势的不同视角,集成把这些视角合并成一个预测。
试用 Granite Timeseries Ensemble#
安装 Granite TSFM,直接从 Hugging Face 加载推荐的四个模型配方:
pip install "granite-tsfm>=0.3.11"
import pandas as pd
from tsfm_public.models.ensemble.modeling_ensemble import QuantileEnsembleForecaster
df = pd.read_csv(
"https://raw.githubusercontent.com/zhouhaoyi/ETDataset/main/ETT-small/ETTh1.csv",
parse_dates=["date"],
)
ensemble = QuantileEnsembleForecaster.from_pretrained(
"ibm-granite/granite-timeseries-ensemble-r1",
)
result = ensemble(
df.tail(1024),
timestamp_column="date",
target_columns=["OT"],
context_length=1024,
prediction_length=24,
)
print(result.prediction_outputs) # 点预测
print(result.quantile_outputs) # 分位数
该配方存储的是集成配置,而不是合并后的模型权重。它会在运行时下载四个成员检查点,因此首次运行请预留额外时间。完整配置、成员检查点、评估细节与局限,见模型卡。
result.prediction_outputs 包含点预测,result.quantile_outputs 包含分位数预测,默认范围为 0.1 到 0.9。应用可以把点值作为中心预测,并用选定的分位数表达预测区间。例如,0.1 与 0.9 分位数定义了名义覆盖率为 80% 的中心预测区间。
集成成员#
默认配方组合四个架构各异的预训练 Granite 模型:
| 模型 | 架构 |
|---|---|
| Granite PatchTST-FM-r1 | 分块 Transformer(Patched Transformer) |
| Granite PatchTST-FM-r2 | 分块 Conformer(Patched Conformer) |
| Granite FlowState-r1.1 | 状态空间模型 |
| Granite TTM-r3 | 微型时间混合器(Tiny Time Mixers,MLP 混合器) |
背景阅读见 PatchTST-FM-r1 论文、PatchTST-FM-r2 架构概览、FlowState 论文和 Tiny Time Mixers 论文。
这些架构以不同方式捕捉趋势、季节性和局部变化,因此它们的误差不必重合。一篇跨越 50 年的预测组合综述描述了组合预测如何降低选错单一模型的风险,同时强调成员质量与多样性仍然重要。
组合预测的两种方式#
每个成员返回分位数预测。两套主要配方用不同规则把这些预测转成一个预测分布及其中位数。
概率集成:推荐的默认方案#
概率集成(均匀概率池化)给每个成员同等影响力,在概率空间池化它们的分位数预测,并从合并后的数值中提取所需分位数。由于权重固定,无需拟合步骤,也无需为新序列调权重超参数。
"预测组合之谜"(forecast combination puzzle)提供了有用的动机:在点预测中,简单的等权组合往往能与用估计权重的方法相抗衡。这套配方把同样的"等影响力"思路应用到概率预测上。它就是上面示例中加载的默认值。
IQR 集成:一种自适应替代方案#
IQR 集成按各成员的预测离散度赋权,区间更窄的成员影响更大。它从 25 百分位和 75 百分位附近最接近的可用分位数来近似每个成员的四分位距。权重随样本、目标和预测步长变化;与概率集成一样,不从历史预测误差中拟合任何东西。等渗回归(isotonic regression)防止合并后的分位数交叉。
区间更窄不一定意味着预测更准确或校准更好,而 IQR 加权可能偏向过度自信的成员。若想试验,该配方提供一个温度参数(值越高,权重越接近均匀)以及可选的单个成员权重上限。
只改变子文件夹即可加载已评估的 IQR 配方:
ensemble = QuantileEnsembleForecaster.from_pretrained(
"ibm-granite/granite-timeseries-ensemble-r1",
subfolder="recipes/granite-iqr",
)
我该用哪种方法?#
| 你的目标 | 从这开始 | 原因 |
|---|---|---|
| 一个简单的默认值 | 概率集成 | 影响力均等,无需拟合权重 |
| 基于预测离散度的自适应加权 | IQR 集成 | 影响力随每个成员的预测离散度变化 |
从概率集成开始。如果预测离散度对你的应用有信息量,就在有代表性的数据上把 IQR 集成与它比较,因为准确率与校准取决于序列和预测步长。
集成真的优于它的成员吗?#
我们在 97 个 GIFT-Eval 数据集配置上评估了两套配方。模型不做微调即预测,测试目标未被用于选择或拟合聚合方法。这里我们把官方集成提交结果与四个组成模型比较,使用 2026 年 10 月 20 日抓取的已发布排行榜分数与排名。
GIFT-Eval 对点预测报告 MASE,对概率预测报告 CRPS/MWQL(该基准的 mean_weighted_sum_quantile_loss 指标)。分数相对 Seasonal Naive 归一化,并在各配置上做几何平均。越低越好。
| 预测 | MASE ↓ | MASE 排名 ↓ | CRPS / MWQL ↓ | CRPS 排名 ↓ |
|---|---|---|---|---|
| Granite Ensemble R1 — Prob | 0.683★ | 47.175★ | 0.471 | 50.948 |
| Granite Ensemble R1 — IQR | 0.684 | 48.773 | 0.471 | 47.619★ |
| Granite PatchTST-FM-r2 | 0.685 | 51.371 | 0.467★ | 48.918 |
| Granite FlowState-r1.1 | 0.701 | 66.474 | 0.490 | 69.485 |
| Granite PatchTST-FM-r1 | 0.717 | 74.794 | 0.488 | 68.134 |
| Granite TTM-r3 | 0.724 | 83.062 | 0.520 | 88.959 |
★ 所示预测中的最佳值。越低越好。
排名列是对完整 GIFT-Eval 参考排行榜(而非仅这六个预测)做逐配置排名后的平均值,因此随着排行榜新增条目,排名值可能变化。
两个集成在总体 MASE 和平均 MASE 排名上都优于全部四个单独成员。概率集成本六个预测中取得最低 MASE:0.683,而 PatchTST-FM-r2 为 0.685。更低的平均 MASE 排名表示在 GIFT-Eval 多样数据集配置上相对更强的点预测表现。综合来看,这些结果支持把集成作为实用的起点,而不需要开发者预先挑出最强的单一架构。相对最佳单成员的 MASE 优势很小,因此主要好处是稳健性:你无需事先知道哪种架构适合你的数据,就能获得相当或更好的总体准确率。
PatchTST-FM-r2 保持最低的总体 CRPS/MWQL 分数。IQR 集成在这六个预测中取得最低的平均 CRPS 排名,而概率集成在该指标上落后于 PatchTST-FM-r2。因此总体误差与平均排名偏好不同的选择。
在 2026 年 10 月 20 日的比较中,集成方法在合格系统中按 MASE 排名和 CRPS 排名均列第 3。下图把两套配方与每个指标上最好的十个合格参考系统并列。一些系统(包括因微调或许可不宽松而被排除的条目)得分优于任一配方,所以集成的价值不在于登顶排行榜,而在于:一个单一默认值就能在许多序列上给出强而一致的结果,无需你挑选成员。
图:2026 年 10 月 20 日的 GIFT-Eval 平均排名榜,展示两个 Granite 集成与每个指标上最好的十个合格参考系统。合格系统需有复现代码且未声明测试数据泄漏;微调条目以及已知采用非宽松许可或存在成员依赖的系统被排除。排名值直接取自已发布的总体排行榜快照;过滤只改变显示哪些系统,不改变其排名值。
把配方扩展到其他预测器#
默认配方使用四个 Granite 模型,但通用的 Forecaster 接口也接受兼容的外部模型。你可以更换成员组合或聚合方法,同时保持相同的下游预测格式,无需合并或重新训练成员检查点。这使集成更容易嵌入既有预测栈,也更容易随需求演进加入适合你领域的预测器。
仓库还包含扩展配方,加入了 IBM Research 的检查点。这些带有单独的许可条款,包括非商业与研究用途限制,使用前请查阅每个成员的模型卡。
对任何新组合,都要检查预测兼容性、准确率、校准、延迟和许可。
为你的应用评估这套配方#
GIFT-Eval 是广泛的基准,但总体收益并不意味着每条序列都受益,平均排名也无法证明校准良好。要弄清这些配方在你的应用上表现如何,方法是在有代表性的数据上回测:
- 贴合你的用例。 使用能反映每个预测起点时可得数据的历史预测窗口、你需要的预测步长,以及你预期服务的序列。
- 同类相比。 在相同窗口上运行概率集成、IQR 集成和一个强的单独成员(如 PatchTST-FM-r2)。
- 不要只看点误差。 在 MASE 之外评估分位数损失,并检查 0.1 到 0.9 区间的经验覆盖率是否符合名义上的 80%。
- 衡量成本。 记录运行时间与内存占用,判断组合四个模型带来的收益是否值得。
记住两个局限。当前配方独立预测多变量通道,没有利用跨通道信息;它要加载四个成员检查点,相对于单一成员会增加推理时间与内存。成员的上下文限制、预测步长、预处理和缺失值处理也各不相同,两种聚合方法都不保证在分布偏移下保持校准或稳健,因此部署后仍需持续监控预测。
在你的数据上试试#
推荐的起点是默认的四模型配方:
- Hugging Face 上的 Granite Timeseries Ensemble
- 入门 notebook
- Granite TSFM 仓库
- GIFT-Eval 基准
加载默认配方,一次调用即可获得来自全部四个 Granite 架构的中位数与分位数预测,并随需求演进调整配方。
参考文献#
- ECMWF:集合天气预报
- NOAA:北美多模式集合
- FlowState:采样率等变的时间序列预测
- Tiny Time Mixers(TTMs):用于增强多变量时间序列零样本/少样本预测的快速预训练模型
- Revisiting the Generic Transformer: Deconstructing a Strong Baseline for Time Series Foundation Models
- Forecast combinations: an over 50-year review
- Smith and Wallis (2009), A Simple Explanation of the Forecast Combination Puzzle