Autoregressiver integrierter gleitender Durchschnitt - Autoregressive integrated moving average

In der Statistik und Ökonometrie und insbesondere in der Zeitreihenanalyse ist ein autoregressives integriertes Modell mit gleitendem Durchschnitt (ARIMA) eine Verallgemeinerung eines Modells mit autoregressivem gleitendem Durchschnitt (ARMA). Beide Modelle werden an Zeitreihendaten angepasst, um die Daten besser zu verstehen oder zukünftige Punkte in der Reihe vorherzusagen ( Prognose ). ARIMA-Modelle werden in einigen Fällen angewendet, in denen Daten Hinweise auf Nichtstationarität im Sinne des Mittelwerts (jedoch nicht der Varianz / Autokovarianz ) zeigen, wobei ein anfänglicher Differenzierungsschritt (entsprechend dem "integrierten" Teil des Modells) angewendet werden kann oder mehrmals, um die Nichtstationarität der mittleren Funktion (dh den Trend) zu beseitigen. Wenn die Saisonalität in einer Zeitreihe angezeigt wird, könnte die saisonale Differenzierung angewendet werden, um die saisonale Komponente zu eliminieren. Da das ARMA- Modell nach dem Woldschen Zerlegungssatz theoretisch ausreicht, um eine reguläre (auch als rein nicht deterministisch bezeichnete) stationäre Zeitreihe mit weitem Sinn zu beschreiben , sind wir motiviert, stationär zu einer nicht stationären Zeitreihe zu machen, z. bevor wir das ARMA- Modell verwenden können. Beachten Sie, dass, wenn die Zeitreihe einen vorhersagbaren Teilprozess enthält (auch bekannt als reiner Sinus oder Exponentialprozess mit komplexem Wert), die vorhersagbare Komponente im ARIMA-Framework als nicht null-mittlere, aber periodische (dh saisonale) Komponente behandelt wird es wird durch die saisonale Differenzierung beseitigt.

Der AR Teil ARIMA zeigt an, dass die sich entwickelnde interessierende Variable ist regressiert auf seiner eigenen verzögerten (dh vor) -Werten. Der MA- Teil zeigt an, dass der Regressionsfehler tatsächlich eine lineare Kombination von Fehlertermen ist, deren Werte gleichzeitig und zu verschiedenen Zeitpunkten in der Vergangenheit aufgetreten sind. Das I (für "integriert") zeigt an, dass die Datenwerte durch die Differenz zwischen ihren Werten und den vorherigen Werten ersetzt wurden (und dieser Differenzierungsprozess wurde möglicherweise mehr als einmal durchgeführt). Der Zweck jeder dieser Funktionen besteht darin, das Modell so gut wie möglich an die Daten anzupassen.

Nicht-saisonale ARIMA-Modelle werden im Allgemeinen als ARIMA ( p , d , q ) bezeichnet, wobei die Parameter p , d und q nicht negative ganze Zahlen sind, p die Reihenfolge (Anzahl der Zeitverzögerungen) des autoregressiven Modells ist , d der Grad von ist Differenzierung (die Häufigkeit, mit der die Daten von früheren Werten abgezogen wurden), und q ist die Reihenfolge des gleitenden Durchschnittsmodells . Saisonale ARIMA-Modelle werden normalerweise als ARIMA ( p , d , q ) ( P , D , Q ) m bezeichnet , wobei m sich auf die Anzahl der Perioden in jeder Saison bezieht und sich die Großbuchstaben P , D , Q auf das autoregressive, differenzierende Modell beziehen. und gleitende Durchschnittsbedingungen für den saisonalen Teil des ARIMA-Modells.

Wenn zwei der drei Begriffe Nullen sind, kann auf das Modell basierend auf dem Nicht-Null-Parameter Bezug genommen werden, wobei " AR ", " I " oder " MA " aus dem das Modell beschreibenden Akronym entfernt werden. Zum Beispiel ist AR (1) , ist I (1) und ist MA (1) .

