pyWATTS: Python Workflow Automation Tool for Time Series

pyWATTS ist ein auf Python basierendes Open-Source-Paket mit dem Ziel Arbeitsabläufe in der Zeitreihenanalyse zu automatisieren. Zusätzlich vereinfacht es den Auswertungsprozess und die Planung von sich wiederholenden Experimenten. Darüber hinaus ermöglicht es die Integration bestehender Modelle durch eine standardisierte API.

 

Bitte beachten Sie, dass pyWATTS nicht mehr aktiv gepflegt wird. Allerdings wurden die Kernfunktionen in das Open-Source-Python-Paket sktime integriert.

 

pyWATTS: Python Workflow Automation Tool for Time Series

Zeitreihendaten sind von grundlegender Bedeutung für eine Vielzahl von Anwendungen, die von Finanzmärkten bis zu Energiesystemen reichen. Aufgrund ihrer Bedeutung nimmt die Anzahl und Komplexität der für die Zeitreihenanalyse verwendeten Werkzeuge und Methoden ständig zu. Aufgrund unklarer APIs und mangelnder Dokumentation haben Forscher jedoch Schwierigkeiten, diese in ihre Forschungsprojekte zu integrieren und Ergebnisse zu reproduzieren. Darüber hinaus gibt es in der Zeitreihenanalyse viele sich wiederholende Aufgaben, die oft für jedes Projekt neu implementiert werden, was unnötig Zeit kostet. pyWATTS, ein Open-Source-Paket auf Python-Basis, ist ein nicht-sequentielles Workflow-Automatisierungstool für die Analyse von Zeitreihendaten, das die oben genannten Probleme lösen soll. pyWATTS umfasst Module mit klar definierten Schnittstellen, die eine nahtlose Integration neuer oder bestehender Methoden ermöglichen, Subpipelining zur einfachen Reproduktion sich wiederholender Aufgaben, Lade- und Speicherfunktionen zur einfachen Replikation von Ergebnissen und native Unterstützung für wichtige Python-Bibliotheken für Maschinelles Lernen wie scikit-learn, PyTorch und Keras.

Einige Hauptmerkmale von pyWATTS sind:

  • Eine plattformunabhängige Lösung zur Implementierung von Arbeitsabläufen von Anfang bis Ende unter Verwendung von Pipelines. Dadurch können Zeitreihenexperimente auf organisierte Weise und in jeder Umgebung, die pyWATTS unterstützt, durchgeführt werden.
  • Ermöglicht Wiederverwendbarkeit durch Subpipelining. Jeder nützliche Teil eines Zeitreihenexperiments, z. B. die Vorverarbeitung, kann als Subpipeline definiert und ohne weitere Anpassungen und unabhängig vom ursprünglichen Experiment in andere Pipelines integriert werden.
  • Speichern und Laden einer beliebigen Pipeline-Konfiguration, um Ergebnisse zu einem späteren Zeitpunkt zu reproduzieren.
  • Einfache Integration neuer Forschungsansätze durch eine Plug-and-Play-Umgebung, in der Module, die in pyWATTS implementiert sind, nahtlos zwischen Pipelines durch eine modulare Architektur mit Datenverarbeitung durch xarray ausgetauscht werden können.
  • Eine klare API der Module, d. h. Transformations- und Fit-Methoden, die sicherstellen, dass Pipelines innerhalb von pyWATTS anpassungsfähig sind und dass Module leicht auf mehreren Datensätzen, an verschiedenen Punkten in einer Pipeline und in verschiedenen Pipelines laufen können.
  • Integration von verschiedenen Modulen für den gleichen Teil in der Pipeline, sodass ein Bedingungsmechanismus entscheidet, welches Modul abhängig von den Eigenschaften der verwendeten Daten ausgeführt wird.
  • Verwendung von pandas DataFrame oder xarray Dataset als Eingabe, sodass Nutzende die Daten flexibel aus jeder beliebigen Quelle (Datei, Datenbank, Website) mit der Methode ihrer Wahl lesen können.
  • Callbacks, z. B. zur Visualisierung, Analyse und zum Schreiben der Zwischenergebnisse von Modulen.

 

Bestehende Zusammenarbeit

pyWATTS wird derzeit vom Institut für Automation und angewandte Informatik (IAI) am Karlsruher Institut für Technologie entwickelt. Derzeit ist auch Prof. Dr. Jorge Ángel González Ordiano von der Universidad Iberoamericana Ciudad de México an der pyWATTS-Entwicklung beteiligt.

 

Förderung

pyWATTS wird gefördert durch den Impuls- und Vernetzungsfonds der Helmholtz-Gemeinschaft über Helmholtz AI, die Helmholtz-Gemeinschaft im Programm „Energiesystemdesign„“, die Gemeinschaftsinitiative „Energiesystemdesign - Ein Beitrag des Forschungsbereichs Energie„“, die Helmholtz Metadata Collaboration und die Deutsche Forschungsgemeinschaft (DFG) im Rahmen des Graduiertenkollegs 2153 „Energiezustandsdaten: Informatik-Methoden zur Erfassung, Analyse und Nutzung“ und im Rahmen der Exzellenzstrategie des Bundes - EXC-Nummer 2064/1 - Projektnummer 390727645.

Publikationen


sktime – python toolbox for time series: pipelines and benchmarking
Kiraly, F.; Heidrich, B.
2023, September 17. PyCon CZ (2023), Prag, Tschechien, 15.–17. September 2023
Non-Sequential Machine Learning Pipelines with pyWATTS
Heidrich, B.; Phipps, K.; Meisenbacher, S.; Turowski, M.; Neumann, O.; Mikut, R.; Hagenmeyer, V.
2023. Zenodo. doi:10.5281/zenodo.7740850
sktime - python toolbox for time series: pipelines and transformers
Kiraly, F.; Heidrich, B.; Parker, M.; Walter, M.
2022. pyDATA Global (2022), Online, 1.–3. Dezember 2022
Automating Time Series Analysis Workflows with pyWATTS
Heidrich, B.; Phipps, K.; Neumann, O.; Meisenbacher, S.; Turowski, M.; Mikut, R.; Hagenmeyer, V.
2022, Juni. Helmholtz Artificial Intelligence Conference (Helmholtz AI 2022), Dresden, Deutschland, 2.–3. Juni 2022
Smart Data Representations: Impact on the Accuracy of Deep Neural Networks
Neumann, O.; Turowski, M.; Ludwig, N.; Heidrich, B.; Hagenmeyer, V.; Mikut, R.
2021. Proceedings - 31. Workshop Computational Intelligence : Berlin, 25. - 26. November 2021. Hrsg.: H. Schulte; F. Hoffmann; R. Mikut, 113–130, KIT Scientific Publishing
Concepts for Automated Machine Learning in Smart Grid Applications
Meisenbacher, S.; Pinter, J.; Martin, T.; Hagenmeyer, V.; Mikut, R.
2021. Proceedings - 31. Workshop Computational Intelligence : Berlin, 25. - 26. November 2021. Hrsg.: H. Schulte; F. Hoffmann; R. Mikut, 11–35, KIT Scientific Publishing
pyWATTS: Python Workflow Automation Tool for Time Series
Heidrich, B.; Bartschat, A.; Turowski, M.; Neumann, O.; Phipps, K.; Meisenbacher, S.; Schmieder, K.; Ludwig, N.; Mikut, R.; Hagenmeyer, V.
2021. Cornell University
Abgeschlossenes Projekt