2017-10-30 6 views
-2

Ich beginne mit der Zeitreihenklassifizierung und habe Probleme damit zu verstehen, wie mein Trainingssatz aufgebaut werden sollte. Meine aktuellen Daten sehen wie folgt aus:Wie erstellt man einen Datensatz für die Zeitreihenklassifizierung?

Timestamp  User ID Feature 1 Feature 2 ... Feature N target 
2002-10-30   1  0   0  ...  1  0 
2002-10-31   2  0   1  ...  1  0 
... 
... 
2017-10-30   1  0   0  ...  0  1 
2017-10-31   2  0   1  ...  0  0 

Die Funktionen sind One-Hot-codierte Text-Funktionen, zum Zeitpunkt aufgezeichnet t für ein gegebenes User ID. Das Ziel ist ein Ereignis, das zum Zeitpunkt t auftritt/nicht auftritt. Ich bin bereit, dieses Ereignis mit einer neuen Reihe von Funktionen für alle User IDs des Datasets zu einem neuen gegebenen Zeitpunkt t zu erkennen.

Ich von this paper verstanden, dass eine Möglichkeit, dies zu modellieren ist mit einem "gleitenden Windows-Klassifikator".

Für jederzeit t ich zusammen die Eigenschaften von aggregieren können und ein flexibleres Ziel gesetzt, die „das Ereignis aufgetreten ist oder nicht entweder t, t+1, ... t+n wäre. Ist das der richtige Weg, einen solchen Klassifikator zu erstellen?

Ich erwäge auch more recent approaches wie "wiederkehrende neuronale Netzwerkarchitekturen (LSTM)". Wie kann ich ein Trainingsset erstellen, um dieses Modell aus dem obigen Datensatz zu füttern?

ps: Ich plane, scikit-learn/Keras zu verwenden, um die Klassifikatoren zu erstellen.

Vielen Dank im Voraus für Ihre Zeit und Antworten.

+0

Von dem, was ich sehe, Sie haben ein einfaches binäres Klassifikationsproblem verarbeiten können (Ziel ist 0 oder 1). Sie müssen also eine Beziehung zwischen Eingabe und Ziel finden. Es ist keine weitere Vorverarbeitung von Daten erforderlich. Sie können dafür verschiedene Techniken verwenden: Neuronale Netze, Genetische Programmierung usw. –

Antwort

0

Es gibt einige Möglichkeiten, wie Sie mit Zeitreihen arbeiten können:

  1. Einfache Verwendung LSTM mit einem gewissen Fenster, so dass Sie Daten Form wie diese haben wird (Batch, Fenster, data_features_dimensions ...)
  2. Sie kann Conv1D und andere 1D-Methoden verwenden, so dass Sie einige Muster finden können.
  3. Sie können Matrix aus Windows erstellen. Dies ist nicht sehr logisch auf den ersten Blick, aber auf diese Weise können Sie einige verschobene Muster in irgendeiner Weise finden, wie LSTM es tun.
  4. Sie können Ihnen Zeitreihe als Signal behandeln und gleiche Technik wie in Audio-Verarbeitung verwenden und zum Beispiel Spektrogramm bauen, die Sie mit CNN
Verwandte Themen