ARIMA !!! - ein Wunderwerk theoretischer Genauigkeit und mathematischer Eleganz, das für realistische Geschäftszeitreihen fast unbrauchbar ist.
Ok, das ist übertrieben: ARIMA und ähnliche Modelle wie GARCH sind gelegentlich nützlich. Aber ARIMA ist bei weitem kein so allgemeines Modell, wie die meisten Leute zu glauben scheinen.
Die meisten kompetenten Data Scientists und ML Engineers, die Generalisten sind (in dem Sinne, dass sie sich nicht auf Zeitreihenprognosen oder Ökonometrie spezialisiert haben) sowie MBA-Typen und Personen mit soliden allgemeinen statistischen Hintergründen, verwenden standardmäßig ARIMA als Basismodell für ein Zeitreihenprognoseproblem. Meistens bleiben sie dabei. Wenn sie es gegen andere Modelle bewerten, ist es normalerweise gegen exotischere Entitäten wie Deep Learning Models, XGBoost usw.
Andererseits halten sich die meisten Zeitreihenspezialisten, Supply-Chain-Analysten, erfahrenen Analysten für Nachfrageprognosen usw. von ARIMA fern. Das akzeptierte Basismodell und das, das immer noch sehr schwer zu schlagen ist, ist Holt-Winters oder Triple Exponential Smoothing. Siehe zum Beispiel "Warum der gedämpfte Trend funktioniert" von E S Gardner Jr. & E McKenzie. Über die akademische Prognose hinaus verwenden viele Prognoselösungen für Unternehmen in der Nachfrageprognose und im Bereich der Lieferkette immer noch einige Variationen von Holt-Winters. Dies ist keine Unternehmensträgheit oder schlechtes Design, es ist einfach so, dass Holt-Winters oder Damped Holt-Winters immer noch der beste Gesamtansatz in Bezug auf Robustheit und durchschnittliche Gesamtgenauigkeit ist.
Eine kurze Geschichtsstunde:
Hier könnte etwas Geschichte nützlich sein: Exponential Smoothing-Modelle, Simple ES, Holts Modell und Holt-Winters wurden in den 50er Jahren entwickelt. Sie erwiesen sich als sehr nützlich und pragmatisch, waren jedoch vollständig "ad-hoc". Sie hatten keine zugrunde liegende statistische Theorie oder erste Prinzipien - sie waren eher ein Fall von: Wie können wir Zeitreihen in die Zukunft extrapolieren? Gleitende Durchschnitte sind ein guter erster Schritt, aber wir müssen dafür sorgen, dass der gleitende Durchschnitt besser auf aktuelle Beobachtungen reagiert. Warum fügen wir nicht einfach einen $ \ alpha $ span> -Parameter hinzu, der der jüngsten Beobachtung mehr Bedeutung beimisst? - So wurde die einfache exponentielle Glättung erfunden. Holt und Holt-Winters waren einfach die gleiche Idee, aber der Trend und die Saisonalität wurden aufgeteilt und dann mit ihren eigenen gewichteten gleitenden Durchschnittsmodellen geschätzt (daher der zusätzliche $ \ beta $ span > und $ \ gamma $ span> -Parameter). Tatsächlich sind in den ursprünglichen Formulierungen von ES die Parameter $ \ alpha $ span>, $ \ beta $ span>, und $ \ gamma $ span> wurden manuell ausgewählt, basierend auf ihrem Bauchgefühl und ihrem Domänenwissen.
Noch heute muss ich gelegentlich auf Anfragen vom Typ reagieren. "Die Verkäufe für diese bestimmte Produktsparte sind sehr reaktiv. Können Sie bitte den automatisierten Modellauswahlprozess überschreiben und den $ \ alpha $ span> bis 0,95 für uns" (Ahhh - ich denke mir - warum setzen Sie es dann nicht auf eine naive Prognose? Aber ich bin ein Ingenieur, also Ich kann einem Geschäftsmann so etwas nicht sagen.
Wie auch immer, ARIMA, das in den 1970er Jahren vorgeschlagen wurde, war in gewisser Weise eine direkte Reaktion auf Exponential Smoothing-Modelle. Während Ingenieure ES-Modelle liebten, waren Statistiker von ihnen entsetzt. Sie sehnten sich nach einem Modell, das zumindest theoretisch gerechtfertigt war. Und genau das haben Box und Jenkins getan, als sie ARIMA-Modelle entwickelten. Anstelle des Ad-hoc-Pragmatismus von ES-Modellen wurde der ARIMA-Ansatz von Grund auf unter Verwendung solider erster Prinzipien und äußerst strenger theoretischer Überlegungen entwickelt.
Und ARIMA-Modelle sind in der Tat sehr elegant und theoretisch überzeugend. Selbst wenn Sie in Ihrem ganzen Leben noch nie ein einziges ARIMA-Modell für die Produktion einsetzen, empfehle ich jedem, der sich für Zeitreihenprognosen interessiert, etwas Zeit zu widmen, um die Theorie hinter der Funktionsweise von ARIMA vollständig zu verstehen, da dies eine sehr gute Wirkung hat Verständnis, wie sich Zeitreihen im Allgemeinen verhalten.
Aber ARIMA hat sich empirisch nie gut geschlagen, siehe hier. Hyndman schreibt (und zitiert andere):
Viele der Diskussionsteilnehmer scheinen von ARIMA-Modellen begeistert zu sein.
„Es ist jedoch erstaunlich für mich, dass nach all dieser Übung beim Identifizieren von Modellen, Transformieren usw. die autoregressiven gleitenden Durchschnitte so schlecht herauskommen. Ich frage mich, ob es teilweise daran liegen könnte, dass die Autoren den Rückwärtsprognoseansatz nicht verwenden, um die anfänglichen Fehler zu erhalten. “ - W. G. Gilchrist
„Es fällt mir schwer zu glauben, dass Box-Jenkins bei richtiger Anwendung tatsächlich schlechter sein kann als so viele einfache Methoden“. - Chris Chatfield
Manchmal degenerierte die Diskussion, um die Kompetenz der Autoren in Frage zu stellen:
„Warum geben empirische Studien manchmal unterschiedliche Antworten?Es mag von der ausgewählten Stichprobe von Zeitreihen abhängen, aber ich vermute, dass es eher von den Fähigkeiten des Analytikers abhängt… diese Autoren sind mit einfachen Verfahren besser vertraut als mit Box-Jenkins. “- Chris Chatfield
Wenn ARIMA eine gute Leistung erbringt, geschieht dies nur, weil die ausgewählten Modelle Exponential Smoothing-Modellen entsprechen (es gibt einige Überschneidungen zwischen der ARIMA-Familie und der ES-Familie für $ ARIMA (S., d, q) $ span> mit niedrigen Werten von $ p $ span>, $ d $ span>,und $ q $ span> - siehe hier und hier für Details).
Ich erinnere mich, dass ich einmal mit einem sehr intelligenten Business-Prognostiker zusammengearbeitet habe, der einen starken statistischen Hintergrund hatte und unglücklich darüber war, dass unser Produktionssystem exponentielle Glättung verwendete, und wollte, dass wir stattdessen zu ARIMA wechseln. Also haben er und ich zusammengearbeitet, um einige ARIMA-Modelle zu testen. Er teilte mir mit, dass es in seinen früheren Jobs informelle Erkenntnisse darüber gab, dass ARIMA-Modelle niemals die Werte $ p $ span>, $ d $ span> oder $ q $ span> höher als 2. Ironischerweise bedeutete dies, dass die von uns getesteten ARIMA-Modelle alle mit oder identisch waren sehr nah an ES-Modellen. Es ist jedoch nicht die Schuld meines Kollegen, dass er diese Ironie verpasst hat. Die meisten Materialien für Einsteiger und MBA-Absolventen zur Modellierung von Zeitreihen konzentrieren sich signifikant oder vollständig auf ARIMA und implizieren (auch wenn sie dies nicht ausdrücklich sagen), dass es das Ende aller statistischen Prognosen ist. Dies ist wahrscheinlich ein Überbleibsel der Denkweise, auf die sich Hyndman in den 70er Jahren bezog, als Experten für akademische Prognosen in ARIMA "verliebt" waren. Darüber hinaus ist das allgemeine Framework, das ARIMA- und ES-Modelle vereint, eine relativ junge Entwicklung und wird nicht immer in Einführungstexten behandelt. Es ist auch mathematisch wesentlich komplexer als die Grundformulierungen von ARIMA- und ES-Modellen (Ich muss gestehen, dass ich meinen Kopf noch nicht vollständig darum gewickelt habe).
Ok, warum schneidet ARIMA so schlecht ab?
Mehrere Gründe, die in keiner bestimmten Reihenfolge aufgeführt sind:
-
ARIMA erfordert Polynomtrends: -Differenzierung wird verwendet, um den Trend aus einer Zeitreihe zu entfernen, damit er stationär ist, sodass autoregressive Modelle anwendbar sind. Siehe diesen vorherigen Beitrag für Details. Betrachten Sie eine Zeitreihe $$ Y (t) = L (t) + T (t) $$ span> mit $ L $ span> das Level und $ T $ span> der Trend (das meiste, was ich sage, gilt auch für saisonale Zeitreihen, aber der Einfachheit halber werde ich mich daran halten nur der Falltrend). Das Entfernen des Trends führt dazu, dass eine Transformation angewendet wird, die $ T (t) $ span> einer Konstanten $ T = c $ . Intuitiv ist die Differenzierungskomponente von ARIMA das diskrete Zeitäquivalent der Differenzierung. Das heißt, für eine diskrete Zeitreihe $ Y $ span> mit einer äquivalenten kontinuierlichen Zeitreihe $ Y_c $ span> Die Einstellung $ d = 1 $ span> ( $ Y_n '= Y_n - Y_ {n-1} $ span>) ist Entspricht der Berechnung von $$ \ frac {dY_c} {dt} $$ span> und der Einstellung von $ d = 2 $ span> entspricht $$ \ frac {d ^ 2Y_c} {dt ^ 2} $$ span> usw. Überlegen Sie nun, durch welche Art von kontinuierlichen Kurven Konstanten umgewandelt werden können sukzessive Differenzierung? Nur Polynome der Form $ T (t) = a_nt ^ n + a_ {n-1} t ^ {n-1} ... + a_1t + a_0 $ span> (nur? Es ist eine Weile her, seit ich Analysis studiert habe ...) - Beachten Sie, dass ein linearer Trend der Sonderfall ist, in dem $ T (t) = a_1t + a_0 $ span> . Bei allen anderen Kurven führt keine Anzahl aufeinanderfolgender Differenzierungen zu einem konstanten Wert (Berücksichtigung und Exponentialkurve oder Sinuswelle usw.). Gleiches gilt für die diskrete Zeitdifferenzierung: Sie wandelt die Reihe nur dann in eine mittlere stationäre um, wenn der Trend polynomisch ist. Aber wie viele reale Zeitreihen haben einen Polynomtrend höherer Ordnung ( $ n>2 $ span>)? Sehr wenige, wenn überhaupt. Daher ist die Auswahl einer Reihenfolge $ d>2 $ span> ein Rezept für eine Überanpassung (und manuell ausgewählte ARIMA-Modelle passen tatsächlich häufig über). Und für Trends niedrigerer Ordnung, $ d = 0,1,2 $ span>, befinden Sie sich im exponentiellen Glättungsgebiet (siehe auch hier die Äquivalenztabelle hier).
ARIMA-Modelle gehen von einem sehr spezifischen Datengenerierungsprozess aus: Der Datengenerierungsprozess bezieht sich im Allgemeinen auf das "wahre" Modell, das unsere Daten beschreibt, wenn wir sie direkt ohne Fehler oder Rauschen beobachten konnten. Beispielsweise kann ein $ ARIMA (2,0,0) $ span> -Modell als $$ Y_t = a_1Y_ {t- geschrieben werden 1} + a_2Y_ {t-2} + c + \ epsilon_t $$ span> mit $ \ epsilon_t $ span> modelliert die Fehler und das Rauschen und das wahre Modell ist $$ \ hat {Y} _t = a_1 \ hat {Y} _ {t-1} + a_2 \ hat {Y} _ {t-2} + c $$ span> Aber nur sehr wenige Geschäftszeitreihen haben ein solches "echtes Modell", z. B. warum sollte ein Verkaufsnachfragesignal oder eine Zeitreihe mit Gleichstromkapazität jemals einen DGP haben, der $$ \ hat {Y entspricht } _t = a_1 \ hat {Y} _ {t-1} + a_2 \ hat {Y} _ {t-2} + c ?? $$ span> Wenn wir etwas tiefer in die Struktur von ARIMA schauen Modelle erkennen wir, dass es sich tatsächlich um sehr komplexe Modelle handelt. Ein ARIMA-Modell entfernt zuerst den Trend und die Saisonalität, betrachtet dann die Residuen und versucht, sie als lineare Regression gegen übergebene Werte zu modellieren (daher "Auto" -Regression) - dies funktioniert nur, wenn die Residuen tatsächlich einen Komplex haben zugrunde liegender deterministischer Prozess. Viele (die meisten) Geschäftszeitreihen haben jedoch kaum genug Signal, um den Trend und die Saisonalität richtig zu erfassen, geschweige denn zu entfernen und dann eine zusätzliche autoregressive Struktur in den Residuen zu finden. Die meisten univariaten Geschäftszeitreihendaten sind dafür entweder zu verrauscht oder zu spärlich. Aus diesem Grund sind Holt-Winters und in jüngerer Zeit Facebook Prophet so beliebt: Sie müssen keine komplexen Muster in den Residuen mehr suchen und sie nur als gleitenden Durchschnitt modellieren oder sie überhaupt nicht modellieren (im Fall des Propheten). und konzentrieren sich hauptsächlich auf die Erfassung der Dynamik der Saisonalität und des Trends. Kurz gesagt, ARIMA-Modelle sind tatsächlich ziemlich komplex, und Komplexität führt häufig zu einer Überanpassung.
S Manchmal sind autoregressive Prozesse gerechtfertigt. Aufgrund der Stationaritätsanforderungen sind ARIMA AR-Prozesse jedoch sehr seltsam und kontraintuitiv. : Lassen Sie uns untersuchen, welche Arten von Prozessen tatsächlich einem automatisch regressiven Prozess entsprechen - dh welche Zeitreihen tatsächlich einen zugrunde liegenden DGP haben würden, der einem $ AR (p) $ span> -Modell. Dies ist beispielsweise mit einem Zellpopulationswachstumsmodell möglich, bei dem sich jede Zelle durch Teilen in 2 reproduziert und daher die Population $ P (t_n) $ span> vernünftigerweise angenähert werden könnte von $ P_n = 2P_ {n-1} + \ epsilon_t $ span>. Da hier $ a = 2 $ span> ( $ >1 $ span>) ist der Prozess nicht stationär und kann nicht mit ARIMA modelliert werden. Die meisten "natürlichen" $ AR (p) $ span> -Modelle haben auch kein echtes Modell der Form $$ \ hat { Y} _t = a_1 \ hat {Y} _ {t-1} + a_2 \ hat {Y} _ {t-2} ... + a_p \ hat {Y} _ {tp} + c $$ span > Dies liegt an der Stationaritätsanforderung: Damit der Mittelwert $ c $ span> konstant bleibt, gelten sehr strenge Anforderungen an die Werte von $ a_1, a_2, ..., a_p $ span> (siehe diesen vorherigen Beitrag), um sicherzustellen, dass $ \ hat {Y. } _t $ span> weicht nie zu weit vom Mittelwert ab. Grundsätzlich müssen sich $ a_1, a_2, ..., a_p $ span> gegenseitig aufheben $$ \ sum_ { j = 1} ^ pa_j<1 $$ span> Andernfalls ist das Modell nicht stationär (darum geht es bei all dem Zeug über Einheitswurzeln und Z-Transformationen). Diese Implikation führt zu sehr seltsamen DGPs, wenn wir sie als "wahre Modelle" einer Geschäftszeitreihe betrachten: z. Wir haben eine Verkaufszeitreihe oder eine Stromlastzeitreihe usw. Welche Art von Kausalzusammenhängen müsste auftreten, um sicherzustellen, dass $$ \ sum_ {j = 1} ^ pa_j<1? $$ span> z Welche Art von wirtschaftlichem oder sozialem Prozess könnte jemals zu einer Situation führen, in der die verminderten Umsätze vor 3 Wochen immer gleich der Summe der Umsätze von vor 2 Wochen und der Umsätze von letzter Woche sind? Ein solcher Prozess wäre gelinde gesagt ausgefallen. Um es noch einmal zusammenzufassen: Während es reale Prozesse gibt, die einem autoregressiven Modell entsprechen können, sind sie fast nie stationär (wenn sich jemand ein Gegenbeispiel vorstellen kann - das ist ein natürlich vorkommender stationärer AR (p) -Prozess, teilen Sie bitte, Ich habe eine Weile nach einem gesucht) . Ein stationärer AR (p) -Prozess verhält sich auf seltsame und kontraintuitive Weise (mehr oder weniger oszillierend um den Mittelwert), die es sehr schwierig macht, sie auf natürlich erklärbare Weise an Geschäftszeitreihendaten anzupassen.
Hyndman erwähnt dies (mit stärkeren Worten als meine) in dem oben genannten Artikel:
Dies zeigt eine weit verbreitete Ansicht (auch heute noch), dass es ein einzelnes Modell gibt, das den Datenerzeugungsprozess beschreibt, und dass es die Aufgabe eines Prognostikers ist, ihn zu finden. Dies erscheint mir offensichtlich absurd - echte Daten stammen aus Prozessen, die viel komplizierter, nicht linearer und nicht stationärer sind als jedes Modell, das wir uns erträumen könnten - und George Box selbst lehnte es bekanntermaßen ab und sagte: „Alle Modelle sind falsch, aber einige sind falsch nützlich ”.
But was ist mit den 'guten' ARIMA-Tools?
An dieser Stelle wird auf einige moderne Tools und Pakete hingewiesen, die ARIMA verwenden und in den meisten vernünftigen Zeitreihen (nicht zu laut oder zu spärlich) sehr gut funktionieren, z. B. auto.arima () aus dem R Forecast-Paket oder BigQuery ARIMA. Diese Tools basieren in der Tat auf ausgeklügelten Modellauswahlverfahren, mit denen sichergestellt werden kann, dass die ausgewählten $ p-, d-, q $ span> -Aufträge optimal sind (BigQuery ARIMA verwendet ebenfalls) weitaus ausgefeiltere Saisonalitäts- und Trendmodellierung als die Standardmodelle ARIMA und SARIMA). Mit anderen Worten, sie sind weder die ARIMA Ihrer Großeltern (noch die, die in den meisten einführenden Texten für Hochschulabsolventen gelehrt wird ...) und generieren normalerweise Modelle mit einem niedrigen $ p, d, q $ span> Werte sowieso (nach richtiger Vorverarbeitung natürlich). Jetzt, wo ich darüber nachdenke, kann ich mich nicht erinnern, jemals auto.arima () für eine arbeitsbezogene Zeitreihe verwendet und $ p, d, q > 1 $ erhalten zu haben span>, obwohl ich einmal mit auto.arima () in der Zeitreihe Air Passengers den Wert $ q = 3 $ span> erhalten habe.
Conclusion
Lernen Sie traditionelle ARIMA-Modelle ein und aus, aber verwenden Sie sie nicht.Halten Sie sich an Zustandsraummodelle (unglaublich anspruchsvolle Nachkommen von ES) oder verwenden Sie moderne automatisierte ARIMA-Modellpakete (die ohnehin Zustandsraummodellen unter der Haube sehr ähnlich sind).