Ist die Autokorrelation in einem überwachten Lerndatensatz ein Problem?


10

Stellen Sie sich das folgende Problem vor. Ich habe wöchentliche Schnappschüsse von Preisdaten von K Artikeln sowie von verschiedenen Funktionen / Prädiktoren. Ich möchte vorhersagen, um wie viel sich der Preis in 2 Jahren ändern wird.

Ich setze meinen Datensatz wie folgt zusammen: Jede Zeile besteht aus Funktionen für jeden Artikel für jede Woche, und die Ausgabevariable ist eine Forward-2-Jahres-Preisrendite. Das Datum der Beobachtung befindet sich nicht in meinem Datensatz. Ich verwende es nur, um den Datensatz in einen Trainings- und Validierungssatz zu unterteilen, dh in eine Kreuzvalidierung (wobei ich 2 Jahre Daten vor und nach dem Validierungszeitraum verwerfe (dh) 1 Jahr), um Daten-Snooping zu verhindern).

Es ist klar, dass die Stichproben aus zwei aufeinanderfolgenden Wochen für denselben Artikel (und sogar für verschiedene Artikel) sowohl hinsichtlich der Merkmale als auch hinsichtlich der Antwortvariablen stark korreliert sind (da sich die vorwärtsgerichteten 2 Jahre weitgehend überschneiden, was die Renditen bedeutet wird sehr ähnlich sein). Welche potenziellen Probleme kann es für überwachte Lernansätze verursachen, z. B. zufällige Wälder oder Bäume mit Gefälle?

Meine Gedanken sind:

  1. Die effektive Größe des Datensatzes ist kleiner als erwartet. Das heißt, mein Datensatz von beispielsweise 100'000 Beobachtungen verhält sich eher wie ein Datensatz von 100'000 / (52 * 2) ~ = 1000 Beobachtungen, da dies die Anzahl der Proben ist, für die die Antwort keine Autokorrelation aufweist. Dies wirkt sich erheblich auf die Komplexität der Modelle aus, die ich an die Daten anpassen kann, dh ich habe erhebliche Überanpassungsprobleme und viel schlechtere Ergebnisse als erwartet.
  2. Da Features in aufeinanderfolgenden Wochen für jedes Element im Feature-Space sehr nahe beieinander liegen, deckt mein Dataset den Feature-Space viel schlechter als erwartet ab, wodurch die "effektive" Größe des Datasets erneut verringert wird.
  3. Die Verwendung von nur 1 Jahr Daten für die Validierung bei der Kreuzvalidierung führt zu einer hohen Varianz der Kreuzvalidierungsergebnisse, da die effektive Anzahl von Proben im Validierungssatz wiederum ~ K statt 52 * K beträgt.

Sind das berechtigte Bedenken? Wenn ja, bedeutet dies, dass ich mit K ~ = 100 Hunderte, wenn nicht Tausende von Jahren Daten benötige, um ein einigermaßen komplexes nichtlineares Modell aus Hunderten von Merkmalen zu trainieren, z. B. unter Verwendung zufälliger Wälder oder gradientenverstärkter Bäume? Oder bin ich zu pessimistisch und mein Argument über die "effektive Datensatzgröße" oben ist unsinnig?

Antworten:


6

Sie berühren ein Thema, das in der ökonometrischen Literatur eine Parallele hat. Es wird das Long-Horizon-Vorhersagbarkeitsproblem genannt. Während es schwierig ist, die Aktienmärkte und Währungen kurzfristig vorherzusagen, haben einige ökonometrische Studien gezeigt, dass langfristige Renditen unter Verwendung von Kovariaten wie Dividendenrenditen "viel vorhersehbarer" sind.

Nun, es stellt sich heraus, dass diese Modelle einen subtilen Fehler aufweisen. Da sowohl die Antwort als auch die Prädiktoren einen überlappenden Zeitraum abdecken, sind sie über Horizonte hinweg stark autokorreliert, und die Datenpunkte sind nicht unabhängig.

Hier sind ein paar Artikel, die ich in meiner Bibliothek finden konnte. Das Berkowitz-Papier ist wahrscheinlich das verheerendste zu diesem Thema.

Eine Studie, die Vorhersagbarkeit für einen langen Horizont zeigt:

Mark, NC & Choi, DY (1997). Reale Wechselkursvorhersage über lange Zeiträume. Journal of International Economics, 43 (1), 29-60.

Kritik und statistische Tests:

Berkowitz, J. & Giorgianni, L. (2001). Vorhersehbarkeit des Wechselkurses auf lange Sicht?. The Review of Economics and Statistics, 83 (1), 81-91.

J. Boudoukh, M. Richardson & RF Whitelaw (2006). Der Mythos der Vorhersehbarkeit über einen langen Horizont. The Review of Financial Studies, 21 (4), 1577-1605.

Richardson, M. & Smith, T. (1991). Tests von Finanzmodellen bei überlappenden Beobachtungen. The Review of Financial Studies, 4 (2), 227-254.


