Das ist ein lustiges Problem. Dies ist eine Zeitreihe, und anhand dieser Zeitreihe möchten Sie den Auslöser eines bestimmten Ereignisses identifizieren. Es handelt sich also um ein binäres Klassifizierungsproblem. Wird aufgrund der Informationen aus dem angegebenen Fenster eine Spitze auftreten? Ja oder Nein.
Der erste Schritt ist das Einrichten Ihrer Datenbank. Was Sie haben werden, ist eine Reihe von Instanzen (die sich etwas überlappen können, aber um Verzerrungen zu vermeiden, ist es am besten, wenn sie unabhängig voneinander gezeichnet werden) und dann muss ein Mensch für jede Instanz kennzeichnen, ob es eine Spitze gab oder ob es keine gab Spitze.
Anschließend müssen Sie das Zeitfenster identifizieren, das Sie für Ihre Zeitreihenanalyse verwenden möchten. Sie haben dies getan und entschieden, dass 30 Minuten ein guter Anfang sind.
Jetzt haben Sie 6 Wellenformen in einem 30-Minuten-Fenster, aus denen Sie Daten extrahieren können, um Informationen über Ihre Klassifizierung zu erhalten. Sie können die Rohdatenbeispiele als Ihre Funktionen verwenden, dies ist jedoch viel zu viele Funktionen und führt zu schlechten Ergebnissen. Also brauchst du welche Merkmalsextraktionen , Dimensionsreduzierungen und Techniken.
Es gibt eine Million Möglichkeiten, Daten aus diesen Wellenformen zu extrahieren. Fragen Sie sich zunächst als Mensch, welche verräterischen Anzeichen diese anderen Wellenformen haben sollten, was bedeuten würde, dass eine Spitze entstehen würde. Wenn Sie beispielsweise in seismischen Daten eine Bewegung in einer Wellenform einer Nachbarstadt sehen, sollten Sie damit rechnen, dass in Ihrer Stadt bald Bewegung auftritt.
Im Allgemeinen extrahiere ich gerne alle grundlegenden Statistiken aus meinen Wellenformen. Ermitteln Sie den Mittelwert, die Standardabweichung, den Schwankungsindex usw. Erhalten Sie alles, was Ihrer Meinung nach hilfreich sein könnte. Überprüfen Sie, wie diese Statistiken mit Ihren Labels korrelieren. Je mehr Korrelation, desto besser könnten sie sein. Dann gibt es einige sehr gute Techniken zum Extrahieren von Zeit- und Frequenzinformationen aus Ihren Zeitreihen. Untersuchen Sie die Hüllkurvenmoduszerlegung und die empirische Moduszerlegung . Ich habe die empirische Modenzerlegung bei einigen Zeitreihendaten erfolgreich angewendet und weitaus bessere Ergebnisse erzielt als erwartet.
Jetzt können Sie es besser machen, obwohl Sie weniger Platz für Funktionen haben! Sie können einige Techniken zur Reduzierung der Dimensionalität wie PCA oder LDA anwenden , um einen Raum mit niedrigeren Dimensionen zu erhalten, der Ihre Daten möglicherweise besser darstellt. Dies könnte helfen, keine Garantien.
Jetzt haben Sie einen kleinen Datensatz mit Instanzen, bei denen es sich um eine Frankenstein-Mischung handelt, die Ihre 6 Wellenformen über das 30-Minuten-Fenster darstellt. Jetzt können Sie Ihren Klassifikator auswählen. Sie benötigen einen binären Klassifizierungsalgorithmus, der zum Glück am häufigsten verwendet wird. Es gibt viele zur Auswahl. Wie man wählt?
Wie viele Instanzen haben Sie?
# i n s t a n c e s > 100 ∗ # fe a t u r e s ?
Dann können Sie eine Deep-Learning-Technik wie neuronale Netze , 1D-Faltungs-neuronale Netze , gestapelte Autoencodierer usw. verwenden.
Weniger als das !!!!
Das solltest du bei flachen Methoden bleiben. Schauen Sie sich Kernel-Support-Vektor-Maschinen , zufällige Gesamtstrukturen , k-nächste Nachbarn usw. an.
Verbreiteter Irrtum: Eine flache Methode CAN und WILL eine bessere Leistung als eine tiefe Lerntechnik , wenn Sie richtig Ihre Funktionen ausgewählt haben. Die Merkmalsextraktion ist der wichtigste Aspekt einer Architektur für maschinelles Lernen.
Ich möchte die Anomalieerkennung verwenden!
Dies würde auch funktionieren und es gibt einige gute Techniken, die dies tun würden. Die Art der Anomalieerkennung besteht jedoch darin, die Verteilung des Nennfalls zu lernen. Sie würden Ihrem Algorithmus also alle Instanzen in Ihrem Dataset zuführen, die nicht zu einer Spitze geführt haben. Auf diese Weise kann Ihr Algorithmus erkennen, wann sich eine neuartige Instanz erheblich von dieser nominalen Verteilung unterscheidet, und sie wird als Anomalie gekennzeichnet. Dies würde bedeuten, dass in Ihrem Kontext eine Spitze auftritt.
Auschecken:
Lernen der Mindestvolumensätze
http://www.stat.rice.edu/~cscott/pubs/minvol06jmlr.pdf
Anomalieerkennung mit Score-Funktionen basierend auf Nearest Neighbor Graphs
https://arxiv.org/abs/0910.5461
Neue Statistik in der P-Wert-Schätzung zur Erkennung von Anomalien
http://ieeexplore.ieee.org/document/6319713/
Sie können auch rudimentärere Anomalieerkennungstechniken verwenden, z. B. einen allgemeinen Likelihood-Ratio-Test. Aber das ist eine Art alte Schule.