This repository implements a dual-network framework based on the Mamba architecture for probabilistic time series forecasting. One network produces point forecasts, while the other estimates point-wise uncertainty for the forecasted region.
We discuss the motivation and impact of this approach in our manuscript:
"Mamba Time Series Forecasting with Uncertainty Quantification", published on IOP's Machine learning: science and technology and as preprint on arXiv
To reproduce the analysis/figures from our manuscript, follow these steps:
-
Generate synthetic data by running:
bash synthetic_data.sh
-
Obtaining the real datasets from here
-
Run forecasting scripts for different datasets
Use the following scripts to run experiments on different datasets:
- Sines dataset:
bash sines_script.sh
- Van der pol dataset:
bash VDP_script.sh
- Electricity consumption dataset dataset:
bash ECL_script.sh
- Traffic occupancy dataset:
bash traffic_script.sh
- Brownian motion dataset:
brownian_script.sh
- Generate the figures using the iPython notebook
make_figures.ipynb
Citation -- Machine learning: science and technology
@article{pessoa2025mamba,
title = {Mamba time series forecasting with uncertainty quantification},
author = {Pedro Pessoa and Paul Campitelli and Douglas P. Shepherd and S. Banu Ozkan and Steve Pressé},
journal = {Machine Learning: Science and Technology},
volume = {6},
pages = {035012},
year = {2025},
doi = {10.1088/2632-2153/adec3b}
}
Initial versions of this code were built on top of S-Mamba (GitHub, Neurocomputing article). With the express authorization of the authors, we have adapted and modified the original implementation.