ARIMA-Modelle können nach dem Box-Jenkins- Ansatz geschätzt werden .

Definition

Bei gegebenen Zeitreihendaten X t, wobei t ein ganzzahliger Index und X t reelle Zahlen sind, ist ein Modell gegeben durch

oder gleichwertig durch

Wo ist der Verzögerungsoperator , das sind die Parameter des autoregressiven Teils des Modells, das sind die Parameter des gleitenden Durchschnittsteils und die sind Fehlerterme. Es wird allgemein angenommen, dass die Fehlerterme unabhängige, identisch verteilte Variablen sind, die aus einer Normalverteilung mit dem Mittelwert Null abgetastet wurden .

Nehmen wir nun an, dass das Polynom eine Einheitswurzel (einen Faktor ) der Multiplizität d hat . Dann kann es wie folgt umgeschrieben werden:

Ein ARIMA ( p , d , q ) -Prozess drückt diese Polynomfaktorisierungseigenschaft mit p = p'- d aus und ist gegeben durch:

und kann daher als ein besonderer Fall eines ARMA ( p + d , q ) -Prozesses mit dem autoregressiven Polynom mit d Einheitswurzeln angesehen werden. (Aus diesem Grund ist kein Prozess, der von einem ARIMA-Modell mit d  > 0 genau beschrieben wird, weithin stationär .)

Das Obige kann wie folgt verallgemeinert werden.

Dies definiert einen ARIMA- Prozess ( p , d , q ) mit Drift .

Andere Sonderformen

Die explizite Identifizierung der Faktorisierung des Autoregressionspolynoms in Faktoren wie oben kann auf andere Fälle ausgedehnt werden, um erstens auf das gleitende Durchschnittspolynom anzuwenden und zweitens andere spezielle Faktoren einzuschließen. Zum Beispiel ist ein Faktor in einem Modell eine Möglichkeit, eine instationäre Saisonalität von Perioden s in das Modell aufzunehmen; Dieser Faktor bewirkt, dass die Daten als Änderungen gegenüber den Zeiträumen von s erneut ausgedrückt werden. Ein weiteres Beispiel ist der Faktor , der eine (instationäre) Saisonalität von Periode 2 enthält. Der erste Faktortyp bewirkt, dass der Wert jeder Saison separat über die Zeit driftet, während sich die Werte des zweiten Typs für benachbarte Jahreszeiten zusammen bewegen .

Die Identifizierung und Spezifikation geeigneter Faktoren in einem ARIMA-Modell kann ein wichtiger Schritt bei der Modellierung sein, da dadurch eine Verringerung der Gesamtzahl der zu schätzenden Parameter ermöglicht werden kann, während dem Modell Verhaltensarten auferlegt werden können, die Logik und Erfahrung vorschlagen sollten da sein.

Differenzierung

Die Eigenschaften einer stationären Zeitreihe hängen nicht von dem Zeitpunkt ab, zu dem die Reihe beobachtet wird. Insbesondere für eine stationäre Zeitreihe mit weitem Sinn bleiben der Mittelwert und die Varianz / Autokovarianz über die Zeit konstant. Das Differenzieren in der Statistik ist eine Transformation, die auf eine nicht stationäre Zeitreihe angewendet wird, um sie im mittleren Sinne stationär zu machen (dh um den nicht konstanten Trend zu entfernen), aber nichts mit der Nichtstationarität der Zeitreihe zu tun hat Varianz / Autokovarianz . Ebenso wird die saisonale Differenzierung auf eine saisonale Zeitreihe angewendet, um die saisonale Komponente zu entfernen. Aus der Perspektive der Signalverarbeitung, insbesondere der Fourier-Spektralanalysetheorie , ist der Trend der niederfrequente Teil im Spektrum einer instationären Zeitreihe, während die Jahreszeit der periodische Frequenzteil im Spektrum davon ist. Daher arbeitet die Differenzierung als Hochpassfilter (dh als Low-Stop-Filter) und die saisonale Differenzierung als Kammfilter , um den Niederfrequenztrend und die periodische Frequenzsaison im Spektrumsbereich (und nicht direkt im) zu unterdrücken Zeitbereich). Diese Perspektive erklärt die Philosophie, Mathematik, Kraft und Nachteile der Differenzierung und der saisonalen Differenzierung.

