
Automatische Extraktion relevanter Merkmale aus Zeitreihen:
Dieses Repository enthält das Python-Paket TSFRESH. Die Abkürzung steht für
"Time Series Feature extraction based on scalable hypothesis tests".
Das Paket bietet eine systematische Zeitreihen-Feature-Extraktion, indem es etablierte Algorithmen aus Statistik, Zeitreihenanalyse, Signalverarbeitung und nichtlinearer Dynamik mit einem robusten Feature-Selektionsalgorithmus kombiniert. In diesem Zusammenhang wird der Begriff Zeitreihe im weitesten Sinne interpretiert, sodass beliebige Arten von abgetasteten Daten oder sogar Ereignisfolgen charakterisiert werden können.
Data Scientists verbringen oft den größten Teil ihrer Zeit entweder mit der Bereinigung von Daten oder mit der Erstellung von Features. Während wir Ersteres nicht ändern können, lässt sich Letzteres automatisieren. TSFRESH erspart Ihnen die Zeit, die Sie für die Erstellung von Features aufwenden, indem es diese automatisch extrahiert. Daher haben Sie mehr Zeit, das neueste Deep-Learning-Paper zu studieren, Hacker News zu lesen oder bessere Modelle zu bauen.
TSFRESH extrahiert automatisch Hunderte von Features aus Zeitreihen. Diese Features beschreiben grundlegende Eigenschaften der Zeitreihe wie die Anzahl der Peaks, den Durchschnitts- oder Maximalwert oder komplexere Features wie die Zeitumkehr-Symmetriestatistik.

