Auswahl des Zeitreihenmodells: AIC vs. SSE außerhalb der Stichprobe und ihre Äquivalenz

9

AIC wird häufig als Kriterium für den Vergleich von Modellen für die Vorhersage von Zeitreihen empfohlen. Sehen Sie dies zum Beispiel im Kontext dynamischer Regressionsmodelle :

Der AIC kann für das endgültige Modell berechnet werden, und dieser Wert kann verwendet werden, um die besten Prädiktoren zu bestimmen. Das heißt, das Verfahren sollte wiederholt werden, damit alle Teilmengen von Prädiktoren berücksichtigt werden, und das Modell mit dem niedrigsten AICc-Wert ausgewählt werden.

Vergleichen Sie die Modelle anhand ihrer Leistung außerhalb der Stichprobe. (z. B. wählen Sie das Modell mit der niedrigsten SSE in der Prognose außerhalb der Stichprobe). Ich habe mehrere Lehrbücher und Websites zur Vorhersage von Zeitreihen gelesen und diese Diskussion nicht gefunden. Am nächsten kam mir dieser Blogeintrag über die Fakten und Irrtümer des AIC :

Der AIC ist nicht wirklich eine In-Sample-Maßnahme. Ja, es wird anhand der Trainingsdaten berechnet. Asymptotisch ist die Minimierung des AIC gleichbedeutend mit der Minimierung der ausgelassenen Kreuzvalidierungs-MSE für Querschnittsdaten und gleichbedeutend mit der Minimierung der einstufigen Prognose-MSE außerhalb der Stichprobe für Zeitreihenmodelle. Diese Eigenschaft macht es zu einem so attraktiven Kriterium für die Auswahl von Prognosemodellen.

In einem Beispiel, an dem ich gearbeitet habe (ich konnte die Diagramme hier jedoch nicht veröffentlichen; ich brauche mehr Ruf auf dieser Website), habe ich beide Ansätze ausprobiert und meistens liefern AIC und SSE außerhalb der Stichprobe nicht dasselbe Ergebnis. Das von mir verwendete Verfahren war wie folgt:

  1. Ich habe die Daten in Trainings- und Testmuster aufgeteilt (an einem beliebigen Punkt; eine Frage dazu weiter unten).
  2. Ich habe konkurrierende Modelle (ARIMA mit externen Regressoren, Änderung der ARIMA-Parameter und der Regressoren) anhand der Trainingsstichprobe geschätzt (erste 230 Perioden; alle Modelle haben die gleiche Anzahl von Beobachtungen, sodass AIC vergleichbar ist).
  3. Dann prognostizierte ich die Serie für die gleichen Zeiträume wie die Testprobe (Zeiträume 231-260).
  4. Für jedes Modell habe ich einfache SSE wie wobei der beobachtete Wert der Reihen (Testprobe) und ist der vom Modell prognostizierte Wert.S.S.E.=t=231260(yt^- -yt)2ytyt^
  5. Ich habe das von AIC angegebene Modell (berechnet anhand von Trainingsdaten) mit dem Modell mit der niedrigsten SSE außerhalb der Stichprobe verglichen. Meistens sind die ausgewählten Modelle unterschiedlich (und zumindest optisch schneiden die von SSE ausgewählten Modelle besser ab).

Wenn mir jemand erklären könnte, was dahinter steckt, wäre ich sehr dankbar. Ich bin eindeutig kein Experte in diesem Bereich. Ich versuche nur, mich selbst ein wenig zu unterrichten. Entschuldigen Sie bitte, wenn ich in den Lehrbüchern, die ich gelesen habe, etwas Wichtiges übersehen habe.

Zum Schluss noch eine Frage zur Aufteilung der Daten in Trainings- und Testmuster für Zeitreihen. Es scheint mir, dass es etwas grundlegend anderes gibt, als dasselbe Verfahren für Querschnittsdaten zu verwenden. Für Querschnittsdaten können Sie zwei Zufallsstichproben aus Ihrem gesamten Datensatz entnehmen. Für Zeitreihen macht dies wenig Sinn. Sie müssen also einen beliebigen Punkt wählen, um die Serie in Trainings- und Testmuster aufzuteilen. Die Sache ist, dass normalerweise das beste Modell für jeden beliebigen Punkt anders ist. Vielleicht scheint dieser Ansatz deshalb nicht häufig verwendet zu werden. Ist dies der Grund, warum AIC für die Modellauswahl bevorzugt wird? (Angesichts der Tatsache, dass "asymptotisch die Minimierung des AIC ... gleichbedeutend mit der Minimierung der einstufigen Prognose-MSE außerhalb der Stichprobe für Zeitreihenmodelle ist".)

elikesprogramming
quelle

Antworten:

6

Vergleichen Sie die Modelle anhand ihrer Leistung außerhalb der Stichprobe.

Natürlich können Sie das tun. Ich nehme an, dass der Vorteil von AIC eine schnellere Berechnung und weniger Codierung ist (während AIC häufig automatisch als Teil der Modelldiagnose gemeldet wird, ist die Kreuzvalidierung für Zeitreihen in Ihrer Lieblingssoftware möglicherweise nicht ohne weiteres verfügbar).

Ich habe beide Ansätze ausprobiert und meistens liefern AIC und SSE außerhalb der Stichprobe nicht das gleiche Ergebnis.

Sie scheinen die Kreuzvalidierung nicht ordnungsgemäß implementiert zu haben. Zunächst teilen Sie die Daten nur einmal auf, während Sie sie mehrmals aufteilen sollen. Zweitens haben Sie die Prognoseleistung anhand eines Versuchs zur Vorhersage mehrerer verschiedener Horizonte und nicht anhand mehrerer Versuche zur Vorhersage eines festen Horizonts bewertet. Vielleicht haben Sie deshalb die Diskrepanz zwischen AIC und Kreuzvalidierung

tt+mmtT.- -m- -1T.

Siehe auch Hyndman und Athanasopoulos "Prognose: Prinzipien und Praxis", Abschnitt 2.5 (ganz nach unten scrollen) und Bergmeir et al. "Ein Hinweis zur Gültigkeit der Kreuzvalidierung zur Bewertung der Vorhersage von Zeitreihen" (2015, Arbeitspapier).

Zumindest optisch schneiden die von SSE ausgewählten [Modelle] besser ab

Es könnte sein, dass die Modellreste nicht ganz die angenommene Verteilung hatten oder dass das Modell einige andere Fehler aufwies, die den AIC auf irgendeine Weise ungültig machten. Dies ist ein Argument, warum die Genauigkeit von Prognosen außerhalb der Stichprobe bei der Modellauswahl gegenüber AIC bevorzugt werden könnte.

Richard Hardy
quelle
Vielen Dank, ich werde eine Kreuzvalidierung durchführen, wie Sie vorschlagen, und das, was ich finde, veröffentlichen. Vielen Dank
elikesprogramming