--- license: mit tags: - time-series - forecasting - spiking-neural-networks - graph-neural-networks - multivariate-time-series --- # SpikF-GO: Spiking Fourier Graph Operators for Multivariate Time Series Forecasting [![arXiv](https://img.shields.io/badge/arXiv-2606.13901-b31b1b.svg)](https://arxiv.org/abs/2606.13901) [![ECML PKDD 2026](https://img.shields.io/badge/ECML%20PKDD-2026-blue.svg)](https://arxiv.org/abs/2606.13901) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) 📄 **Paper (arXiv):** https://arxiv.org/abs/2606.13901 💻 **GitHub:** https://github.com/jafarbakhshaliyev/SpikF-GO Official implementation of **SpikF-GO: Spiking Fourier Graph Operators for Multivariate Time Series Forecasting**, accepted to the **ECML PKDD 2026 Research Track**. ![SpikF-GO architecture](assets/spikf-go-architecture.png) --- ## Abstract SpikF-GO is a spiking neural architecture for multivariate time series forecasting. It combines the hypervariate graph formulation of FourierGNN with spike-driven Fourier-domain graph processing, enabling joint modeling of intra-series temporal dependencies, inter-series dependencies, and time-varying cross-variable interactions. The model introduces sparse frequency selection and Complex LIF-based spectral gating to preserve event-driven computation in the Fourier domain. We also provide **SpikF-GO w/ CPG**, which incorporates Central Pattern Generator-based positional signals for improved long-range temporal modeling. --- ## Key Contributions - **Graph-based SNN forecasting:** SpikF-GO brings hypervariate graph modeling into SNN-based multivariate time series forecasting. - **Spike-driven Fourier graph operators:** The model combines sparse frequency gating with Complex LIF-based spectral processing to preserve event-driven computation in the Fourier domain. - **Unified SNN benchmark:** We evaluate SpikF-GO against major SNN forecasting families under a common experimental protocol across eight benchmark datasets. - **Energy-aware forecasting:** SpikF-GO achieves competitive-to-superior forecasting performance while reducing theoretical energy consumption relative to FourierGNN. --- ## Related Library: SpikingTSF We also maintain **[SpikingTSF](https://github.com/spikora/SpikingTSF)**, a broader open-source benchmark library for spiking neural network-based time series forecasting. SpikingTSF unifies SNN forecasting architectures and ANN baselines under a common training and evaluation protocol across datasets, horizons, metrics, and random seeds. > **Note:** SpikingTSF is a benchmarking library and may not reproduce all experiments from this repository directly. --- ## Repository Structure ``` SpikF-GO/ ├── README.md ├── LICENSE ├── CITATION.cff ├── requirements.txt ├── train.py # main training & evaluation entry point ├── model/ # SpikF-GO + all baseline implementations ├── utils/ # shared utilities (metrics, helpers) ├── data/ │ └── data_loader.py # dataset loading (raw files placed here at runtime) ├── scripts/ │ ├── ecg.sh │ ├── covid.sh │ ├── solar.sh │ ├── ecl.sh │ ├── traffic.sh │ ├── metr_la.sh │ ├── pems_bay.sh │ └── wiki.sh └── assets/ ├── spikf-go-architecture.png └── supplementary.pdf ``` --- ## Environment Setup Create and activate a virtual environment: **Linux / macOS** ```bash python3 -m venv venv source venv/bin/activate ``` **Windows** ```bash python -m venv venv venv\Scripts\activate ``` Install dependencies: ```bash pip install -r requirements.txt ``` Experiments were run with **PyTorch 2.5.1** on a single **NVIDIA RTX 4090**. --- ## Dataset Download the processed datasets from Figshare: https://figshare.com/s/7617530bce306584fe95?file=62576929 Place all dataset files **directly** inside the `data/` folder (do **not** create subfolders): ``` SpikF-GO/ ├── data/ │ ├── dataset_file_1 │ ├── dataset_file_2 │ └── ... ├── model/ ├── scripts/ └── train.py ``` --- ## Run Experiments Scripts are in `scripts/`, one per dataset: ```bash bash scripts/ecg.sh bash scripts/covid.sh bash scripts/solar.sh bash scripts/ecl.sh bash scripts/traffic.sh bash scripts/metr_la.sh bash scripts/pems_bay.sh bash scripts/wiki.sh ``` Each script sets the exact hyperparameters used to produce the results reported in the paper. --- ## Supplementary Material Available at [`assets/supplementary.pdf`](assets/supplementary.pdf). --- ## Citation If you use this code or build on SpikF-GO, please cite our paper: **arXiv preprint:** ```bibtex @misc{bakhshaliyev2026spikfgo, title = {SpikF-GO: Spiking Fourier Graph Operators for Multivariate Time Series Forecasting}, author = {Bakhshaliyev, Jafar and Landwehr, Niels}, year = {2026}, eprint = {2606.13901}, archivePrefix= {arXiv}, primaryClass = {cs.LG}, url = {https://arxiv.org/abs/2606.13901} } ``` **ECML PKDD 2026 proceedings:** ```bibtex @inproceedings{bakhshaliyev2026spikfgo, title = {SpikF-GO: Spiking Fourier Graph Operators for Multivariate Time Series Forecasting}, author = {Bakhshaliyev, Jafar and Landwehr, Niels}, booktitle = {ECML PKDD}, year = {2026} } ``` See [`CITATION.cff`](CITATION.cff) for full citation metadata. --- ## Acknowledgements The baselines in `model/` build on prior work. We thank the authors for releasing their code; original licenses are respected. - **`SpikF.py`** — adapted from **SpikF** (Wu, Huo & Chen, *"SpikF: Spiking Fourier Network for Efficient Long-term Prediction"*, [ICML 2025 / PMLR v267](https://proceedings.mlr.press/v267/wu25m.html)). - **`TS_Former.py`, `TS_GRU.py`, `TS_TCN.py`** — adapted from **TS-LIF** (Feng et al., *"TS-LIF: A Temporal Segment Spiking Neuron Network for Time Series Forecasting"*, [arXiv:2503.05108](https://arxiv.org/abs/2503.05108)). - **`iSpikformer.py`, `SpikeGRU.py`** — adapted from **SeqSNN** (Lv et al., *"Efficient and Effective Time-Series Forecasting with Spiking Neural Networks"*, [arXiv:2402.01533](https://arxiv.org/abs/2402.01533)), [microsoft/SeqSNN](https://github.com/microsoft/SeqSNN). - **`SpikeRNN_CPG.py`, `SpikeTCN_CPG.py`, `Spikformer_CPG.py`** — CPG variants build on [arXiv:2405.14362](https://arxiv.org/abs/2405.14362) / [microsoft/SeqSNN](https://github.com/microsoft/SeqSNN). - **`FourierGNN.py`** — adapted from **FourierGNN**, [arXiv:2311.06190](https://arxiv.org/abs/2311.06190) / [aikunyi/FourierGNN](https://github.com/aikunyi/FourierGNN). --- ## License This project is released under the [MIT License](LICENSE).