Die Features können dann verwendet werden, um statistische oder Machine-Learning-Modelle auf den Zeitreihen zu erstellen, die zum Beispiel in Regressions- oder Klassifikationsaufgaben eingesetzt werden.
Zeitreihen enthalten oft Rauschen, Redundanzen oder irrelevante Informationen. Infolgedessen werden die meisten der extrahierten Features für die jeweilige Machine-Learning-Aufgabe nicht nützlich sein.
Um die Extraktion irrelevanter Features zu vermeiden, verfügt das Paket TSFRESH über ein integriertes Filterverfahren. Dieses Filterverfahren bewertet die Erklärungskraft und Bedeutung jedes Merkmals für die jeweilige Regressions- oder Klassifikationsaufgabe.
Es basiert auf der gut entwickelten Theorie des Hypothesentests und verwendet ein multiples Testverfahren. Dadurch kontrolliert der Filterprozess mathematisch den Anteil irrelevanter extrahierter Features.
Das TSFRESH-Paket wird in dem folgenden Open-Access-Artikel beschrieben:
Der FRESH-Algorithmus wird in dem folgenden Whitepaper beschrieben:
Normalitätsmodelle simulieren, wie Menschen Zeitreihen-Anomalien erkennen:
Teh, H.Y., Wang, K.I-K., Kempa-Liehr, A.W. (2021). Expect the Unexpected: Unsupervised feature selection for automated sensor anomaly detection. IEEE Sensors Journal 15.16, p. 18033-18046, doi: 10.1109/JSEN.2021.3084970.
Teh, H.Y., Wang, K.I-K., Kempa-Liehr, A.W. (2025). Feature-based normality models for anomaly detection. Sensors 25.4757, p. 1-25, doi: 10.3390/s25154757.
Systematische Zeitreihen-Feature-Extraktion funktioniert auch für unüberwachte Probleme:
Da tsfresh die Zeitreihen-Feature-Extraktion praktisch kostenlos bereitstellt, können Sie sich nun auf die Entwicklung neuer Zeitreihen konzentrieren, z. B. auf Differenzen von Signalen synchroner Messungen, die sogar noch bessere Zeitreihen-Features liefern:
Kempa-Liehr, A.W., Oram, J., Wong, A., Finch, M., Besier, T. (2020). Feature engineering workflow for activity recognition from synchronized inertial measurement units. In: Pattern Recognition. ACPR 2019. Ed. by M. Cree et al. Vol. 1180. Communications in Computer and Information Science (CCIS). Singapore: Springer, p. 223–231. doi: 10.1007/978-981-15-3651-9_20.
Simmons, S., Jarvis, L., Dempsey, D., Kempa-Liehr, A.W. (2021). Data Mining on Extremely Long Time-Series. In: 2021 International Conference on Data Mining Workshops (ICDMW). Ed. by B. Xue et al. Los Alamitos: IEEE, p. 1057-1066. doi: 10.1109/ICDMW53433.2021.00137.
Systematisches Zeitreihen-Feature-Engineering ermöglicht die Arbeit mit Zeitreihen-Stichproben unterschiedlicher Länge, da jede Zeitreihe in einen wohldefinierten Feature-Raum projiziert wird. Dieser Ansatz ermöglicht die Entwicklung robuster Machine-Learning-Algorithmen in Anwendungen mit fehlenden Daten.
Ist Ihr Zeitreihen-Klassifikationsproblem unbalanciert? Es besteht eine gute Chance, dass das Undersampling von Zeitreihen-Feature-Matrizen Ihr Problem lösen könnte:
Sie arbeiten nicht mit Zeitreihen, sondern mit 2D- und 3D-Bildern? Räumliche Variationssequenzen (SVS) sind eine hervorragende Anwendung für tsfresh:
Jeune, H., Pechan, N., Reitsma, S., Kempa-Liehr, A.W. (2021). Spatial Variation Sequences for Remote Sensing Applications with Small Sample Sizes. In: 2024 Image and Video Technology. 11th Pacific-Rim Symposium, Ed. by W.Q. Yan et al., Lecture Notes in Computer Science (14403). Springer Nature: Singapore, p. 153-166. doi: {10.1007/978-981-97-0376-0_12.
Koptev, I., Tian, J., Peel, E., Parker, R., Walker, C., Kempa-Liehr, A.W. (2025). Interpretable Dimensionality Reduction in 3D Image Recognition with Small Sample Sizes. Journal of Nondestructive Evaluation 44.44, p. 1-12, doi: 10.1007/s10921-025-01183-z.
Die Verarbeitung natürlicher Sprache geschriebener Texte ist ein Beispiel für die Anwendung systematischen Zeitreihen-Feature-Engineerings auf Ereignisfolgen, das in dem folgenden Open-Access-Artikel beschrieben wird:
TSFRESH hat mehrere Verkaufsargumente, zum Beispiel
Wenn Sie an den technischen Einzelheiten interessiert sind, schauen Sie sich unsere umfassende Read-The-Docs-Dokumentation unter http://tsfresh.readthedocs.io an.
Der Algorithmus, insbesondere der Filterteil, wird auch in dem oben genannten Artikel beschrieben.
Wir freuen uns über jeden Beitrag. Wenn Sie uns helfen möchten, TSFRESH zum größten Archiv von Feature-Extraktionsmethoden in Python zu machen, folgen Sie einfach unserer How-To-Contribute-Anleitung.
Wenn Sie tsfresh schnell ausprobieren oder in Ihren Workflow integrieren möchten, haben wir auch ein Docker-Image verfügbar:
docker pull nbraun/tsfresh
Wenn Sie Zeitreihen-Features reproduzieren oder aktualisieren müssen, die mit den matrixprofile-Feature-Rechnern berechnet wurden, müssen Sie eine Python-3.8-Umgebung erstellen:
conda create --name tsfresh__py_3.8 python=3.8
conda activate tsfresh__py_3.8
pip install tsfresh[matrixprofile]
Die Forschung und Entwicklung von TSFRESH wurde teilweise vom Bundesministerium für Bildung und Forschung unter dem Förderkennzeichen 01IS14004 (Projekt iPRODICT) gefördert.