Research map / Time series / Causal and generative time series
Flow Matching with Gaussian Process Priors for Probabilistic Time Series Forecasting
Read the paperCheck your idea against 108,967 papers
AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.
Proposes TSFlow, a conditional flow matching model for univariate time series that uses Gaussian process priors and optimal-transport couplings, with conditional prior sampling and guidance to make unconditional models usable for forecasting.
Problem
Diffusion-based time series generators map non-i.i.d. data to an isotropic Gaussian prior, producing long complex paths; it is unclear how to exploit flow matching with data-aligned priors for probabilistic time series generation and forecasting.
Approach
Replace the isotropic Gaussian source in conditional flow matching with Gaussian process priors (SE, OU, periodic kernels) coupled to data via mini-batch optimal transport, and adapt unconditional models to forecasting via conditional prior sampling (Langevin dynamics on a GP-conditioned prior) plus guidance, or train a conditional model with a GP-regression conditional prior.
Key results
- TSFlow-Cond. (PE/OU/SE) achieves best CRPS on several datasets, e.g., Electricity 0.045 and Traffic 0.082, outperforming TSDiff (0.049 and 0.098) and CSDI.
- Unconditional GP-prior TSFlow reduces 2-Wasserstein distance versus TSDiff at 16 NFEs on most datasets (e.g., Electricity 2.54-2.75 vs 3.11 for TSDiff) and is competitive with 4 NFEs.
- TSFlow claims state-of-the-art on 6/8 datasets with up to 14% improvement over the second-best method in probabilistic forecasting.
Measured effects reported in the paper
| What was changed | Where | Measured | Effect |
|---|---|---|---|
| use a conditional GP-regression prior rather than an isotropic prior (ablation) | TSFlow conditional forecasting · Electricity, KDDCup, Solar, Traffic, and UberTLC | CRPS: 0.058 -> 0.049; 0.302 -> 0.273; 0.339 -> 0.333; 0.133 -> 0.107; 0.199 -> 0.161 | Helped |
| add lagged-value features (ablation) | TSFlow conditional forecasting · KDDCup | CRPS: 0.302 -> 0.392 | Hurt |
| add lagged-value features (ablation) | TSFlow conditional forecasting · Traffic and UberTLC | CRPS: 0.133 -> 0.084; 0.199 -> 0.154 | Helped |
| add bidirectional S4 layers (ablation) | TSFlow conditional forecasting · Traffic and UberTLC | CRPS: 0.133 -> 0.083; 0.199 -> 0.153 | Helped |
| add exponential moving average (ablation) | TSFlow conditional forecasting · Electricity and Solar | CRPS: 0.058 -> 0.045; 0.339 -> 0.343 | Helped |
| add 4 conditional prior sampling iterations (ablation) | TSFlow-Uncond. with guidance · Electricity, Exchange, KDDCup, M4-Hourly, Solar, Traffic, UberTLC, and Wiki2000 | CRPS: 0.012 -> 0.011; 0.294 -> 0.299; 0.371 -> 0.464; 0.096 -> 0.089; 0.290 -> 0.279 | Mixed |
| use asymmetric Laplace rather than Gaussian guidance score (ablation) | TSFlow-Uncond. · Electricity, Exchange, KDDCup, M4-Hourly, Traffic, UberTLC, and Wiki2000 | CRPS: 0.059 -> 0.049; 0.020 -> 0.011; 0.317 -> 0.299; 0.031 -> 0.029; 0.101 -> 0.089; 0.169 -> 0.153; 24.046 -> 0.279 | Helped |
| replace OU prior with Seasonal Naive prior (ablation) | TSFlow-Cond. · Electricity and Exchange | CRPS: 0.045 -> 0.044; 0.009 -> 0.008 | Helped |
| replace OU prior with Seasonal Naive prior (ablation) | TSFlow-Cond. · KDDCup and M4-Hourly | CRPS: 0.273 -> 0.321; 0.025 -> 0.036 | Hurt |
| train conditionally rather than use unconditional TSFlow with conditional prior sampling and guidance | TSFlow forecasting · Electricity, Exchange, KDDCup, M4-Hourly, Solar, Traffic, and Wiki2000 | CRPS: 0.049 -> 0.045; 0.011 -> 0.008; 0.287 -> 0.278; 0.032 -> 0.028; 0.396 -> 0.344; 0.086 -> 0.082; 0.291 -> 0.207 | Helped |
| use TSFlow-Cond. (OU) rather than the strongest displayed baseline | TSFlow forecasting · Solar | CRPS: 0.358 -> 0.344 | Helped |
| use TSFlow-Cond. (OU) rather than the strongest displayed baseline | TSFlow forecasting · Exchange and KDDCup | CRPS: 0.007 -> 0.008; 0.274 -> 0.288 | Hurt |
Surprising findings
- Conditional prior sampling without guidance performs worse on Solar than guidance alone, indicating guidance is needed in that case.
Limitations
- Only univariate time series were tested; multivariate GP priors are left to future work.
- Kernel choice per dataset must be tuned on a validation set.
- Unconditional forecasting requires Langevin prior sampling and guidance, making evaluation roughly 3x slower than the conditional model.
Experimental setup
Datasets: Electricity Exchange KDDCup M4-Hourly Solar Traffic UberTLC-Hourly Wikipedia
Benchmarks: Electricity Exchange KDDCup M4-Hourly Solar Traffic UberTLC-Hourly Wikipedia
Metrics: 2-Wasserstein distance Linear Predictive Score CRPS
Baselines: TimeVAE TSDiff Seasonal Naive AutoARIMA AutoETS DLinear DeepAR TFT WaveNet PatchTST CSDI SSSD
Builds on: conditional flow matching optimal transport conditional flow matching TSDiff CSDI SSSD
Closest papers by meaning
- MissPath-FM: Flow Matching with Structured Priors for Partially Observed Time Series (NeurIPS 2026 · similarity 0.89)
- Flow Matching Neural Processes (NeurIPS 2025 · similarity 0.89)
- Stream-level Flow Matching with Gaussian Processes (ICML 2025 · similarity 0.88)
- SDFlow: Similarity-Driven Flow Matching for Time Series Generation (NeurIPS 2026 · similarity 0.88)
- Conditional Diffusion Model with Nonlinear Data Transformation for Time Series Forecasting (ICML 2025 · similarity 0.87)
- Non-stationary Diffusion For Probabilistic Time Series Forecasting (ICML 2025 · similarity 0.87)
Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.
