Sunday 22 October 2017

Autoregressive Moving Average Implementierung


Autoregressive Moving-Average-Fehlerprozesse (ARMA-Fehler) und andere Modelle, die Lags von Fehlertermen beinhalten, können durch Verwendung von FIT-Anweisungen geschätzt und mit Hilfe von SOLVE-Anweisungen simuliert oder prognostiziert werden. ARMA-Modelle für den Fehlerprozess werden oft für Modelle mit autokorrelierten Residuen verwendet. Mit dem AR-Makro können Modelle mit autoregressiven Fehlerprozessen spezifiziert werden. Mit dem MA-Makro können Modelle mit gleitenden Durchschnittsfehlern angegeben werden. Autoregressive Fehler Ein Modell mit autoregressiven Fehler erster Ordnung, AR (1), hat die Form, während ein AR (2) Fehlerprozess die Form hat und so weiter für Prozesse höherer Ordnung. Beachten Sie, dass die s unabhängig und identisch verteilt sind und einen Erwartungswert von 0 haben. Ein Beispiel für ein Modell mit einer AR (2) - Komponente ist usw. für Prozesse höherer Ordnung. Zum Beispiel können Sie ein einfaches lineares Regressionsmodell mit MA (2) gleitenden Durchschnittsfehlern schreiben, da MA1 und MA2 die gleitenden Mittelwerte sind. Beachten Sie, dass RESID. Y automatisch durch PROC MODEL definiert wird. Die ZLAG-Funktion muss für MA-Modelle verwendet werden, um die Rekursion der Verzögerungen zu verkürzen. Dadurch wird sichergestellt, dass die verzögerten Fehler in der Lag-Priming-Phase bei Null beginnen und keine fehlenden Werte propagieren, wenn Verzögerungsperiodenvariablen fehlen, und stellt sicher, dass die zukünftigen Fehler null sind, anstatt während Simulation oder Prognose fehlen. Einzelheiten zu den Verzögerungsfunktionen finden Sie im Abschnitt Lag Logic. Dieses mit dem MA-Makro geschriebene Modell lautet wie folgt: Allgemeine Form für ARMA-Modelle Das allgemeine ARMA-Verfahren (p, q) hat die folgende Form Ein ARMA-Modell (p, q) kann wie folgt angegeben werden: wobei AR i und MA j repräsentieren Die autoregressiven und gleitenden Durchschnittsparameter für die verschiedenen Verzögerungen. Sie können beliebige Namen für diese Variablen verwenden, und es gibt viele äquivalente Möglichkeiten, die die Spezifikation geschrieben werden könnte. Vektor-ARMA-Prozesse können auch mit PROC MODEL geschätzt werden. Beispielsweise kann ein zweidimensionaler AR (1) - Prozeß für die Fehler der beiden endogenen Variablen Y1 und Y2 wie folgt spezifiziert werden: Konvergenzprobleme mit ARMA-Modellen ARMA-Modelle können schwer abzuschätzen sein. Wenn die Parameterschätzwerte nicht innerhalb des geeigneten Bereichs liegen, wachsen exponentiell gleitende Modellrestriktionen. Die berechneten Residuen für spätere Beobachtungen können sehr groß oder überlaufen sein. Dies kann entweder geschehen, weil falsche Startwerte verwendet wurden oder weil sich die Iterationen von vernünftigen Werten entfernt haben. Bei der Auswahl der Anfangswerte für ARMA-Parameter sollte Sorgfalt angewendet werden. Startwerte von 0,001 für ARMA-Parameter arbeiten normalerweise, wenn das Modell die Daten gut passt und das Problem gut konditioniert ist. Man beachte, dass ein MA-Modell oft durch ein höherwertiges AR-Modell angenähert werden kann und umgekehrt. Dies kann zu einer hohen Kollinearität bei gemischten ARMA-Modellen führen, was wiederum zu ernsthaften Konditionierungen in den Berechnungen und der Instabilität der Parameterschätzungen führen kann. Wenn Sie Konvergenzprobleme haben, während Sie ein Modell mit ARMA-Fehlerprozessen schätzen, versuchen Sie in Schritten abzuschätzen. Zuerst verwenden Sie eine FIT-Anweisung, um nur die Strukturparameter mit den auf Null gehaltenen ARMA-Parametern zu schätzen (oder zu vernünftigen vorherigen Schätzungen, falls verfügbar). Als nächstes verwenden Sie eine andere FIT-Anweisung, um die ARMA-Parameter nur unter Verwendung der strukturellen Parameterwerte aus dem ersten Lauf zu schätzen. Da die Werte der Strukturparameter wahrscheinlich nahe an ihren endgültigen Schätzwerten liegen, können die ARMA-Parameterschätzungen nun konvergieren. Verwenden Sie schließlich eine andere FIT-Anweisung, um simultane Schätzungen aller Parameter zu erzeugen. Da die Anfangswerte der Parameter nun sehr nahe an ihren endgültigen gemeinsamen Schätzungen liegen, sollten die Schätzungen schnell zusammenlaufen, wenn das Modell für die Daten geeignet ist. AR Anfangsbedingungen Die Anfangsverzögerungen der Fehlerterme von AR (p) - Modellen können auf unterschiedliche Weise modelliert werden. Die von den SAS-ETS-Prozeduren unterstützten autoregressiven Fehlerstartmethoden sind die folgenden: bedingte kleinste Fehlerquadrate (ARIMA - und MODEL-Prozeduren) unbedingte kleinste Fehlerquadrate (AUTOREG-, ARIMA - und MODEL-Prozeduren) maximale Wahrscheinlichkeit (AUTOREG-, ARIMA - und MODEL-Prozeduren) Yule - AUTOREG-Verfahren) Hildreth-Lu, das die ersten p-Beobachtungen löscht (nur MODELL-Prozedur) Siehe Kapitel 8, Die AUTOREG-Prozedur, für eine Erklärung und Diskussion der Vorzüge verschiedener AR (p) - Startmethoden. Die CLS-, ULS-, ML - und HL-Initialisierungen können mit PROC MODEL durchgeführt werden. Für AR (1) Fehler können diese Initialisierungen wie in Tabelle 18.2 gezeigt erzeugt werden. Diese Verfahren sind in großen Proben äquivalent. Tabelle 18.2 Initialisierungen durchgeführt von PROC MODELL: AR (1) ERRORS Die anfänglichen Verzögerungen der Fehlerausdrücke von MA (q) - Modellen können auch auf unterschiedliche Weise modelliert werden. Die folgenden gleitenden durchschnittlichen Fehlerstartparadigmen werden von den ARIMA - und MODEL-Prozeduren unterstützt: unbedingte kleinste Fehlerquadrate bedingte kleinste Fehlerquadrate Die bedingte Methode der kleinsten Fehlerquadrate zur Schätzung der gleitenden durchschnittlichen Fehlerterme ist nicht optimal, da sie das Startproblem ignoriert. Dies verringert die Effizienz der Schätzungen, obwohl sie unverändert bleiben. Die anfänglichen verzögerten Residuen, die sich vor dem Start der Daten erstrecken, werden als 0 angenommen, ihr unbedingter Erwartungswert. Dies führt zu einer Differenz zwischen diesen Residuen und den verallgemeinerten Resten der kleinsten Quadrate für die gleitende durchschnittliche Kovarianz, die im Gegensatz zum autoregressiven Modell durch den Datensatz fortbesteht. Normalerweise konvergiert diese Differenz schnell auf 0, aber für fast nicht-invertierbare gleitende Durchschnittsprozesse ist die Konvergenz ziemlich langsam. Um dieses Problem zu minimieren, sollten Sie viele Daten haben, und die gleitenden Durchschnittsparameter-Schätzungen sollten gut innerhalb des invertiblen Bereichs liegen. Dieses Problem kann auf Kosten des Schreibens eines komplexeren Programms korrigiert werden. Unbedingte Kleinste-Quadrate-Schätzungen für das MA (1) - Prozeß können durch Spezifizieren des Modells wie folgt erzeugt werden: Gleitende Durchschnittsfehler können schwer abgeschätzt werden. Man sollte erwägen, eine AR (p) - Näherung für den gleitenden Durchschnitt zu verwenden. Ein gleitender Durchschnitt kann in der Regel durch einen autoregressiven Prozess gut approximiert werden, wenn die Daten nicht geglättet oder differenziert sind. Das AR-Makro Das SAS-Makro AR erzeugt Programmieranweisungen für PROC MODEL für autoregressive Modelle. Das AR-Makro ist Teil der SAS-ETS-Software, und es sind keine speziellen Optionen erforderlich, um das Makro zu verwenden. Das autoregressive Verfahren kann auf die strukturellen Gleichungsfehler oder auf die endogenen Reihen selbst angewendet werden. Das AR-Makro kann für folgende Arten von Autoregression verwendet werden: uneingeschränkte Vektorautoregression beschränkte Vektorautoregression Univariate Autoregression Um den Fehlerausdruck einer Gleichung als autoregressiven Prozess zu modellieren, verwenden Sie die folgende Anweisung nach der Gleichung: Angenommen, Y ist eine Linearen Funktion von X1, X2 und einem AR (2) Fehler. Sie würden dieses Modell wie folgt schreiben: Die Aufrufe zu AR müssen nach allen Gleichungen kommen, auf die sich der Prozess bezieht. Der vorhergehende Makroaufruf AR (y, 2) erzeugt die in der LIST-Ausgabe in Abbildung 18.58 gezeigten Anweisungen. Abbildung 18.58 LIST Optionsausgabe für ein AR (2) - Modell Die PRED-Präfixvariablen sind temporäre Programmvariablen, die verwendet werden, so dass die Verzögerungen der Residuen die korrekten Residuen sind und nicht die, die durch diese Gleichung neu definiert werden. Beachten Sie, dass dies den Aussagen entspricht, die explizit im Abschnitt Allgemeine Formulare für ARMA-Modelle beschrieben sind. Sie können die autoregressiven Parameter auch bei ausgewählten Verzögerungen auf Null setzen. Wenn Sie zum Beispiel autoregressive Parameter in den Lags 1, 12 und 13 wünschen, können Sie die folgenden Anweisungen verwenden: Diese Anweisungen erzeugen die in Abbildung 18.59 dargestellte Ausgabe. Abbildung 18.59 LIST-Option Ausgang für ein AR-Modell mit Lags bei 1, 12 und 13 Die MODEL-Prozedurauflistung der kompilierten Programmcode-Anweisung als Parsed PRED. yab x1 c x2 RESID. y PRED. y - ACTUAL. y ERROR. y PRED. Y - y OLDPRED. y PRED. y yl1 ZLAG1 (y - perdy) yl12 ZLAG12 (y - perdy) yl13 ZLAG13 (y - perdy) RESID. y PRED. y - ACTUAL. y ERROR. y PRED. y - y Es gibt Variationen der Methode der bedingten Kleinste-Quadrate, je nachdem, ob Beobachtungen am Anfang der Serie zum Aufwärmen des AR-Prozesses verwendet werden. Die AR-bedingte Methode der kleinsten Quadrate verwendet standardmäßig alle Beobachtungen und nimmt Nullen für die Anfangsverzögerungen autoregressiver Terme an. Wenn Sie die M-Option verwenden, können Sie anfordern, dass AR die unbedingte Methode der kleinsten Fehlerquadrate (ULS) oder Maximum-Likelihood (ML) anwendet. Zum Beispiel, Diskussionen dieser Methoden wird im Abschnitt AR Anfangsbedingungen zur Verfügung gestellt. Unter Verwendung der Option MCLS n können Sie anfordern, dass die ersten n Beobachtungen verwendet werden, um Schätzungen der anfänglichen autoregressiven Verzögerungen zu berechnen. In diesem Fall beginnt die Analyse mit der Beobachtung n 1. Beispielsweise können Sie mit dem AR-Makro ein autoregressives Modell an die endogene Variable anstelle des Fehlerterms über die Option TYPEV anwenden. Wenn Sie beispielsweise die fünf letzten Lags von Y der Gleichung im vorherigen Beispiel hinzufügen möchten, können Sie AR verwenden, um die Parameter und die Lags mit den folgenden Anweisungen zu generieren: Die obigen Anweisungen erzeugen die in Abbildung 18.60 dargestellte Ausgabe. Abbildung 18.60 LIST Option Ausgang für ein AR-Modell von Y Dieses Modell prognostiziert Y als lineare Kombination von X1, X2, einem Intercept und den Werten von Y in den letzten fünf Perioden. Unrestricted Vector Autoregression Um die Fehlerausdrücke eines Gleichungssystems als vektorautoregressiven Prozess zu modellieren, verwenden Sie die folgende Form des AR-Makros nach den Gleichungen: Der Name des Prozessnamens ist ein beliebiger Name, den Sie für AR verwenden, um Namen für den autoregressiven Namen zu verwenden Werden. Mit dem AR-Makro können Sie verschiedene AR-Prozesse für verschiedene Sätze von Gleichungen modellieren, indem Sie für jeden Satz unterschiedliche Prozessnamen verwenden. Der Prozessname stellt sicher, dass die verwendeten Variablennamen eindeutig sind. Verwenden Sie für den Prozess einen kurzen Prozessname-Wert, wenn Parameter-Schätzwerte in einen Ausgabedatensatz geschrieben werden sollen. Das AR-Makro versucht, Parameternamen zu erstellen, die kleiner oder gleich acht Zeichen sind, aber diese wird durch die Länge des Prozessnamens begrenzt. Die als Präfix für die AR-Parameternamen verwendet wird. Der Variablenlistenwert ist die Liste der endogenen Variablen für die Gleichungen. Beispielsweise wird angenommen, dass Fehler für die Gleichungen Y1, Y2 und Y3 durch einen autoregressiven Prozess der zweiten Ordnung erzeugt werden. Sie können die folgenden Aussagen verwenden, die für Y1 und ähnlichen Code für Y2 und Y3 erzeugen: Für Vektorprozesse kann nur die Methode der bedingten kleinsten Quadrate (MCLS oder MCLS n) verwendet werden. Sie können auch das gleiche Formular mit Einschränkungen verwenden, dass die Koeffizientenmatrix bei ausgewählten Verzögerungen 0 ist. Zum Beispiel verwenden die folgenden Aussagen einen Vektorprozess der dritten Ordnung auf die Gleichungsfehler, wobei alle Koeffizienten bei Verzögerung 2 auf 0 beschränkt sind und die Koeffizienten bei den Verzögerungen 1 und 3 unbeschränkt sind: Sie können die drei Reihen Y1Y3 als vektorautoregressiven Prozess modellieren In den Variablen statt in den Fehlern, indem Sie die Option TYPEV verwenden. Wenn Sie Y1Y3 als Funktion von vergangenen Werten von Y1Y3 und einigen exogenen Variablen oder Konstanten modellieren möchten, können Sie mit AR die Anweisungen für die Lag-Terme erzeugen. Schreiben Sie eine Gleichung für jede Variable für den nichtautoregressiven Teil des Modells und rufen Sie dann AR mit der Option TYPEV auf. Zum Beispiel kann der nichtautoregressive Teil des Modells eine Funktion von exogenen Variablen sein, oder es können Abfangparameter sein. Wenn es keine exogenen Komponenten für das Vektorautoregressionsmodell gibt, die keine Abschnitte enthalten, dann weisen Sie jeder der Variablen Null zu. Es muss eine Zuordnung zu jeder der Variablen vorhanden sein, bevor AR aufgerufen wird. Dieses Beispiel modelliert den Vektor Y (Y1 Y2 Y3) als eine lineare Funktion nur seines Werts in den vorherigen zwei Perioden und einen Weißrauschenfehlervektor. Das Modell hat 18 (3 3 3 3) Parameter. Syntax des AR-Makros Es gibt zwei Fälle der Syntax des AR-Makros. Wenn Einschränkungen für einen Vektor-AR-Prozess nicht benötigt werden, hat die Syntax des AR-Makros die allgemeine Form, die ein Präfix für AR spezifiziert, das beim Konstruieren von Namen von Variablen zum Definieren des AR-Prozesses verwendet werden soll. Wenn der Endolist nicht angegeben wird, ist die endogene Liste standardmäßig der Name. Der der Name der Gleichung sein muss, auf die der AR-Fehlerprozess angewendet werden soll. Der Name darf nicht länger als 32 Zeichen sein. Ist die Reihenfolge des AR-Prozesses. Gibt die Liste der Gleichungen an, auf die der AR-Prozess angewendet werden soll. Wenn mehr als ein Name gegeben wird, wird ein unbeschränkter Vektorprozess mit den strukturellen Residuen aller Gleichungen erzeugt, die als Regressoren in jeder der Gleichungen enthalten sind. Wenn nicht angegeben, verwendet endolist standardmäßig den Namen. Gibt die Liste der Verzögerungen an, zu denen die AR-Terme hinzugefügt werden sollen. Die Koeffizienten der Terme, die nicht aufgelistet sind, werden auf 0 gesetzt. Alle aufgelisteten Lags müssen kleiner oder gleich nlag sein. Und es dürfen keine Duplikate vorhanden sein. Wenn nicht angegeben, verwendet die Laglist standardmäßig alle Verzögerungen 1 bis nlag. Gibt die zu implementierende Schätzmethode an. Gültige Werte von M sind CLS (bedingte Schätzungen der kleinsten Quadrate), ULS (unbedingte Schätzungen der kleinsten Quadrate) und ML (Maximum Likelihood Estimates). MCLS ist die Voreinstellung. Nur MCLS ist erlaubt, wenn mehr als eine Gleichung angegeben wird. Die ULS - und ML-Methoden werden für AR-AR-Modelle von AR nicht unterstützt. Dass das AR-Verfahren auf die endogenen Variablen anstelle der strukturellen Residuen der Gleichungen angewendet werden soll. Eingeschränkte Vektorautoregression Sie können steuern, welche Parameter in den Prozess eingeschlossen werden, wobei die Parameter auf 0 begrenzt werden, die Sie nicht einschließen. Verwenden Sie zuerst AR mit der Option DEFER, um die Variablenliste zu deklarieren und die Dimension des Prozesses zu definieren. Verwenden Sie dann zusätzliche AR-Aufrufe, um Ausdrücke für ausgewählte Gleichungen mit ausgewählten Variablen an ausgewählten Verzögerungen zu generieren. Zum Beispiel sind die erzeugten Fehlergleichungen wie folgt: Dieses Modell besagt, daß die Fehler für Y1 von den Fehlern sowohl von Y1 als auch von Y2 (aber nicht von Y3) bei beiden Verzögerungen 1 und 2 abhängen und daß die Fehler für Y2 und Y3 davon abhängen Die vorherigen Fehler für alle drei Variablen, aber nur bei Verzögerung 1. AR-Makro-Syntax für eingeschränkten Vektor-AR Eine alternative Verwendung von AR kann Einschränkungen für einen Vektor-AR-Prozess durch Aufruf von AR mehrmals aufrufen, um verschiedene AR-Terme und - Lags für verschiedene anzugeben Gleichungen. Der erste Aufruf hat die allgemeine Form spezifiziert ein Präfix für AR zu verwenden, bei der Konstruktion von Namen von Variablen benötigt, um den Vektor AR-Prozess zu definieren. Gibt die Reihenfolge des AR-Prozesses an. Gibt die Liste der Gleichungen an, auf die der AR-Prozess angewendet werden soll. Gibt an, dass AR den AR-Prozess nicht generieren soll, sondern auf weitere Informationen warten soll, die in späteren AR-Aufrufen für denselben Namenwert angegeben sind. Die nachfolgenden Anrufe haben die allgemeine Form ist die gleiche wie im ersten Aufruf. Spezifiziert die Liste der Gleichungen, auf die die Spezifikationen in diesem AR-Aufruf angewendet werden sollen. Nur Namen, die im Endolistenwert des ersten Aufrufs für den Namenswert angegeben sind, können in der Liste der Gleichungen in eqlist erscheinen. Spezifiziert die Liste der Gleichungen, deren verzögerte strukturelle Residuen als Regressoren in die Gleichungen in eqlist aufgenommen werden sollen. Nur Namen im Endolisten des ersten Aufrufs für den Namenswert können in varlist erscheinen. Wenn nicht angegeben, wird varlist standardmäßig Endolist. Gibt die Liste der Verzögerungen an, zu denen die AR-Terme hinzugefügt werden sollen. Die Koeffizienten der Terme, die nicht aufgelistet sind, werden auf 0 gesetzt. Alle aufgelisteten Verzögerungen müssen kleiner oder gleich dem Wert von nlag sein. Und es dürfen keine Duplikate vorhanden sein. Wenn nicht angegeben, verwendet laglist standardmäßig alle Verzögerungen 1 bis nlag. Das MA-Makro Das SAS-Makro MA generiert Programmieranweisungen für PROC MODEL für gleitende Durchschnittsmodelle. Das MA-Makro ist Teil der SAS-ETS-Software, und es sind keine speziellen Optionen erforderlich, um das Makro zu verwenden. Der gleitende Mittelwertfehlerprozeß kann auf die strukturellen Gleichungsfehler angewendet werden. Die Syntax des MA-Makros entspricht dem AR-Makro, außer es gibt kein TYPE-Argument. Wenn Sie die kombinierten MA - und AR-Makros verwenden, muss das Makro MA dem AR-Makro folgen. Die folgenden SAS-IML-Anweisungen erzeugen einen ARMA-Fehlerprozeß (1, (1 3)) und speichern ihn im Datensatz MADAT2. Die folgenden PROC MODEL-Anweisungen werden verwendet, um die Parameter dieses Modells unter Verwendung der maximalen Wahrscheinlichkeitsfehlerstruktur zu schätzen: Die Schätzungen der durch diesen Durchlauf erzeugten Parameter sind in Abbildung 18.61 dargestellt. Abbildung 18.61 Schätzungen aus einem ARMA-Prozess (1, (1 3)) Es gibt zwei Fälle der Syntax für das MA-Makro. Wenn Beschränkungen für einen Vektor-MA-Prozess nicht erforderlich sind, hat die Syntax des MA-Makros die allgemeine Form, die ein Präfix für MA vorgibt, das beim Konstruieren von Namen von Variablen verwendet wird, die benötigt werden, um den MA-Prozess zu definieren, und ist der Standard-Endolist. Ist die Reihenfolge des MA-Prozesses. Spezifiziert die Gleichungen, auf die das MA-Verfahren angewendet werden soll. Wenn mehr als ein Name angegeben wird, wird die CLS-Schätzung für den Vektorprozess verwendet. Gibt die Verzögerungen an, zu denen die MA-Bedingungen hinzugefügt werden sollen. Alle aufgelisteten Verzögerungen müssen kleiner oder gleich nlag sein. Und es dürfen keine Duplikate vorhanden sein. Wenn nicht angegeben, verwendet die Laglist standardmäßig alle Verzögerungen 1 bis nlag. Gibt die zu implementierende Schätzmethode an. Gültige Werte von M sind CLS (bedingte Schätzungen der kleinsten Quadrate), ULS (unbedingte Schätzungen der kleinsten Quadrate) und ML (Maximum Likelihood Estimates). MCLS ist die Voreinstellung. Nur MCLS ist erlaubt, wenn mehr als eine Gleichung im Endolisten angegeben ist. MA-Makro-Syntax für eingeschränkte Vektorbewegungsmittel Eine alternative Verwendung von MA ist es, Beschränkungen für einen Vektor-MA-Prozeß durch Aufruf von MA mehrere Male aufzuerlegen, um verschiedene MA-Terme und Verzögerungen für verschiedene Gleichungen anzugeben. Der erste Aufruf hat die allgemeine Form spezifiziert ein Präfix für MA, um bei der Konstruktion von Namen von Variablen für die Definition der Vektor-MA-Prozess zu verwenden. Spezifiziert die Reihenfolge des MA-Prozesses. Spezifiziert die Liste der Gleichungen, auf die das MA-Verfahren angewendet werden soll. Spezifiziert, daß MA nicht den MA-Prozeß erzeugen soll, sondern auf weitere Informationen, die in späteren MA-Aufrufen für denselben Namenwert spezifiziert werden, wartet. Die nachfolgenden Anrufe haben die allgemeine Form ist die gleiche wie im ersten Aufruf. Spezifiziert die Liste der Gleichungen, auf die die Spezifikationen in diesem MA-Aufruf angewendet werden sollen. Spezifiziert die Liste der Gleichungen, deren verzögerte strukturelle Residuen als Regressoren in die Gleichungen in eqlist aufgenommen werden sollen. Gibt die Liste der Lags an, an denen die MA-Bedingungen hinzugefügt werden sollen. ARIMA Forecasting mit Excel und R Hallo Heute gehe ich euch durch eine Einführung in das ARIMA-Modell und seine Komponenten, sowie eine kurze Erläuterung der Box - Jenkins-Methode, wie ARIMA-Modelle spezifiziert werden. Schließlich habe ich eine Excel-Implementierung mit R, die I8217ll zeigen Ihnen, wie Sie einrichten und verwenden. Autoregressive Moving Average (ARMA) Modelle Das Autoregressive Moving Average Modell dient der Modellierung und Prognose stationärer, stochastischer Zeitreihenprozesse. Es ist die Kombination von zwei zuvor entwickelten statistischen Techniken, die Autoregressive (AR) und Moving Average (MA) Modelle und wurde ursprünglich von Peter Whittle im Jahr 1951 beschrieben. George E. P. Box und Gwilym Jenkins popularisiert das Modell im Jahr 1971 durch die Festlegung von diskreten Schritten zum Modell Identifizierung, Schätzung und Verifizierung. Dieser Vorgang wird später als Referenz beschrieben. Wir beginnen mit der Einführung des ARMA-Modells durch seine verschiedenen Komponenten, die AR - und MA-Modelle und präsentieren dann eine beliebte Generalisierung des ARMA-Modells, ARIMA (Autoregressive Integrated Moving Average) sowie Prognose - und Modellspezifikationsschritte. Schließlich erkläre ich eine Excel-Implementierung, die ich verursachte und wie man sie benutzt, um Ihre Zeitreihenvorhersagen zu bilden. Autoregressive Modelle Das Autoregressive Modell dient der Beschreibung von Zufallsprozessen und zeitveränderlichen Prozessen und legt fest, dass die Ausgangsgröße linear von den vorherigen Werten abhängt. Das Modell ist beschrieben als: Wo sind die Parameter des Modells, C ist konstant, und ist ein weißes Rauschen Begriff. Im Wesentlichen, was das Modell beschreibt, ist für jeden gegebenen Wert. Sie kann durch Funktionen ihres vorherigen Wertes erklärt werden. Für ein Modell mit einem Parameter. Wird durch seinen früheren Wert und zufälligen Fehler erklärt. Für ein Modell mit mehr als einem Parameter, zum Beispiel. Ist gegeben durch. Und zufälliger Fehler. Moving Average Model Das Moving Average (MA) - Modell wird häufig für die Modellierung univariate Zeitreihen verwendet und ist definiert als: ist der Mittelwert der Zeitreihe. Sind die Parameter des Modells. Sind die Fehlerbedingungen des weißen Rauschens. Ist die Ordnung des Moving Average Modells. Das Moving Average Modell ist eine lineare Regression des aktuellen Wertes der Serie im Vergleich zu den Bedingungen in der vorherigen Periode. Zum Beispiel, ein MA - Modell von. Wird durch den aktuellen Fehler in der gleichen Periode und dem vergangenen Fehlerwert erklärt. Für ein Modell der Ordnung 2 () wird durch die beiden letzten Fehlerwerte erklärt, und. Die AR () - und MA () - Terme werden im ARMA-Modell verwendet, das nun eingeführt wird. Autoregressive Moving Average Model Autoregressive Moving Average Modelle verwenden zwei Polynome, AR () und MA () und beschreiben einen stationären stochastischen Prozess. Ein stationärer Prozess ändert sich nicht, wenn er zeitlich oder räumlich verschoben wird, daher hat ein stationärer Prozess konstante Mittelwerte und Varianz. Das ARMA-Modell wird oft in Bezug auf seine Polynome, ARMA () genannt. Die Notation des Modells wird geschrieben: Das Auswählen, Schätzen und Verifizieren des Modells wird durch den Box-Jenkins-Prozess beschrieben. Box-Jenkins Methode zur Modellidentifikation Nachstehend ist mehr ein Überblick über die Box-Jenkins-Methode, da der eigentliche Prozess der Suche dieser Werte kann ziemlich überwältigend, ohne ein statistisches Paket. Das auf dieser Seite enthaltene Excel-Blatt bestimmt automatisch das bestmögliche Modell. Der erste Schritt der Box-Jenkins-Methode ist die Modellidentifikation. Der Schritt umfasst das Identifizieren der Saisonalität, die Differenzierung, falls notwendig, und das Bestimmen der Reihenfolge und der Auftragung der Autokorrelation und der partiellen Autokorrelationsfunktionen. Nachdem das Modell identifiziert ist, werden im nächsten Schritt die Parameter geschätzt. Die Parameterschätzung verwendet statistische Pakete und Berechnungsalgorithmen, um die passenden Parameter zu finden. Sobald die Parameter ausgewählt sind, wird im letzten Schritt das Modell überprüft. Die Modellprüfung wird durch Testen durchgeführt, um zu sehen, ob das Modell einer stationären univariaten Zeitreihe entspricht. Man sollte auch bestätigen, daß die Residuen unabhängig voneinander sind und ein konstantes Mittel und eine zeitliche Abweichung aufweisen, was durch Ausführen eines Ljung-Box-Tests oder durch erneutes Plotten der Autokorrelation und teilweisen Autokorrelation der Residuen erfolgen kann. Beachten Sie den ersten Schritt beinhaltet die Überprüfung für Saisonalität. Wenn die Daten, mit denen Sie arbeiten, saisonale Trends enthalten, müssen Sie 8220difference8221, um die Daten stationär zu machen. Dieser Differenzierungsschritt verallgemeinert das ARMA-Modell in ein ARIMA-Modell oder Autoregressive Integrated Moving Average, wobei 8216Integrated8217 dem Differenzierungsschritt entspricht. Autoregressive integrierte Moving Average Modelle Das ARIMA Modell hat drei Parameter. Um das ARMA-Modell zu definieren, um den differenzierenden Term einzuschließen, beginnen wir mit der Neuanordnung des ARMA-Standardmodells, um sich von der Summation zu trennen. Wo ist der Lag - Operator und. Sind autoregressive und gleitende Durchschnittsparameter bzw. die Fehlerterme. Wir nehmen nun die Annahme als erstes Polynom der Funktion an, haben eine einheitliche Wurzel der Vielfachheit. Wir können es dann folgendermaßen umschreiben: Das ARIMA-Modell drückt die Polynomfaktorisierung mit aus und gibt uns: Zuletzt verallgemeinern wir das Modell durch Hinzufügen eines Driftterms, der das ARIMA-Modell als ARIMA () mit Drift definiert. Mit dem nun definierten Modell können wir das ARIMA-Modell als zwei getrennte Teile ansehen, ein nicht stationäres und das andere weitsichtige stationäre (gemeinsame Wahrscheinlichkeitsverteilung ändert sich nicht, wenn zeit - oder raumverschoben). Das nicht stationäre Modell: Das weitsichtige stationäre Modell: Prognosen können nun mit Hilfe einer verallgemeinerten autoregressiven Prognosemethode erstellt werden. Nun, da wir die ARMA und ARIMA Modelle diskutiert haben, wenden wir uns nun, wie können wir sie in praktischen Anwendungen nutzen, um Prognosen zur Verfügung stellen. Ive baute eine Implementierung mit Excel mit R zu machen ARIMA Prognosen sowie eine Option, um Monte-Carlo-Simulation auf das Modell, um die Wahrscheinlichkeit der Prognosen zu bestimmen. Excel-Implementierung und Gebrauchsanweisung Bevor Sie das Blatt verwenden, müssen Sie R und RExcel von der Statconn-Website herunterladen. Wenn Sie bereits R installiert haben, können Sie einfach herunterladen RExcel. Wenn Sie nicht R installiert haben, können Sie herunterladen RAndFriends, die die neueste Version von R und RExcel enthält. Bitte beachten Sie, funktioniert RExcel nur auf 32bit Excel für seine nicht-kommerzielle Lizenz. Wenn Sie 64bit Excel installiert haben, müssen Sie eine kommerzielle Lizenz von Statconn erhalten. Es empfiehlt sich, RAndFriends herunterzuladen, da es die schnellste und einfachste Installation macht, aber wenn Sie bereits R haben und es manuell installieren möchten, folgen Sie den folgenden Schritten. Manuelles Installieren von RExcel Um RExcel und die anderen Pakete zu installieren, damit R in Excel ausgeführt wird, öffnen Sie zuerst R als Administrator, indem Sie mit der rechten Maustaste auf die. exe klicken. Installieren Sie RExcel in der R-Konsole, indem Sie die folgenden Anweisungen eingeben: Die obigen Befehle installieren RExcel auf Ihrem Computer. Der nächste Schritt ist die Installation von rcom, ein weiteres Paket von Statconn für das RExcel-Paket. Um dies zu installieren, geben Sie die folgenden Befehle ein, die auch rscproxy ab R Version 2.8.0 automatisch installieren. Wenn diese Pakete installiert sind, können Sie auf die Einstellung der Verbindung zwischen R und Excel zu bewegen. Obwohl nicht notwendig, um die Installation, ist ein praktisches Paket zum Download Rcmdr, von John Fox entwickelt. Rcmdr erstellt R-Menüs, die Menüs in Excel werden können. Diese Funktion ist standardmäßig mit der RAndFriends-Installation verfügbar und stellt mehrere R-Befehle in Excel zur Verfügung. Geben Sie die folgenden Befehle in R ein, um Rcmdr zu installieren. Wir können den Link zu R und Excel erstellen. Hinweis: In neueren Versionen von RExcel wird diese Verbindung mit einem einfachen Doppelklick auf die mitgelieferte. bat-Datei ActivateRExcel2010 hergestellt. Daher sollten Sie diese Schritte nur durchführen, wenn Sie R und RExcel manuell installiert haben oder wenn aus irgendeinem Grund die Verbindung nicht hergestellt wird Die RAndFriends-Installation. Erstellen der Verbindung zwischen R und Excel Öffnen Sie ein neues Buch in Excel und navigieren Sie zum Optionen-Bildschirm. Klicken Sie auf Optionen und dann auf Add-Ins. Sie sollten eine Liste aller aktiven und inaktiven Add-Ins sehen, die Sie derzeit haben. Klicken Sie unten auf die Schaltfläche Go. Im Add-Ins-Dialogfeld sehen Sie alle Add-In-Referenzen, die Sie erstellt haben. Klicken Sie auf Durchsuchen. Navigieren Sie zu dem RExcel-Ordner, der sich normalerweise in C: Program FilesRExcelxls oder etwas Ähnlichem befindet. Suchen Sie das Add-In RExcel. xla und klicken Sie es an. Der nächste Schritt besteht darin, eine Referenz zu erstellen, damit Makros mit R korrekt arbeiten können. Geben Sie in Ihrem Excel-Dokument Alt F11 ein. Dies öffnet Excels VBA-Editor. Gehen Sie zu Tools - gt Referenzen, und finden Sie die RExcel-Referenz, RExcelVBAlib. RExcel sollte nun einsatzbereit sein Mit dem Excel-Sheet Nachdem R und RExcel ordnungsgemäß konfiguriert sind, ist es Zeit, eine Prognose durchzuführen. Öffnen Sie das Prognoseblatt und klicken Sie auf Load Server. Dies ist, um den RCom-Server zu starten und auch die notwendigen Funktionen zu laden, um die Prognose durchzuführen. Ein Dialogfenster wird geöffnet. Wählen Sie die Datei itall. R aus. Diese Datei enthält die Funktionen, die das Prognosetool verwendet. Die meisten Funktionen wurden von Professor Stoffer an der University of Pittsburgh entwickelt. Sie erweitern die Fähigkeiten von R und geben uns einige hilfreiche Diagnose-Graphen zusammen mit unserer Prognose-Ausgabe. Es gibt auch eine Funktion, um automatisch die besten Anpassungsparameter des ARIMA-Modells zu bestimmen. Geben Sie nach dem Laden des Servers Ihre Daten in die Spalte Daten ein. Wählen Sie den Bereich der Daten aus, klicken Sie mit der rechten Maustaste und wählen Sie Name Range. Benennen Sie den Bereich als Daten. Legen Sie anschließend die Häufigkeit Ihrer Daten in Cell C6 fest. Häufigkeit bezieht sich auf die Zeiträume Ihrer Daten. Wenn es wöchentlich ist, wäre die Frequenz 7. Monatlich wäre 12, während vierteljährlich 4 sein würde, und so weiter. Geben Sie die Perioden ein, die der Prognose vorausgehen. Man beachte, daß ARIMA-Modelle nach mehreren aufeinanderfolgenden Frequenzvorhersagen ziemlich ungenau werden. Eine gute Faustregel sollte nicht mehr als 30 Schritte als alles Vergangene, die eher unzuverlässig sein könnte. Dies hängt auch von der Größe Ihres Datensatzes ab. Wenn Sie nur begrenzte Daten zur Verfügung haben, empfiehlt es sich, eine kleinere Zahl voranzustellen. Nachdem Sie Ihre Daten eingegeben, benannt und die gewünschte Frequenz eingestellt haben, klicken Sie auf Ausführen. Es kann eine Weile dauern, bis die Prognose verarbeitet wird. Sobald er abgeschlossen ist, erhalten Sie die vorhergesagten Werte auf die angegebene Nummer, den Standardfehler der Ergebnisse und zwei Diagramme. Links sind die projizierten Werte mit den Daten gezeichnet, während rechts eine praktische Diagnose mit standardisierten Residuen, die Autokorrelation der Residuen, ein gg-Diagramm der Residuen und ein Ljung-Box-Statistikgraph enthalten sind, um zu bestimmen, ob das Modell gut angepasst ist. Ich werde nicht in zu viel Detail auf, wie Sie für ein gut angepasstes Modell suchen, aber auf der ACF-Diagramm Sie nicht wollen (oder viel) der Lag-Spikes über die gepunktete blaue Linie. Auf dem gg-Plot, die mehr Kreise, die durch die Linie gehen, desto normalisierter und besser das Modell passt. Für größere Datensätze könnte dies eine Menge Kreise kreuzen. Schließlich ist die Ljung-Box-Test ein Artikel an sich jedoch, je mehr Kreise, die über der gepunkteten blauen Linie sind, desto besser ist das Modell. Wenn das Ergebnis der Diagnose nicht gut aussieht, können Sie versuchen, weitere Daten hinzuzufügen oder an einem anderen Punkt zu beginnen, der näher an dem Bereich liegt, den Sie prognostizieren möchten. Sie können die erzeugten Ergebnisse leicht löschen, indem Sie auf die Schaltfläche Clear Forecasted Values ​​klicken. Und das ist es derzeit Die Datumsspalte tut nichts anderes als für Ihre Referenz, aber es ist nicht notwendig für das Tool. Wenn ich Zeit finde, gehe ich zurück und füge hinzu, dass so das angezeigte Diagramm die richtige Zeit anzeigt. Möglicherweise erhalten Sie außerdem einen Fehler beim Ausführen der Prognose. Dies ist in der Regel aufgrund der Funktion, die die besten Parameter findet, ist nicht in der Lage, die richtige Reihenfolge zu bestimmen. Sie können die obigen Schritte befolgen, um zu versuchen, Ihre Daten besser zu ordnen, damit die Funktion funktioniert. Ich hoffe, Sie erhalten Nutzen aus dem Tool Es hat mir viel Zeit bei der Arbeit, da jetzt alles, was ich tun müssen, ist die Daten eingeben, laden Sie den Server und führen Sie es. Ich hoffe auch, dass dies zeigt Ihnen, wie awesome R sein kann, vor allem, wenn mit einem Front-End wie Excel verwendet. Code, Excel-Arbeitsblatt und. bas-Datei befinden sich ebenfalls auf GitHub.

No comments:

Post a Comment