2
Vielen Dank. Ein kurzer Blick in die Literatur (einschließlich Marks Antwort auf Berkowitz 'Kritik) legt nahe, dass die Frage, ob langfristige Renditen "vorhersehbarer" sind, nicht ganz geklärt ist. Es sieht so aus, als ob ich mir keine Sorgen über falsche Korrelationen machen sollte, wenn ich die Kreuzvalidierung korrekt verwende, solange ich nicht unbewusst die Merkmalsauswahl aus dem gesamten Datensatz in das Modell einführe. Aber mir ist noch nicht viel klarer, ob die Stichprobengröße ein Problem sein wird oder nicht.
Rinspy

@rinspy Schön, dass Sie sich über das Thema informiert haben. Es ist schon eine Weile her, aber ich habe den Eindruck, dass Berkowitz et al. Einen viel stärkeren Fall haben und Marks Verteidigung nicht überzeugend ist. Daher haben Sie nicht mehr Artikel über die "Vorhersehbarkeit des langen Horizonts" von diesem und jenem gesehen. Nun zurück zu Ihrer Frage. Ich bin mir nicht sicher, was Sie unter "korrektem" Lebenslauf verstehen. Bitte erläutern Sie dies.
HoraceT

@rinspy Die Wurzel des Problems ist die Datenunabhängigkeit. Fast alle Algorithmen für maschinelles Lernen beruhen auf dieser Grundannahme. Wenn Sie zwei Datenpunkte verwenden, die überlappende Daten messen, sind die beiden Datenpunkte nicht unabhängig voneinander. Der einzige Algorithmus, von dem ich weiß, dass er diese Annahme nicht erfordert, ist das verstärkte Lernen.
HoraceT

3

Lassen Sie uns Ihr Problem wie folgt skizzieren:

(1)f({X.t::tT.}})=X.T.+1

Das heißt, Sie versuchen, eine Funktion maschinell zu lernen f(x). Ihr Funktionsumfang enthält alle Daten, die bis verfügbar sindT.. In einer irgendwie überladenen Notation wollte ich die Tatsache hervorheben, dass, wenn wir uns ansehenX. Als stochastischer Prozess wäre es zweckmäßig, dies durchzusetzen X.ist an eine Filtration angepasst ( ein zunehmender Informationsstrom ) - der Vollständigkeit halber erwähne ich hier Filtrationen.

Wir können uns auch die Gleichung ansehen 1als Versuch zu schätzen ( hier ):

E.[X.T.+1|X.T.,X.T.- -1,..]]=f({X.t::tT.}})

Im einfachsten Fall, der in meinem Kopf auftaucht - der linearen OLS-Regression - haben wir:

E.[X.T.+1|X.T.,X.T.- -1,..]]=X.b+e

Ich schlage diesen Gedankengang vor, um statistisches Lernen und klassische Ökonometrie zu verbinden.

Ich mache das, weil, egal wie Sie schätzen (lineare Regression, zufällige Gesamtstruktur, GBMs, ..) E.[X.T.+1|X.T.,X.T.- -1,..]]müssen Sie sich mit der Stationarität Ihres Prozesses X auseinandersetzen, das heißt: wie E.[X.T.+1|X.T.,X.T.- -1,..]]verhält sich rechtzeitig. Es gibt mehrere Definitionen von Stationarität , die versuchen, uns einen Eindruck von der Zeit-Homögenität Ihres stochastischen Prozesses zu vermitteln, dh wie sich der Mittelwert und die Varianz des Schätzers Ihres erwarteten Werts verhalten, wenn Sie den Prognosehorizont vergrößern.

  • Im schlimmsten Fall, in dem es keine Art von Homogenität gibt, wird jedes {X_t} aus einer anderen Zufallsvariablen gezogen.
  • Best-Case-Szenario, iid.

Wir befinden uns zwischen dem Worst- und dem Best-Case-Szenario: Die Autokorrelation beeinflusst die Art der Stationarität, die ein stochastischer Prozess anzeigt: die Autokovarianzfunktion γ(h), wo hist die Zeitlücke zwischen zwei Messungen, charakterisiert schwach stationäre Prozesse. Die Autokorrelationsfunktion ist die skalierungsunabhängige Version der Autokovarianzfunktion ( Quelle , Quelle ).

Wenn die mittlere Funktion m (t) konstant ist und die Kovarianzfunktion r (s, t) überall endlich ist und nur von der Zeitdifferenz τ = t - s abhängt, ist der Prozess {X (t), t ∈ T} schwach stationär oder Kovarianz stationär genannt ( Quelle )

Das schwach stationäre Framework sollte Sie bei der Behandlung Ihrer Daten unterstützen. Der Schlüssel zum Erfolg ist, dass Sie keine Autokorrelation unter den Teppich legen können - Sie müssen sich damit befassen:

  • Sie erhöhen die Granularität des Zeitnetzes: Sie werfen Datenpunkte weg (weniger Granularität und viel weniger Daten, um Ihr Modell zu trainieren), aber die Autokorrelation beißt Sie immer noch auf die Streuung von E.[X.T.+1|X.T.,X.T.- -1,..]] und Sie werden viel Varianz in Ihrer Kreuzvalidierung sehen

  • Sie erhöhen die Granularität des Zeitnetzes: Stichproben, Chunking und Kreuzvalidierung sind viel komplexer. Aus Modellsicht müssen Sie sich explizit mit der Autokorrelation befassen.

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.