Ensemble forecasting with IBM Granite time-series models
Granite Timeseries Ensemble combines four pre‑trained IBM models using simple probabilistic or adaptive IQR weighting to deliver robust, out‑of‑the‑box forecasts without retraining.

Ensemble Forecasting with IBM Granite Time‑Series Models
IBM’s Granite TSFM library ships a ready‑made Granite Timeseries Ensemble that bundles four complementary pre‑trained models into a single forecaster. The ensemble works straight out of the box—no fine‑tuning, no custom weight training—making it an attractive default for a wide range of time‑series tasks, from industrial sensor streams to retail demand.
---
1. The four ensemble members
| Model | Architecture | Strength | |-------|--------------|----------| | Granite PatchTST‑FM‑r1 | Patched Transformer | Captures long‑range trends and seasonality | | Granite PatchTST‑FM‑r2 | Patched Conformer | Handles complex local variation | | Granite FlowState‑r1.1 | State‑space model | Excels on smooth, slowly evolving signals | | Granite TTM‑r3 | Tiny Time‑Mixers (MLP) | Fast, lightweight, good for noisy short‑term patterns |
Each model emits quantile forecasts (typically 0.1‑0.9). By keeping the checkpoints separate, the ensemble downloads the members at runtime, allowing you to swap or extend the mix without rebuilding a monolithic model.
---
2. How the forecasts are combined
Probabilistic Ensemble (default)
- Uniform probability pooling – every member contributes equally.
- Quantiles are merged in probability space, then the desired quantiles are extracted.
- No fitting step, no hyper‑parameters to tune.
- Works well as a robust baseline; equal‑weight combinations have a long history of strong performance in point‑forecasting literature.
IQR Ensemble (adaptive alternative)
- Weights are derived from each member’s inter‑quartile range (IQR)—narrower intervals receive higher influence.
- Weights vary by sample, target column, and horizon step.
- An optional temperature parameter can smooth the weighting toward uniform, and a cap can limit any single member’s dominance.
- Useful when forecast spread correlates with accuracy, but beware of over‑confident members.
Both recipes return a point forecast (median) and a full set of quantiles, enabling downstream applications to construct prediction intervals or risk‑aware decisions.
---
3. Does the ensemble actually help?
On the public GIFT‑Eval benchmark (97 configurations, evaluated 20 Oct 2026), the ensemble outperformed each individual Granite model on aggregate MASE (point‑forecast error) and delivered competitive CRPS/MWQL (probabilistic loss):
- Probabilistic Ensemble – best average MASE (0.683) and ranked 3rd overall among eligible systems.
- IQR Ensemble – achieved the lowest average CRPS rank, slightly edging the best single member on probabilistic quality.
The margin over the strongest single model is modest, but the key benefit is robustness: you obtain near‑optimal accuracy without knowing in advance which architecture suits a particular series.
---
4. Getting started (quick code snippet)
```python
Install the library
pip install "granite-tsfm>=0.3.11"
import pandas as pd from tsfmpublic.models.ensemble.modelingensemble import QuantileEnsembleForecaster
Load a sample series (replace with your own data)
df = pd.readcsv( "https://raw.githubusercontent.com/zhouhaoyi/ETDataset/main/ETT-small/ETTh1.csv", parsedates=["date"] )
Load the default probabilistic ensemble
ensemble = QuantileEnsembleForecaster.from_pretrained( "ibm-granite/granite-timeseries-ensemble-r1" )
Generate forecasts
result = ensemble( df.tail(1024), timestampcolumn="date", targetcolumns=["OT"], contextlength=1024, predictionlength=24, )
print("Point forecast:\n", result.predictionoutputs) print("Quantiles (0.1‑0.9):\n", result.quantileoutputs) ```
The first run will download the four member checkpoints, so allow a few extra seconds.
---
5. Extending and evaluating for your use case
- Swap members – The `Forecaster` interface accepts any compatible model. You can replace or augment the default four with domain‑specific checkpoints (e.g., a finance‑tuned transformer) as long as they expose quantile outputs.
- Back‑test on representative data – Use historical windows that mimic your production forecast origin, horizon, and series characteristics. Compare the two ensemble recipes against a strong single member.
- Check calibration – Beyond point error, evaluate coverage of the 0.1‑0.9 interval (nominal 80 %). Mis‑calibration may suggest preferring the probabilistic ensemble or adjusting the IQR temperature.
- Measure cost – Running four models increases latency and memory use. Profile runtime on your hardware; if the overhead is prohibitive, consider a lightweight subset of members.
- License review – The default recipe is permissively licensed, but expanded recipes that include IBM Research checkpoints may carry non‑commercial or research‑only terms. Verify compliance before deployment.
---
6. Practical takeaways
- Start simple – Use the default Probabilistic Ensemble as a baseline; it requires no tuning and already beats each individual Granite model on average.
- Iterate if needed – If your application benefits from tighter forecast intervals, experiment with the IQR Ensemble and adjust its temperature/cap settings.
- Customize wisely – Adding external forecasters is straightforward, but always validate accuracy, calibration, latency, and licensing for the new mix.
- Monitor performance – Periodically re‑evaluate on fresh data; ensemble superiority is statistical, not guaranteed for every series.
By leveraging the Granite Timeseries Ensemble, data scientists can obtain a strong, out‑of‑the‑box forecasting solution while retaining the flexibility to tailor the model mix to specific business needs.
Source
Read original sourceWhy we picked this
Introduces IBM Granite time-series models and ensemble forecasting, a core AI model development topic.