GutenTAG is an extensible tool to generate time series datasets with and without anomalies. A GutenTAG time series consists of a single (univariate) or multiple (multivariate) channels containing a base oscillation with different anomalies at different positions and of different kinds.
-
Install GutenTAG from PyPI:
pip install timeeval-gutenTAG
GutenTAG supports Python 3.7, 3.8, 3.9, and 3.10; all other requirements are installed with the pip-call above.
-
Create a generation configuration file
example-config.yaml
with the instructions to generate a single time series with two anomalies in the middle and the end of the series. You can use the following content:timeseries: - name: demo length: 1000 base-oscillations: - kind: sine frequency: 4.0 amplitude: 1.0 variance: 0.05 anomalies: - position: middle length: 50 channel: 0 kinds: - kind: pattern parameters: sinusoid_k: 10.0 cbf_pattern_factor: 1.0 - position: end length: 10 channel: 0 kinds: - kind: amplitude parameters: amplitude_factor: 1.5
-
Execute GutenTAG with a seed and let it plot the time series:
gutenTAG --config-yaml example-config.yaml --seed 11 --no-save --plot
You should see the following time series:
GutenTAG's documentation can be found here.
If you use GutenTAG in your project or research, please cite our demonstration paper:
tbd
- negation anomaly (does a pattern not appear)