pyWATTS: Python Workflow Automation Tool for Time Series
- Ansprechperson:
- Projektgruppe:
Benedikt Heidrich
Marian Turowski
Kaleb Phipps
Stefan Meisenbacher
- Förderung: HGF
- Starttermin: 2019
- Endtermin: 2023
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 durchxarray
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
oderxarray 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
Kiraly, F.; Heidrich, B.
2023, September 17. PyCon CZ (2023), Prag, Tschechien, 15.–17. September 2023
Heidrich, B.; Phipps, K.; Meisenbacher, S.; Turowski, M.; Neumann, O.; Mikut, R.; Hagenmeyer, V.
2023. Zenodo. doi:10.5281/zenodo.7740850
Kiraly, F.; Heidrich, B.; Parker, M.; Walter, M.
2022. pyDATA Global (2022), Online, 1.–3. Dezember 2022
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
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
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
Heidrich, B.; Bartschat, A.; Turowski, M.; Neumann, O.; Phipps, K.; Meisenbacher, S.; Schmieder, K.; Ludwig, N.; Mikut, R.; Hagenmeyer, V.
2021. Cornell University