Feature-Extraktionstechnik - Zusammenfassen einer Datensequenz

11

Ich baue oft ein Modell (Klassifizierung oder Regression) auf, in dem ich einige Prädiktorvariablen habe, bei denen es sich um Sequenzen handelt, und ich habe versucht, technische Empfehlungen zu finden, um sie bestmöglich zusammenzufassen und als Prädiktoren in das Modell aufzunehmen.

Angenommen, es wird ein Modell erstellt, um vorherzusagen, ob ein Kunde das Unternehmen in den nächsten 90 Tagen verlassen wird (jederzeit zwischen t und t + 90; also ein binäres Ergebnis). Einer der verfügbaren Prädiktoren ist die Höhe des finanziellen Saldos des Kunden für die Zeiträume t_0 bis t-1. Möglicherweise handelt es sich hierbei um monatliche Beobachtungen für die letzten 12 Monate (dh 12 Messungen).

Ich suche nach Möglichkeiten, Features aus dieser Serie zu konstruieren. Ich verwende Beschreibungen der einzelnen Kundenserien, wie z. B. Mittelwert, Hoch, Niedrig, Standardentwicklung, und passe eine OLS-Regression an, um den Trend zu ermitteln. Sind ihre anderen Methoden zur Berechnung von Merkmalen? Andere Maßstäbe für Veränderung oder Volatilität?

HINZUFÜGEN:

Wie in einer Antwort unten erwähnt, habe ich auch in Betracht gezogen (aber vergessen, hier hinzuzufügen), Dynamic Time Warping (DTW) und dann hierarchisches Clustering in der resultierenden Distanzmatrix zu verwenden - eine bestimmte Anzahl von Clustern zu erstellen und dann die Cluster-Mitgliedschaft als Feature zu verwenden. Die Bewertung von Testdaten müsste wahrscheinlich einem Prozess folgen, bei dem die DTW für neue Fälle und die Cluster-Zentroide durchgeführt wurde - wobei die neuen Datenreihen mit ihren nächsten Zentroiden abgeglichen wurden ...

B_Miner
quelle

Antworten:

7

Ich würde LIEBEN, wenn eine Box geschrieben würde, in der Fallstudien zum Thema Feature Engineering / Extraktion gesammelt wurden

Bitte geben Sie an, ob dies hilft

  1. Diskretisierung von Zeitreihendaten http://arxiv.org/ftp/q-bio/papers/0505/0505028.pdf

  2. Optimieren der Zeitreihendiskretisierung für die Wissensermittlung https://www.uni-marburg.de/fb12/datenbionik/pdf/pubs/2005/moerchen05optimizing

  3. SAX erleben: Eine neuartige symbolische Darstellung von Zeitreihen http://cs.gmu.edu/~jessica/SAX_DAMI_preprint.pdf

  4. Indizierung für die interaktive Exploration von Big Data-Serien http://acs.ict.ac.cn/storage/slides/Indexing_for_Interactive_Exploration_of_Big_Data_Series.pdf

  5. Generalisierte Merkmalsextraktion für die Strukturmustererkennung in Zeitreihendaten http://www.semanticscholar.org/paper/Generalized-Feature-Extraction-for-Structural-Olszewski-Maxion/7838bcd87bb6616e9fd3ffd92d4676a7082da34c

  6. Berechnen und Visualisieren dynamischer Time Warping-Ausrichtungen in R: Das dtw-Paket https://cran.r-project.org/web/packages/dtw/vignettes/dtw.pdf

SemanticBeeng
quelle
2

Was Sie hier versuchen, ist die Reduzierung der Dimensionalität Ihrer Features. Sie können nach Dimensionsreduzierung suchen, um mehrere Optionen zu erhalten. Eine sehr beliebte Technik ist jedoch die Hauptkomponentenanalyse (PCA). Hauptkomponenten sind nicht wie die von Ihnen genannten Optionen interpretierbar, aber sie fassen alle Informationen gut zusammen.

Ben
quelle
Meine Sorge mit dieser Antwort ist, dass PCA die eindeutige Abhängigkeit zwischen der Reihe t und t + 1 nicht erkennt.
B_Miner
Wenn die Abhängigkeit von t und t + 1 ein Trend oder eine Saisonalität ist, sollten Sie sie extrahieren und den Rest wie unabhängige Variablen behandeln.
Diego
2

Die Merkmalsextraktion ist immer eine Herausforderung und das weniger angesprochene Thema in der Literatur, da sie weitgehend anwendungsabhängig ist.

Einige Ideen, die Sie ausprobieren können:

  • Rohdaten, täglich gemessen. Das ist offensichtlich mit einigen Implikationen und zusätzlicher Vorverarbeitung (Normalisierung), um Zeitleisten unterschiedlicher Länge vergleichbar zu machen.
  • Höhere Momente: Schiefe, Kurtosis usw.
  • Derivat (e): Geschwindigkeit der Evolution
  • Die Zeitspanne ist nicht so groß, aber vielleicht lohnt es sich, einige Zeitreihenanalysefunktionen wie beispielsweise die Autokorrelation auszuprobieren.
  • Einige benutzerdefinierte Funktionen wie das Unterbrechen der Zeitachse in Wochen und das Messen der Mengen, die Sie bereits in jeder Woche messen, separat. Dann könnte ein nichtlinearer Klassifikator beispielsweise Merkmale der ersten Woche mit Merkmalen der letzten Woche kombinieren, um einen Einblick in die zeitliche Entwicklung zu erhalten.
iliasfl
quelle
Schöne Vorschläge! Können Sie den Einsatz von Derivaten näher erläutern?
B_Miner
Ich stimme Ihrer ersten Aussage voll und ganz zu. Ich würde LIEBEN, wenn eine Box geschrieben würde, in der Fallstudien zum Thema Feature Engineering / Extraktion gesammelt wurden. Das Sprichwort ist, dass die Erstellung von Features viel wichtiger ist als der neueste größte Algorithmus für die Leistung von Vorhersagemodellen.
B_Miner
2

Auf den ersten Blick müssen Sie Features aus Ihrer Zeitreihe (x - 12) - x extrahieren. Ein möglicher Ansatz besteht darin, zusammenfassende Metriken zu berechnen: Durchschnitt, Streuung usw. Dabei verlieren Sie jedoch alle zeitreihenbezogenen Informationen. Daten, die aus der Kurvenform extrahiert wurden, können jedoch sehr nützlich sein. Ich empfehle Ihnen, diesen Artikel zu lesen, in dem Autoren Algorithmen für das Clustering von Zeitreihen vorschlagen. Hoffe, es wird nützlich sein. Zusätzlich zu einem solchen Clustering können Sie Ihrer Funktionsliste zusammenfassende Statistiken hinzufügen.

Sobach
quelle
Danke für den Link. Ich hatte auch überlegt, DTW und hierachisches Clustering zu verwenden. Ich habe mit dem R-Paket für DWT experimentiert. jstatsoft.org/v31/i07/paper
B_Miner
1
Ich habe überlegt, speziell n Cluster zu erstellen und die Cluster-Mitgliedschaft als Feature zu verwenden.
B_Miner