Ich betrachte das Problem der (Mehrklassen-) Klassifikation basierend auf Zeitreihen variabler Länge , das heißt, eine Funktion über eine globale Darstellung der Zeitreihe durch einen Satz ausgewählter Merkmale fester Größe unabhängig von , und verwenden Sie dann Standardklassifizierungsmethoden für diesen Feature-Set. Ich bin nicht an Prognosen interessiert, dh an der Vorhersage vonf ( X T ) = y ∈ [ 1 .. K ]v i D T φ ( X T ) = v 1 , ... , v D ∈ R , x T + 1
Welche Standardfunktionen kann ich berücksichtigen? In einem Beispiel können wir offensichtlich den Mittelwert und die Varianz der Serie (oder Momente höherer Ordnung) verwenden und auch den Frequenzbereich untersuchen, wie die Energie, die in einem Intervall der diskreten Fourier-Transformation der Serie (oder der diskreten Wavelet-Transformation ) enthalten ist.
Emile, ich denke, die in Ihrer Antwort aufgelisteten Funktionen sind ziemlich gute Ausgangspunkte, aber wie immer halte ich einige Fachkenntnisse (oder zumindest lange Überlegungen) zu Ihrem Problem für ebenso wichtig.
Möglicherweise möchten Sie Features berücksichtigen, die aus den Ableitungen (oder Integralen) Ihres Signals berechnet wurden. Zum Beispiel würde ich wetten, dass eine schnelle Beschleunigung / Verzögerung ein vernünftiger Indikator für unfallanfälliges Fahren ist. Diese Information ist offensichtlich immer noch im Positionssignal vorhanden, aber bei weitem nicht so eindeutig.
Möglicherweise möchten Sie auch die Fourier-Koeffizienten durch eine Wavelet- oder Wavelet-Paketdarstellung ersetzen. Der Hauptvorteil von Wavelets besteht darin, dass Sie ein Merkmal sowohl in der Frequenz als auch in der Zeit lokalisieren können, während die herkömmlichen Fourier-Koeffizienten nur auf die Zeit beschränkt sind. Dies kann besonders nützlich sein, wenn Ihre Daten Komponenten enthalten, die sich unregelmäßig ein- und ausschalten oder rechteckförmige Impulse aufweisen, die für Fourier-Methoden problematisch sein können.
quelle
Wie die anderen Antworten andeuteten, gibt es eine Vielzahl von Zeitreihenmerkmalen, die als potenzielle Merkmale verwendet werden können. Es gibt einfache Merkmale wie den Mittelwert, zeitreihenbezogene Merkmale wie die Koeffizienten eines AR-Modells oder hochentwickelte Merkmale wie die Teststatistik des erweiterten Dickey-Fuller-Hypothesentests.
Umfassender Überblick über mögliche Zeitreihenfunktionen
Das Python-Paket tsfresh automatisiert das Extrahieren dieser Funktionen. In der Dokumentation werden die verschiedenen berechneten Funktionen beschrieben. Die Seite mit den berechneten Features finden Sie hier .
Haftungsausschluss: Ich bin einer der Autoren von tsfresh.
quelle
Ich schlage vor, dass Sie anstelle von klassischen Ansätzen zum Extrahieren handgefertigter Features Autoencoder verwenden . Autoencoder spielen eine wichtige Rolle bei der Feature-Extraktion von Deep-Learning-Architekturen.
Der Autoencoder versucht eine Funktion zu lernen . Mit anderen Worten, es wird versucht, eine Annäherung an die Identitätsfunktion zu lernen, um , das ähnlich .X T X Tf(XT)≈XT X^T XT
Die Identitätsfunktion scheint eine besonders triviale Funktion zu sein, um zu lernen; Indem Sie jedoch Einschränkungen für das Netzwerk festlegen, z. B. die Anzahl der verborgenen Einheiten begrenzen, können Sie interessante Strukturen für die Daten ermitteln.
Auf diese Weise entspricht Ihr gewünschtes den Ausgabewerten der Mittelebene in einem tiefen Autoencoder, wenn Sie die Anzahl der versteckten Einheiten in der Mittelebene auf begrenzen .ϕ(XT)=v1,…,vD∈R D
Darüber hinaus können Sie verschiedene Autoencoder-Varianten verwenden, um die beste Lösung für Ihr Problem zu finden.
quelle
Das verlinkte Papier wird ein wenig aufschlussreich sein, da es sich in einem anderen Kontext für mehr oder weniger dasselbe Thema interessiert.
Papierzusammenfassung (im Internetarchiv)
PDF in Papierform
quelle
Abhängig von der Länge Ihrer Zeitreihe besteht der übliche Ansatz darin, die Daten in Segmente zu unterteilen, z. B. 10 Sekunden.
Vor dem Aufteilen der Zeitreihen in Segmente muss jedoch häufig eine Vorverarbeitung durchgeführt werden, z. B. Filtern und Zurückweisen von Artefakten. Sie können dann eine Vielzahl von Merkmalen berechnen, z. B. anhand der Frequenz (dh einer FFT für jede Epoche), der Zeit (z. B. Mittelwert, Varianz usw. der Zeitreihe in dieser Epoche) oder der Morphologie (dh der Form des Signals) / Zeitreihen in jeder Epoche).
Normalerweise sind die Merkmale, die zur Klassifizierung von Segmenten (Epochen) einer Zeitreihe / eines Signals verwendet werden, domänenspezifisch, aber die Wavelet / Fourier-Analyse ist lediglich ein Hilfsmittel, mit dem Sie Ihr Signal in den Frequenz- / Zeitfrequenzbereichen untersuchen können, anstatt Merkmale für sich zu sein.
Bei einem Klassifizierungsproblem hat jede Epoche eine Klassenbezeichnung, z. B. "glücklich" oder "traurig". Anschließend trainieren Sie einen Klassifizierer, um anhand der 6 für jede Epoche berechneten Merkmale zwischen "glücklich" und "traurig" zu unterscheiden.
Für den Fall, dass jede Zeitreihe einen einzelnen Fall für die Klassifizierung darstellt, müssen Sie jedes Merkmal für alle Stichproben der Zeitreihe berechnen. Die FFT ist hier nur relevant, wenn das Signal linear zeitinvariant (LTI) ist, dh wenn das Signal über die gesamte Zeitreihe als stationär angesehen werden kann, wenn das Signal über den interessierenden Zeitraum nicht stationär ist, kann eine Wavelet-Analyse erfolgen angemessener. Dieser Ansatz bedeutet, dass jede Zeitreihe einen Merkmalsvektor erzeugt und einen Fall für die Klassifizierung darstellt.
quelle