xlstm-mixer
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.8%) to scientific vocabulary
Repository
Basic Info
Statistics
- Stars: 82
- Watchers: 4
- Forks: 5
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
xLSTM-Mixer

This repository provides the supplemental code for the paper "xLSTM-Mixer: Multivariate Time Series Forecasting by Mixing via Scalar Memories".
Abstract
Time series data is prevalent across numerous fields, necessitating the development of robust and accurate forecasting models. Capturing patterns both within and between temporal and multivariate components is crucial for reliable predictions. We introduce xLSTM-Mixer, a model designed to effectively integrate temporal sequences, joint time-variate information, and multiple perspectives for robust forecasting. Our approach begins with a linear forecast shared across variates, which is then refined by xLSTM blocks. These blocks serve as key elements for modeling the complex dynamics of challenging time series data. xLSTM-Mixer ultimately reconciles two distinct views to produce the final forecast. Our extensive evaluations demonstrate xLSTM-Mixer's superior long-term forecasting performance compared to recent state-of-the-art methods. A thorough model analysis provides further insights into its key components and confirms its robustness and effectiveness. This work contributes to the resurgence of recurrent models in time series forecasting.
Table of Contents
Used Datasets
We used commonly available benchmark datasets, which can be downloaded from Google Drive.
The environment expects the benchmark datasets to be located in the /common-ts directory on a Linux-based system or container.
Setup
Note: This package is based on PyTorch 2.4 and was tested with Python 3.11.
Non-Docker Installation
The code was tested on an Ubuntu 22.04 machine with CUDA 12.1. The Python requirements are listed in requirements.txt and lighting_requirements.txt. Both can be installed using pip:
bash
pip install -r requirements.txt
pip install -r lighting_requirements.txt
Docker Installation
The repository contains a Dockerfile to install the required environment. You can build the Docker image and run a container to ensure consistency across setups.
Build the Container
bash
docker build -t xlstm-mixer-code -f .docker/Dockerfile .
Attach to the Container
bash
docker run --gpus device=0 -it -v /storage-01/common-ts:/common-ts -v $(pwd):/workspaces/xlstm_mixer xlstm-mixer-code bash
VSCode Environment
The repository also includes a devcontainer.json, allowing you to attach to the project using VSCode for a consistent development environment. The source path needs to be adapted according to ones system.
CUDA Requirements
For the CUDA version of sLSTM, a Compute Capability of 8.0 or higher is required. For more details on CUDA support, check this list (e.g., A100 GPUs are supported).
Running the Project
The project provides a Lightning-based CLI, which is also used for the experiments in the scripts folder. To get general help on utilizing the CLI, run:
bash
python -m xlstm_mixer --help
For specific model or data argument configurations, use:
bash
python -m xlstm_mixer fit --help
Experiments
Predefined scripts with hyperparameters are available in the scripts folder.
Quick Experiment Check
To verify that all requirements are met, pass the --dev flag to any script, e.g.,
bash
bash ./scripts/long_term_forecasting/ett/m1.sh --dev
This will run a test batch to confirm the setup is functioning correctly. Full seed runs are organized by dataset in the scripts folder.
Example Commands
Run the following scripts for specific experiments:
bash
bash ./scripts/long_term_forecasting/weather.sh
bash
bash ./scripts/long_term_forecasting/ett/m1.sh
Citation
If you find this work helpful, please consider citing our paper using the following BibTeX entry:
bibtex
@article{krausxLSTM-Mixer2024,
author = {Maurice Kraus and Felix Divo and Devendra Singh Dhami and Kristian Kersting},
title = {xLSTM-Mixer: Multivariate Time Series Forecasting by Mixing via Scalar Memories},
journal = {arXiv preprint},
year = {2024},
url = {https://arxiv.org/abs/2410.16928},
}
Owner
- Name: Maurice Kraus
- Login: mauricekraus
- Kind: user
- Location: Germany
- Company: TU-Darmstadt
- Website: mkraus.io
- Twitter: mkraus_io
- Repositories: 29
- Profile: https://github.com/mauricekraus
PhD student @ AIML - TU Darmstadt
Citation (CITATION.cff)
cff-version: 1.2.0
message: If you use this software, please cite it as below.
authors:
- given-names: Maurice
family-names: Kraus
- given-names: Felix
family-names: Divo
- given-names: Devendra Singh
family-names: Dhami
- given-names: Kristian
family-names: Kersting
title: "xLSTM-Mixer: Multivariate Time Series Forecasting by Mixing via Scalar Memories"
version: 1.0.0
date-released: 2024-10-24
url: https://github.com/mauricekraus/xLSTM-Mixer
preferred-citation:
type: article
authors:
- given-names: Maurice
family-names: Kraus
- given-names: Felix
family-names: Divo
- given-names: Devendra Singh
family-names: Dhami
- given-names: Kristian
family-names: Kersting
doi: 10.48550/arXiv.2410.16928
title: "xLSTM-Mixer: Multivariate Time Series Forecasting by Mixing via Scalar Memories"
year: 2024
month: 10
journal: arXiv preprint
url: https://arxiv.org/abs/2410.16928
publisher:
name: arXiv
GitHub Events
Total
- Issues event: 9
- Watch event: 70
- Issue comment event: 15
- Member event: 1
- Push event: 5
- Public event: 1
- Pull request review event: 1
- Pull request event: 4
- Fork event: 8
Last Year
- Issues event: 9
- Watch event: 70
- Issue comment event: 15
- Member event: 1
- Push event: 5
- Public event: 1
- Pull request review event: 1
- Pull request event: 4
- Fork event: 8
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 5
- Total pull requests: 1
- Average time to close issues: 19 days
- Average time to close pull requests: 5 days
- Total issue authors: 5
- Total pull request authors: 1
- Average comments per issue: 1.6
- Average comments per pull request: 3.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 5
- Pull requests: 1
- Average time to close issues: 19 days
- Average time to close pull requests: 5 days
- Issue authors: 5
- Pull request authors: 1
- Average comments per issue: 1.6
- Average comments per pull request: 3.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- bchan930 (1)
- Duonijo (1)
- eliotpbrenner (1)
- Luosq-gan (1)
- Huang-zhenxuan (1)
Pull Request Authors
- felixdivo (1)
- benjaminbraun212 (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- mkrausio/ml_research base-3.11-cuda-12.1.0 build
- hydra-core *
- jsonargparse *
- lightning *
- omegaconf *
- aim ==3.18.1
- black *
- captum *
- darts *
- debugpy *
- einops *
- ipykernel *
- ipywidgets *
- jupyter *
- matplotlib *
- numpy *
- optuna *
- optuna-dashboard *
- patool *
- plotly *
- pynvim *
- pyrootutils *
- python-dotenv *
- reformer_pytorch *
- rich *
- scikit-learn *
- seaborn *
- sktime *
- torchinfo *
- torchmetrics *
- wandb *
- xlstm ==1.0.3