Um die Daten zu unterscheiden, wird die Differenz zwischen aufeinanderfolgenden Beobachtungen berechnet. Mathematisch wird dies als dargestellt

Durch die Differenzierung werden die Änderungen des Niveaus einer Zeitreihe entfernt, wodurch Trend und Saisonalität beseitigt und folglich der Mittelwert der Zeitreihe stabilisiert wird.

Manchmal kann es erforderlich sein, die Daten ein zweites Mal zu differenzieren, um eine stationäre Zeitreihe zu erhalten, die als Differenzierung zweiter Ordnung bezeichnet wird :

Eine andere Methode zur Differenzierung von Daten ist die saisonale Differenzierung, bei der die Differenz zwischen einer Beobachtung und der entsprechenden Beobachtung in der vorherigen Saison, z. B. einem Jahr, berechnet wird. Dies wird gezeigt als:

Die differenzierten Daten werden dann zur Schätzung eines ARMA- Modells verwendet.

Beispiele

Einige bekannte Sonderfälle treten auf natürliche Weise auf oder sind mathematisch äquivalent zu anderen gängigen Prognosemodellen. Beispielsweise:

  • Ein ARIMA (0, 1, 0) -Modell (oder I (1) -Modell) ist gegeben durch - was einfach ein zufälliger Spaziergang ist .
  • Eine ARIMA (0, 1, 0) mit einer Konstanten, gegeben durch - das ist ein zufälliger Spaziergang mit Drift.
  • Ein ARIMA-Modell (0, 0, 0) ist ein Modell mit weißem Rauschen .
  • Ein ARIMA (0, 1, 2) -Modell ist ein Damped Holt-Modell.
  • Ein ARIMA-Modell (0, 1, 1) ohne Konstante ist ein grundlegendes exponentielles Glättungsmodell .
  • Ein ARIMA (0, 2, 2) -Modell ist gegeben durch - was Holts linearer Methode mit additiven Fehlern oder doppelter exponentieller Glättung entspricht .

Bestellung auswählen

Die Reihenfolge p und q kann unter Verwendung der Probenautokorrelationsfunktion (ACF), der partiellen Autokorrelationsfunktion (PACF) und / oder der erweiterten Autokorrelationsfunktion (EACF) bestimmt werden.

Andere alternative Methoden umfassen AIC, BIC usw. Um die Reihenfolge eines nicht saisonalen ARIMA-Modells zu bestimmen, ist das Akaike-Informationskriterium (AIC) ein nützliches Kriterium . Es ist geschrieben als

Dabei ist L die Wahrscheinlichkeit der Daten, p die Reihenfolge des autoregressiven Teils und q die Reihenfolge des gleitenden Durchschnitts. Das k repräsentiert den Achsenabschnitt des ARIMA-Modells. Wenn für AIC k = 1 ist, gibt es im ARIMA-Modell einen Achsenabschnitt ( c ≠ 0), und wenn k = 0 ist, gibt es im ARIMA-Modell keinen Achsenabschnitt ( c = 0).

Der korrigierte AIC für ARIMA-Modelle kann wie folgt geschrieben werden

Das Bayesian Information Criterion (BIC) kann wie folgt geschrieben werden

