TuwTSG is a synthetic time series generator developed as part of the research presented in the paper "On the Synthetic Evaluation of Time Series Clustering" (Iglesias & Zseby, DS 2026).
This repository contains the generator code, JSON configuration files, and an HTML wizard for assisted configuration. It allows you to create custom synthetic time series datasets, or to regenerate the TuwTSG.v1 benchmark collection used in the paper.
Looking for the ready-made TuwTSG.v1 dataset collection or the evaluation experiments? These are published separately, together with a pre-built Docker environment for full reproducibility, in the companion DOI repository:
Iglesias Vazquez, F. (2026). TuwTSG.v1 Benchmark for Time Series Clustering: Dataset Collection, Generator, and Evaluation Experiments [Dataset]. TU Wien. https://doi.org/10.48436/zfgw2-9xc05
The generator can be used either through the provided Docker environment (recommended for long-term reproducibility) or directly on the host system.
For a native installation, the following requirements apply:
- Python 3.9.6
- Linux or macOS (recommended)
Required Python packages are listed in requirements.txt.
To avoid potential dependency issues as packages evolve over time, we provide Docker configuration files to build a self-contained, reproducible environment with the exact dependency versions used at the time of publication.
You need to have Docker and Docker Compose (or the Docker Compose plugin) installed on your system.
Note: Depending on your system configuration, Docker commands may require
sudo. Alternatively, you can configure your user account to run Docker withoutsudo.
The Docker configuration is provided in the docker folder:
docker-compose.ymlDockerfileMakefilerequirements.txt(pinned Python package dependencies)
The Makefile simplifies the management of the Docker container through the following commands:
build: builds the Docker image using the available cache.rebuild: rebuilds the Docker image without using the cache and downloads all required components.shell: opens a shell inside the running container.clean: stops and removes the Docker containers.nuke: Warning: removes all Docker images from the system.
The Docker container mounts the local repository directory as a volume, so files generated by the container (e.g., the SYN collection) are available directly on the host system.
If you use Docker, there is no need to create or configure a Python virtual environment on the host, and you can skip Section 3 below.
Create and activate a Python virtual environment:
python -m venv venv_gen
source venv_gen/bin/activateInstall the required dependencies:
pip install -r requirements.txtUsing TuwTSG to generate datasets or dataset collections is straightforward. Run:
python tuw_tsg.py CONFIGURATION.jsonCONFIGURATION.json can be created manually or generated using the HTML wizard located at:
misc/config_wizard.html
The config folder contains example configuration files.
The TuwTSG.v1 collection can be regenerated by running:
bash run.shThis will create the SYN folder containing the following collections:
EVOLVINGMIXEDSCALEARTIFACTSPHASEPERIODICITYMSHAPSHAPE
Each collection contains 20 datasets and 20 figures (PDF plots).
.
├── config
│ ├── artifacts.json
│ ├── evolving.json
│ ├── mixed.json
│ ├── mshap.json
│ ├── myconfig.json
│ ├── periodicity.json
│ ├── phase.json
│ ├── scale.json
│ ├── shape.json
│ └── trend.json
├── docker
│ ├── docker-compose.yml
│ ├── Dockerfile
│ ├── Makefile
│ └── requirements.txt
├── misc
│ └── config_wizard.html
├── modules
│ ├── clusters.py
│ ├── collection.py
│ ├── dataset.py
│ ├── perturbations.py
│ ├── signals.py
│ ├── transforms.py
│ └── utils.py
├── requirements.txt
├── run.sh
└── tuw_tsg.py
If you use TuwTSG or the TuwTSG.v1 benchmark in your research, please cite our work:
@inproceedings{IglesiasZseby2026TuwTSG,
author = {Iglesias, F{\'e}lix and Zseby, Tanja},
title = {On the Synthetic Evaluation of Time Series Clustering},
booktitle = {Proceedings of the 29th International Conference on Discovery Science (DS 2026)},
year = {2026},
address = {Mainz, Germany},
month = oct,
note = {To appear},
}If you use the TuwTSG.v1 dataset collection or the evaluation experiments, please also cite the dataset:
@dataset{IglesiasVazquez2026TuwTSGDataset,
author = {Iglesias Vazquez, F{\'e}lix},
title = {TuwTSG.v1 Benchmark for Time Series Clustering: Dataset Collection, Generator, and Evaluation Experiments},
year = {2026},
publisher = {TU Wien},
doi = {10.48436/zfgw2-9xc05},
url = {https://doi.org/10.48436/zfgw2-9xc05},
}