Warum ist diese Vorhersage von Zeitreihen „ziemlich schlecht“?


15

Ich versuche zu lernen, wie man neuronale Netze benutzt. Ich habe dieses Tutorial gelesen .

Nach dem Anpassen eines neuronalen Netzes an eine Zeitreihe unter Verwendung des Wertes bei zur Vorhersage des Wertes bei t + 1 erhält der Autor das folgende Diagramm, wobei die blaue Linie die Zeitreihe ist, das Grün die Vorhersage für Zugdaten ist, das Rot die Vorhersage auf Testdaten (er verwendete einen Testzug-Split)tt+1p1

und nennt es "Wir können sehen, dass das Modell sowohl die Trainings- als auch die Testdaten schlecht angepasst hat. Es hat im Grunde den gleichen Eingabewert wie die Ausgabe vorhergesagt."

Dann entscheidet der Autor, , t - 1 und t - 2 zu verwenden, um den Wert bei t + 1 vorherzusagen . Dadurch erhälttt-1t-2t+1

p2

und sagt: "Wenn wir das Diagramm betrachten, können wir mehr Struktur in den Vorhersagen sehen."

Meine Frage

Warum ist der erste "arm"? es sieht für mich fast perfekt aus, es sagt jede einzelne Änderung perfekt voraus!

Und warum ist der zweite gleich besser? Wo ist die "Struktur"? Mir scheint es viel ärmer als der erste.

Wann ist eine Vorhersage über Zeitreihen im Allgemeinen gut und wann ist sie schlecht?


3
Generell gelten die meisten ML-Methoden für die Querschnittsanalyse und müssen für Zeitreihen angepasst werden. Der Hauptgrund ist die Autokorrelation in den Daten, während in ML die Daten in den meisten gängigen Methoden als unabhängig angenommen werden
Aksakal,

11
Es macht einen großartigen Job, um jede Änderung vorherzusagen ... gleich nachdem es passiert ist!
Hobbs

@hobbs, ich versuche nicht, t, t-1, t-2 usw. zu verwenden, um t + 1 vorherzusagen. Ich habe mich gefragt, ob Sie wissen, wie viele Begriffe in der Vergangenheit am besten zu verwenden sind. Wenn wir zu viele verwenden, sind wir überpassend?
Euler_Salter

Es wäre aufschlussreicher gewesen, die Residuen zu zeichnen.
Reo Katoa

Antworten:


23

Es ist eine Art optische Täuschung: Das Auge schaut auf die Grafik und sieht, dass sich die rote und die blaue Grafik direkt nebeneinander befinden. Das Problem ist, dass sie horizontal direkt nebeneinander liegen , aber was zählt, ist die VertikaleEntfernung. Das Auge kann den Abstand zwischen den Kurven im zweidimensionalen Raum des kartesischen Graphen am einfachsten erkennen. Entscheidend ist jedoch der eindimensionale Abstand innerhalb eines bestimmten t-Werts. Angenommen, wir hatten Punkte A1 = (10.100), A2 = (10.1, 90), A3 = (9.8,85), P1 = (10.1.100.1) und P2 = (9.8, 88). Das Auge wird natürlich P1 mit A1 vergleichen, da dies der nächstgelegene Punkt ist, während P2 mit A2 verglichen wird. Da P1 näher an A1 liegt als P2 an A3, sieht P1 wie eine bessere Vorhersage aus. Wenn Sie jedoch P1 mit A1 vergleichen, sehen Sie nur, wie gut A1 in der Lage ist, das zu wiederholen, was es zuvor gesehen hat. In Bezug auf A1 ist P1 keine Vorhersage. Der richtige Vergleich ist zwischen P1 gegen A2 und P2 gegen A3, und in diesem Vergleich ist P2 besser als P1. Es wäre klarer gewesen, wenn es zusätzlich zum Zeichnen von y_actual und y_pred gegen t Graphen von (y_pred-y_actual) gegen t gegeben hätte.


2
Dies ist die bessere Antwort, da die andere nicht einmal erwähnt, warum eine "gut aussehende" Prognose tatsächlich schlecht ist, während Sie dabei großartige Arbeit leisten!
Richard Hardy

17

Warum ist der erste "arm"? es sieht für mich fast perfekt aus, es sagt jede einzelne Änderung perfekt voraus!

Es handelt sich um eine sogenannte "verschobene" Prognose. Wenn Sie Diagramm 1 genauer betrachten, sehen Sie, dass die Vorhersagekraft nur darin besteht, fast genau den zuletzt gesehenen Wert zu kopieren. Das bedeutet, dass das Modell nichts besser gelernt hat und die Zeitreihen als zufälligen Spaziergang behandelt. Ich vermute, das Problem könnte darin liegen, dass Sie die Rohdaten verwenden, die Sie dem neuronalen Netzwerk zuführen. Diese Daten sind nicht stationär, was alle Probleme verursacht.


8
Bei der Vorhersage wird dies als "naive" Vorhersage bezeichnet, dh die zuletzt beobachtete wird als Vorhersage verwendet
Aksakal,

Vielen Dank! @Aksakal wissen Sie, wie viele vorherige Werte für die Vorhersage verwendet werden sollten?
Euler_Salter

Stationarität im Fokus. Einige stationäre Verzögerungen sollten für diese Zeitreihe recht gut sein. Besser als 100 nichtstationäre Verzögerungen.
Alexey Burnakov

In Zeitreihen gibt es eine Möglichkeit, die Lag-Struktur durch ACF und PACF zu erraten. In diesem Forum gab es viele Beiträge darüber, wie es gemacht wird
Aksakal,

@AlexeyBurnakov Also heißt das, ich sollte es in stationär verwandeln?
Euler_Salter
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.