Ziel ist es, die AIC-, AICc- oder BIC-Werte für ein gutes Modell zu minimieren. Je niedriger der Wert eines dieser Kriterien für eine Reihe von untersuchten Modellen ist, desto besser passt das Modell zu den Daten. Der AIC und der BIC werden für zwei völlig unterschiedliche Zwecke verwendet. Während der AIC versucht, Modelle an die Realität der Situation anzupassen, versucht der BIC, die perfekte Anpassung zu finden. Der BIC-Ansatz wird häufig kritisiert, da er niemals perfekt zu komplexen Daten im wirklichen Leben passt. Es ist jedoch immer noch eine nützliche Methode zur Auswahl, da Modelle stärker dafür bestraft werden, dass sie mehr Parameter haben als der AIC.

AICc kann nur verwendet werden, um ARIMA-Modelle mit denselben Differenzierungsreihenfolgen zu vergleichen. Für ARIMAs mit unterschiedlichen Differenzierungsreihenfolgen kann RMSE für den Modellvergleich verwendet werden.

Schätzung der Koeffizienten

Prognosen mit ARIMA-Modellen

Das ARIMA-Modell kann als "Kaskade" zweier Modelle angesehen werden. Der erste ist nicht stationär:

während die zweite weitestgehend stationär ist :

Jetzt können Vorhersagen für den Prozess unter Verwendung einer Verallgemeinerung der Methode der autoregressiven Vorhersage gemacht werden .

Prognoseintervalle

Die Prognoseintervalle ( Konfidenzintervalle für Prognosen) für ARIMA-Modelle basieren auf Annahmen, dass die Residuen nicht korreliert und normalverteilt sind. Wenn eine dieser Annahmen nicht zutrifft, sind die Prognoseintervalle möglicherweise falsch. Aus diesem Grund zeichnen die Forscher den ACF und das Histogramm der Residuen auf, um die Annahmen zu überprüfen, bevor Prognoseintervalle erstellt werden.

95% Prognoseintervall : , wo ist die Varianz von .

Für , für alle ARIMA - Modelle unabhängig von Parametern und Aufträgen.

Für ARIMA (0,0, q) gilt

Im Allgemeinen werden die Prognoseintervalle von ARIMA-Modellen mit zunehmendem Prognosehorizont zunehmen.

Variationen und Erweiterungen

Eine Reihe von Variationen des ARIMA-Modells werden üblicherweise verwendet. Wenn mehrere Zeitreihen verwendet werden, kann dies als Vektor betrachtet werden, und ein VARIMA-Modell kann geeignet sein. Manchmal wird im Modell ein saisonaler Effekt vermutet; In diesem Fall wird es im Allgemeinen als besser angesehen, ein SARIMA-Modell (saisonales ARIMA-Modell) zu verwenden, als die Reihenfolge der AR- oder MA-Teile des Modells zu erhöhen. Wenn der Verdacht besteht , dass die Zeitreihe eine Fernabhängigkeit aufweist , kann der Parameter d in einem autoregressiven fraktional integrierten Modell mit gleitendem Durchschnitt , das auch als Fractional ARIMA (FARIMA oder ARFIMA) -Modell bezeichnet wird, nicht ganzzahlige Werte aufweisen.

Software-Implementierungen

