Skip to main content

A good Timeseries Anomaly Generator.

Project description

TimeEval logo

A good Timeseries Anomaly Generator.

CI codecov PyPI package License: MIT python version 3.7|3.8|3.9|3.10|3.11 Downloads

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.

base-oscillations base-oscillations base-oscillations

base-oscillations

tl;dr

  1. Install GutenTAG from PyPI:

    pip install timeeval-gutenTAG
    

    GutenTAG supports Python 3.7, 3.8, 3.9, 3.10, and 3.11; all other requirements are installed with the pip-call above.

  2. Create a generation configuration file example-config.yaml with the instructions to generate a single time series with two anomalies: A pattern anomaly in the middle and an amplitude anomaly at 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
        kinds:
        - kind: pattern
          sinusoid_k: 10.0
      - position: end
        length: 10
        kinds:
        - kind: amplitude
          amplitude_factor: 1.5
    
  3. 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:

    Example unsupervised time series with two anomalies

Documentation

GutenTAG's documentation can be found here.

Citation

If you use GutenTAG in your project or research, please cite our demonstration paper:

Phillip Wenig, Sebastian Schmidl, and Thorsten Papenbrock. TimeEval: A Benchmarking Toolkit for Time Series Anomaly Detection Algorithms. PVLDB, 15(12): 3678 - 3681, 2022. doi:10.14778/3554821.3554873

@article{WenigEtAl2022TimeEval,
  title = {TimeEval: {{A}} Benchmarking Toolkit for Time Series Anomaly Detection Algorithms},
  author = {Wenig, Phillip and Schmidl, Sebastian and Papenbrock, Thorsten},
  date = {2022},
  journaltitle = {Proceedings of the {{VLDB Endowment}} ({{PVLDB}})},
  volume = {15},
  number = {12},
  pages = {3678 -- 3681},
  doi = {10.14778/3554821.3554873}
}

To-Do

  • negation anomaly (does a pattern not appear)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

timeeval-gutenTAG-1.3.0.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

timeeval_gutenTAG-1.3.0-py3-none-any.whl (60.4 kB view details)

Uploaded Python 3

File details

Details for the file timeeval-gutenTAG-1.3.0.tar.gz.

File metadata

  • Download URL: timeeval-gutenTAG-1.3.0.tar.gz
  • Upload date:
  • Size: 43.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for timeeval-gutenTAG-1.3.0.tar.gz
Algorithm Hash digest
SHA256 76fb2702dca8e1f93e365ae92a37a64050f5978388c37706cdb1ee792bffd1c8
MD5 9c0e306380550f2f137e69d29b4b7bea
BLAKE2b-256 133f96a5e7fd90fe649108fe59b9a438e420c6ba8bd83af0f48eca58f8298449

See more details on using hashes here.

File details

Details for the file timeeval_gutenTAG-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for timeeval_gutenTAG-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27eb0004aa5b1fbcf96e5d7e6bb050cf8c81c36f73ffa4f500c9782794192345
MD5 c3fa3fc414121749c36ce0314d49354b
BLAKE2b-256 e71a4be1816c0787b5f41dd742f81b4f0f0cac1cc9900616ecd2ea558bcade99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page