Bestellung von Zeitreihen für maschinelles Lernen

14

Nachdem ich einen der "Forschungstipps" von RJ Hyndman über Kreuzvalidierung und Zeitreihen gelesen hatte , kam ich auf eine alte Frage zurück, die ich hier zu formulieren versuchen werde. Die Idee ist, dass bei Klassifizierungs- oder Regressionsproblemen die Reihenfolge der Daten nicht wichtig ist und daher eine k- fache Kreuzvalidierung verwendet werden kann. Andererseits ist in Zeitreihen die Reihenfolge der Daten offensichtlich von großer Bedeutung.

Wenn jedoch ein maschinelles Lernmodell zur Vorhersage von Zeitreihen verwendet wird, besteht eine übliche Strategie darin, die Reihe in eine Menge von "Eingabe-Ausgabe-Vektoren" , die für eine Zeit haben die Form .{y1,...,yT}t(ytn+1,...,yt1,yt;yt+1)

Können wir nun nach dieser Umformung davon ausgehen, dass die resultierende Menge von "Eingabe-Ausgabe-Vektoren" nicht sortiert werden muss? Wenn wir zum Beispiel ein vorwärtsgerichtetes neuronales Netzwerk mit n Eingängen verwenden, um diese Daten zu "lernen", würden wir unabhängig von der Reihenfolge, in der wir die Vektoren für das Modell anzeigen, zu den gleichen Ergebnissen gelangen. Könnten wir daher die k-fache Kreuzvalidierung auf die übliche Weise verwenden, ohne das Modell jedes Mal neu anpassen zu müssen?

jla
quelle

Antworten:

2

Die Antwort auf diese Frage ist, dass dies gut funktioniert, solange Ihre Modellreihenfolge korrekt angegeben ist, da die Fehler von Ihrem Modell dann unabhängig sind.

Dieses Papier hier zeigt , dass , wenn ein Modell schlechte Kreuzvalidierung hat , wird unterschätzt , wie schlecht es tatsächlich ist. In allen anderen Fällen leistet die Kreuzvalidierung gute Arbeit, insbesondere bessere Arbeit als die im Zeitreihenkontext übliche Out-of-Sample-Evaluierung.

Christoph Bergmeir
quelle
6

Interessante Frage!

Der Ansatz, den Sie beschreiben, wird mit Sicherheit sehr häufig von Personen verwendet, die Standard-ML-Methoden verwenden, für die Merkmalsvektoren fester Länge von Attributen erforderlich sind, um Zeitreihendaten zu analysieren.

In dem Beitrag, auf den Sie verweisen, weist Hyndman darauf hin, dass es Korrelationen zwischen den umgeformten Datenvektoren (Samples) gibt. Dies könnte problematisch sein, da k-CV (oder andere Auswertungsmethoden, die Daten zufällig in Trainings- und Testsätze aufteilen) davon ausgehen, dass alle Stichproben unabhängig sind. Ich denke jedoch nicht, dass dieses Anliegen für den Fall von Standard-ML-Methoden relevant ist, die Attribute separat behandeln.

n=3

A:(y1,y2,y3;y4)B:(y2,y3,y4;y5)C:(y3,y4,y5;y6)

y2

Irish Buffer
quelle
1
Ich stimme Ihnen zu, dass einige ML-Algorithmen möglicherweise gegen das Problem stark korrelierter Stichproben immun sind, da sie Attribute vollständig getrennt behandeln. Aber diese Algorithmen eignen sich auch nicht sehr gut für Zeitreihen. Die ML-Algorithmen, die für eine Zeitreihe vielversprechend sind, müssen feststellen können, dass Attribut 1 und Attribut 2 tatsächlich ähnlich sind, da sie ansonsten eine schlechte Vorhersage liefern (die Vorhersage sollte ungefähr ähnlich sein, wenn Sie die Zeit verschieben 1). Diese Algorithmen würden auch unter dem von Hyndman erwähnten Problem leiden.
Max.