Verschiedene Pakete, die Methoden wie die Box-Jenkins- Parameteroptimierung anwenden, sind verfügbar, um die richtigen Parameter für das ARIMA-Modell zu finden.

  • EViews : verfügt über umfangreiche ARIMA- und SARIMA-Funktionen.
  • Julia : enthält eine ARIMA-Implementierung im TimeModels-Paket
  • Mathematica : Enthält die ARIMAProcess- Funktion.
  • MATLAB : Die Econometrics Toolbox enthält ARIMA-Modelle und Regressionen mit ARIMA-Fehlern
  • NCSS : Enthält mehrere Verfahren zum ARIMA Anpassen und Prognostizieren.
  • Python : Das Paket "statsmodels" enthält Modelle für die Zeitreihenanalyse - univariate Zeitreihenanalyse: AR, ARIMA - autoregressive Vektormodelle, VAR und strukturelle VAR - deskriptive Statistiken und Prozessmodelle für die Zeitreihenanalyse.
  • R : Das Standard-R- Statistikpaket enthält eine Arima- Funktion, die in "ARIMA-Modellierung von Zeitreihen" dokumentiert ist . Neben dem Teil umfasst die Funktion auch saisonale Faktoren, einen Intercept-Term und exogene Variablen ( xreg , genannt "externe Regressoren"). Die CRAN-Aufgabenansicht für Zeitreihen ist die Referenz mit vielen weiteren Links. Das "Prognose" -Paket in R kann mit der Funktion automatisch ein ARIMA-Modell für eine bestimmte Zeitreihe auswählen und mit seiner Funktion auch saisonale und nicht saisonale ARIMA-Modelle simulieren . auto.arima()simulate.Arima()
  • Ruby : Das Juwel "statsample-timeseries" wird für die Zeitreihenanalyse verwendet, einschließlich ARIMA-Modellen und Kalman-Filterung.
  • JavaScript : Das "arima" -Paket enthält Modelle für die Analyse und Vorhersage von Zeitreihen (ARIMA, SARIMA, SARIMAX, AutoARIMA).
  • C : Das "ctsa" -Paket enthält ARIMA, SARIMA, SARIMAX, AutoARIMA und mehrere Methoden zur Zeitreihenanalyse.
  • SAFE TOOLBOXES : Beinhaltet ARIMA-Modellierung und Regression mit ARIMA-Fehlern .
  • SAS : Enthält eine umfassende ARIMA-Verarbeitung in seinem ökonometrischen und Zeitreihenanalysesystem: SAS / ETS.
  • IBM SPSS : enthält ARIMA-Modellierung in seinen Statistik- und Modeler-Statistikpaketen. Die Standardfunktion von Expert Modeler wertet eine Reihe von Einstellungen für saisonale und nicht saisonale autoregressive ( p ), integrierte ( d ) und gleitende Durchschnittswerte ( q ) sowie sieben exponentielle Glättungsmodelle aus. Der Expert Modeler kann die Zielzeitreihendaten auch in seine Quadratwurzel oder sein natürliches Protokoll umwandeln. Der Benutzer hat auch die Möglichkeit, den Expert Modeler auf ARIMA-Modelle zu beschränken oder die nicht saisonalen und saisonalen p- , d- und q- Einstellungen von ARIMA ohne Expert Modeler manuell einzugeben . Die automatische Ausreißererkennung ist für sieben Arten von Ausreißern verfügbar. Wenn diese Funktion ausgewählt ist, werden die erkannten Ausreißer im Zeitreihenmodell berücksichtigt.
  • SAP : Das APO-FCS-Paket in SAP ERP von SAP ermöglicht die Erstellung und Anpassung von ARIMA-Modellen nach der Box-Jenkins-Methode.
  • SQL Server Analysis Services : von Microsoft enthält ARIMA als Data Mining-Algorithmus.
  • Stata enthält ab Stata 9 die ARIMA-Modellierung (mit dem Befehl arima).
  • StatSim : Enthält ARIMA-Modelle in der Forecast- Webanwendung.
  • Teradata Vantage hat die ARIMA-Funktion als Teil seiner Engine für maschinelles Lernen.
  • TOL (Time Oriented Language) dient zur Modellierung von ARIMA-Modellen (einschließlich SARIMA-, ARIMAX- und DSARIMAX-Varianten) [1] .
  • Scala : Die Spark-Timeseries- Bibliothek enthält die ARIMA-Implementierung für Scala, Java und Python. Die Implementierung kann unter Apache Spark ausgeführt werden .
  • PostgreSQL / MadLib: Zeitreihenanalyse / ARIMA .
  • X-12-ARIMA : vom US Bureau of the Census

Siehe auch

Verweise

Weiterführende Literatur

Externe Links