Thursday 16 February 2017

Autoregressiver Gleitender Durchschnitt In R

Autoregressive Moving Average ARMA (p, q) Modelle für die Zeitreihenanalyse - Teil 3 Dies ist der dritte und letzte Beitrag in der Mini-Serie für autoregressive Moving Average (ARMA) Modelle für die Zeitreihenanalyse. Weve eingeführt Autoregressive Modelle und Moving Average Modelle in den beiden vorherigen Artikeln. Jetzt ist es Zeit, sie zu einem anspruchsvolleren Modell zu kombinieren. Letztendlich wird dies zu den ARIMA - und GARCH-Modellen führen, die es uns ermöglichen, die Rendite der Anlagen und die Volatilität der Prognose vorherzusagen. Diese Modelle bilden die Grundlage für Handelssignale und Risikomanagementtechniken. Wenn Sie Teil 1 und Teil 2 gelesen haben, haben Sie gesehen, dass wir dazu neigen, ein Muster für unsere Analyse eines Zeitreihenmodells zu folgen. Ich wiederhole es kurz hier: Grundlagen - Warum interessieren wir uns für dieses bestimmte Modell Definition - Eine mathematische Definition, um Mehrdeutigkeit zu reduzieren. Correlogram - Plotten eines Beispielkorrelogramms, um ein Modellverhalten zu visualisieren. Simulation und Montage - Anpassung des Modells an Simulationen, um sicherzustellen, dass wir das Modell richtig verstanden haben. Echte Finanzdaten - Anwenden des Modells auf reale historische Vermögenspreise. Vorhersage - Prognostieren Sie nachfolgende Werte, um Handelssignale oder Filter aufzubauen. Um diesem Artikel zu folgen, ist es ratsam, einen Blick auf die früheren Artikel zur Zeitreihenanalyse zu werfen. Sie können alle hier gefunden werden. Bayesian Information Criterion Im Teil 1 dieser Artikel-Serie haben wir das Akaike Information Criterion (AIC) als Mittel zur Unterstützung der Wahl zwischen den einzelnen besten Zeitreihenmodellen betrachtet. Ein eng verwandtes Werkzeug ist das Bayesian Information Criterion (BIC). Im Wesentlichen hat es ein ähnliches Verhalten wie die AIC, dass es Modelle mit zu vielen Parametern bestraft. Dies kann zu Überbeanspruchungen führen. Der Unterschied zwischen der BIC und AIC ist, dass die BIC ist strenger mit seiner Bestrafung von zusätzlichen Parametern. Bayesian Information Criterion Wenn wir die Likelihood-Funktion für ein statistisches Modell mit k Parametern und L die Wahrscheinlichkeit maximieren. Dann ist das Bayessche Informationskriterium gegeben durch: wobei n die Anzahl der Datenpunkte in der Zeitreihe ist. Bei der Auswahl geeigneter ARMA (p, q) Modelle werden wir den AIC und den BIC verwenden. Ljung-Box Test In Teil 1 dieser Artikel-Serie Rajan erwähnt in der Disqus kommentiert, dass die Ljung-Box-Test angemessener als die Verwendung der Akaike Information Criterion des Bayesian Information Criterion bei der Entscheidung, ob ein ARMA-Modell war eine gute Passform zu einer Zeit Serie. Der Ljung-Box-Test ist ein klassischer Hypothesentest, der dazu dient, zu testen, ob sich ein Satz von Autokorrelationen eines eingebauten Zeitreihenmodells signifikant von Null unterscheidet. Der Test testet nicht jede einzelne Verzögerung nach Zufälligkeit, sondern testet die Zufälligkeit über eine Gruppe von Verzögerungen. Ljung-Box-Test Wir definieren die Nullhypothese als: Die Zeitreihendaten bei jeder Verzögerung sind i. i.d .. das heißt, die Korrelationen zwischen den Populationsreihenwerten sind Null. Wir definieren die alternative Hypothese als: Die Zeitreihendaten sind nicht i. i.d. Und besitzen serielle Korrelation. Wir berechnen die folgende Teststatistik. Q: Wenn n die Länge der Zeitreihenprobe ist, ist k die Stichprobe Autokorrelation bei der Verzögerung k und h die Anzahl der Verzögerungen unter dem Test. Die Entscheidungsregel, ob die Nullhypothese zurückgewiesen werden soll, besteht darin, zu überprüfen, ob Q gt chi2 für eine chi-quadrierte Verteilung mit h Freiheitsgraden am 100 (1-alpha) - ten Perzentil ist. Während die Details des Tests etwas kompliziert erscheinen können, können wir in der Tat R verwenden, um den Test für uns zu berechnen und das Verfahren etwas zu vereinfachen. Autogressive Moving Average (ARMA) Modelle der Ordnung p, q Nun, da wir über den BIC und den Ljung-Box-Test diskutierten, waren wir bereit, unser erstes gemischtes Modell, nämlich den autoregressiven Moving Average der Ordnung p, q oder ARMA (p, Q). Bisher haben wir autoregressive Prozesse und gleitende Durchschnittsprozesse betrachtet. Das frühere Modell betrachtet sein eigenes Verhalten in der Vergangenheit als Input für das Modell und als solche Versuche, Marktteilnehmer-Effekte, wie Impuls und Mittelwert-Reversion im Aktienhandel zu erfassen. Das letztere Modell wird verwendet, um Schock Informationen zu einer Serie zu charakterisieren, wie eine Überraschung Einkommen Ankündigung oder unerwartete Ereignis (wie die BP Deepwater Horizon Ölpest). Daher versucht ein ARMA-Modell, diese beiden Aspekte bei der Modellierung finanzieller Zeitreihen zu erfassen. Beachten Sie, dass ein ARMA-Modell nicht berücksichtigt Volatilität Clustering, eine wichtige empirische Phänomene von vielen finanziellen Zeitreihen. Es ist kein bedingt heteroszendierendes Modell. Dafür müssen wir auf die ARCH - und GARCH-Modelle warten. Definition Das ARMA-Modell (p, q) ist eine lineare Kombination zweier linearer Modelle und somit selbst noch linear: Autoregressives Moving Average Modell der Ordnung p, q Ein Zeitreihenmodell ist ein autoregressives gleitendes Durchschnittsmodell der Ordnung p, q . ARMA (p, q), wenn: Anfang xt alpha1 x alpha2 x ldots wt beta1 w beta2 w ldots betaq w end Wo ist weißes Rauschen mit E (wt) 0 und Varianz sigma2. Wenn wir den Backward Shift Operator betrachten. (Siehe vorhergehender Artikel) können wir das obige als Funktion theta und phi folgendermaßen umschreiben: Wir können einfach erkennen, dass wir durch die Einstellung von p neq 0 und q0 das AR (p) - Modell erhalten. Wenn wir p 0 und q neq 0 setzen, erhalten wir das MA (q) - Modell. Eines der wichtigsten Merkmale des ARMA-Modells ist, dass es sparsam und redundant in seinen Parametern ist. Das heißt, ein ARMA-Modell erfordert oft weniger Parameter als ein AR (p) - oder MA (q) - Modell alleine. Darüber hinaus, wenn wir die Gleichung in Bezug auf die BSO umschreiben, dann die theta und phi Polynome können manchmal gemeinsam einen gemeinsamen Faktor, so dass ein einfacheres Modell. Simulationen und Correlogramme Wie bei den autoregressiven und gleitenden Durchschnittsmodellen simulieren wir nun verschiedene ARMA-Serien und versuchen dann, ARMA-Modelle an diese Realisierungen anzupassen. Wir führen dies aus, weil wir sicherstellen wollen, dass wir das Anpassungsverfahren verstehen, einschließlich der Berechnung von Konfidenzintervallen für die Modelle sowie sicherzustellen, dass das Verfahren tatsächlich vernünftige Schätzungen für die ursprünglichen ARMA-Parameter wiederherstellt. In Teil 1 und Teil 2 haben wir manuell die AR - und MA-Serie konstruiert, indem wir N Abtastwerte aus einer Normalverteilung ziehen und dann das spezifische Zeitreihenmodell unter Verwendung von Verzögerungen dieser Abtastwerte herstellen. Allerdings gibt es einen einfacheren Weg, um AR-, MA-, ARMA - und sogar ARIMA-Daten zu simulieren, einfach durch die Verwendung der arima. sim-Methode in R. Wir beginnen mit dem einfachsten nicht-trivialen ARMA-Modell, nämlich dem ARMA (1,1 ) Modell. Das heißt, ein autoregressives Modell der Ordnung eins kombiniert mit einem gleitenden Durchschnittsmodell der Ordnung eins. Ein solches Modell hat nur zwei Koeffizienten, alpha und beta, die die ersten Verzögerungen der Zeitreihe selbst und die schockweißen Rauschterme darstellen. Ein solches Modell ist gegeben durch: Wir müssen die Koeffizienten vor der Simulation angeben. Lets take alpha 0.5 und beta -0.5: Die Ausgabe ist wie folgt: Lets auch das Korrektogramm zeichnen: Wir können sehen, dass es keine signifikante Autokorrelation, die von einem ARMA (1,1) - Modell erwartet wird. Schließlich können wir versuchen, die Koeffizienten und deren Standardfehler mit Hilfe der Arimafunktion zu bestimmen: Wir können die Konfidenzintervalle für jeden Parameter mit Hilfe der Standardfehler berechnen: Die Konfidenzintervalle enthalten die wahren Parameterwerte für beide Fälle 95 Konfidenzintervalle sehr breit sind (eine Folge der hinreichend großen Standardfehler). Jetzt versuchen wir ein ARMA (2,2) Modell. Das heißt, ein AR (2) - Modell kombiniert mit einem MA (2) - Modell. Für dieses Modell müssen wir vier Parameter angeben: alpha1, alpha2, beta1 und beta2. Nehmen wir alpha1 0.5, alpha2-0.25 beta10.5 und beta2-0.3: Die Ausgabe unseres ARMA (2,2) - Modells ist wie folgt: Und die entsprechende autocorelation: Wir können nun versuchen, ein ARMA (2,2) - Modell an Die Daten: Wir können auch die Konfidenzintervalle für jeden Parameter berechnen: Beachten Sie, dass die Konfidenzintervalle für die Koeffizienten für die gleitende Durchschnittskomponente (beta1 und beta2) nicht tatsächlich den ursprünglichen Parameterwert enthalten. Dies beschreibt die Gefahr des Versuchens, Modelle an Daten anzupassen, auch wenn wir die wahren Parameterwerte kennen. Für Handelszwecke benötigen wir jedoch nur eine Vorhersagekraft, die den Zufall übertrifft und genügend Gewinn über die Transaktionskosten erzeugt, um rentabel zu sein auf lange Sicht. Nun, da wir einige Beispiele für simulierte ARMA-Modelle gesehen haben, brauchen wir Mechanismus für die Auswahl der Werte von p und q bei der Anpassung an die Modelle zu echten Finanzdaten. Auswahl des besten ARMA-Modells (p, q) Um zu bestimmen, welche Ordnung p, q des ARMA-Modells für eine Reihe geeignet ist, müssen wir die AIC (oder BIC) über eine Teilmenge von Werten für p, q und verwenden Dann den Ljung-Box-Test anwenden, um zu bestimmen, ob eine gute Passung für bestimmte Werte von p, q erzielt worden ist. Um diese Methode zu zeigen, werden wir zunächst einen speziellen ARMA (p, q) Prozess simulieren. Wir werden dann alle paarweisen Werte von p in und qin durchschleifen und die AIC berechnen. Wir wählen das Modell mit dem niedrigsten AIC aus und führen dann einen Ljung-Box-Test auf die Residuen durch, um festzustellen, ob wir eine gute Passform erreicht haben. Zunächst wird eine ARMA (3,2) - Serie simuliert: Wir werden nun ein Objekt final erstellen, um den besten Modell-Fit und den niedrigsten AIC-Wert zu speichern. Wir schleifen über die verschiedenen p, q-Kombinationen und verwenden das aktuelle Objekt, um die Anpassung eines ARMA (i, j) - Modells für die Schleifenvariablen i und j zu speichern. Wenn der aktuelle AIC kleiner als irgendein vorher berechneter AIC ist, setzen wir die letzte AIC auf diesen aktuellen Wert und wählen diese Reihenfolge. Nach Beendigung der Schleife haben wir die Reihenfolge der in final. order gespeicherten ARMA-Modelle, und die ARIMA (p, d, q) passen sich an (mit der integrierten d-Komponente auf 0 gesetzt), die als final. arma gespeichert ist , Ordnung und ARIMA-Koeffizienten: Wir können sehen, dass die ursprüngliche Ordnung des simulierten ARMA-Modells wiederhergestellt wurde, nämlich mit p3 und q2. Wir können das Corelogramm der Residuen des Modells darstellen, um zu sehen, ob sie wie eine Realisierung von diskreten weißen Rauschen (DWN) aussehen: Das Corelogramm sieht tatsächlich wie eine Realisierung von DWN aus. Schließlich führen wir den Ljung-Box-Test für 20 Verzögerungen durch, um dies zu bestätigen: Beachten Sie, dass der p-Wert größer als 0,05 ist, was besagt, dass die Residuen auf dem 95-Level unabhängig sind und somit ein ARMA-Modell (3,2) Gutes Modell passend. Offensichtlich sollte dies der Fall sein, da wir die Daten selbst simuliert haben. Dies ist jedoch genau das Verfahren, das wir verwenden werden, wenn wir ARMA (p, q) - Modelle im folgenden Abschnitt zum SampP500-Index passen. Finanzdaten Nachdem wir nun das Verfahren zur Auswahl des optimalen Zeitreihenmodells für eine simulierte Serie skizziert haben, ist es relativ einfach, diese auf Finanzdaten anzuwenden. Für dieses Beispiel wollen wir erneut den SampP500 US Equity Index wählen. Wir können die täglichen Schlusskurse unter Verwendung von quantmod herunterladen und dann den Protokoll-Rücklauf-Stream erzeugen: Mit dem AIC können Sie das gleiche Anpassungsverfahren wie für die oben beschriebene simulierte ARMA (3,2) - Reihe des SampP500 durchführen: Das am besten passende Modell Hat die Ordnung ARMA (3,3): Hier können die Residuen des angepassten Modells dem SampP500 log täglichen Retourenstrom zugewiesen werden: Beachten Sie, dass es einige signifikante Peaks gibt, vor allem bei höheren Lags. Dies deutet auf eine schlechte Passform hin. Wir können einen Ljung-Box-Test durchführen, um festzustellen, ob wir statistische Beweise dafür haben: Wie wir vermuteten, ist der p-Wert kleiner als 0,05 und als solche können wir nicht sagen, dass die Residuen eine Realisierung von diskreten weißen Rauschen sind. Daher gibt es eine zusätzliche Autokorrelation in den Residuen, die nicht durch das eingebaute ARMA (3,3) - Modell erklärt wird. Next Steps Wie wir in dieser Artikelreihe besprochen haben, haben wir in den SampP500-Serien, insbesondere in den Perioden 2007-2008, Hinweise auf bedingte Heterosedastizität (Volatilitäts-Clustering) gefunden. Wenn wir ein GARCH-Modell später in der Artikel-Serie verwenden, werden wir sehen, wie diese Autokorrelationen zu beseitigen. In der Praxis sind ARMA-Modelle nie generell gut für Log-Aktien-Renditen. Wir müssen die bedingte Heterosedastizität berücksichtigen und eine Kombination von ARIMA und GARCH verwenden. Der nächste Artikel wird ARIMA betrachten und zeigen, wie die integrierte Komponente unterscheidet sich von der ARMA-Modell, das wir in diesem Artikel betrachtet haben. Klicken Sie unten, um mehr darüber zu erfahren. Die Informationen auf dieser Website ist die Meinung der einzelnen Autoren auf der Grundlage ihrer persönlichen Beobachtung, Forschung und jahrelange Erfahrung. Der Herausgeber und seine Autoren sind nicht registrierte Anlageberater, Rechtsanwälte, CPAs oder andere Finanzdienstleister und machen keine Rechts-, Steuer-, Rechnungswesen, Anlageberatung oder andere professionelle Dienstleistungen. Die Informationen, die von dieser Web site angeboten werden, sind nur allgemeine Ausbildung. Weil jeder Einzelne sachliche Situation anders ist, sollte der Leser seinen persönlichen Berater suchen. Weder der Autor noch der Herausgeber übernehmen jegliche Haftung oder Verantwortung für Fehler oder Unterlassungen und haben weder eine Haftung noch Verantwortung gegenüber Personen oder Körperschaften in Bezug auf Schäden, die direkt oder indirekt durch die auf dieser Website enthaltenen Informationen verursacht oder vermutet werden. Benutzung auf eigene Gefahr. Darüber hinaus kann diese Website erhalten finanzielle Entschädigung von den Unternehmen erwähnt durch Werbung, Affiliate-Programme oder auf andere Weise. Preise und Angebote von Inserenten auf dieser Website ändern sich häufig, manchmal ohne Vorankündigung. Während wir uns bemühen, rechtzeitige und genaue Informationen aufrechtzuerhalten, können Angebot Details veraltet sein. Besucher sollten daher die Bedingungen dieser Angebote vor der Teilnahme an ihnen überprüfen. Der Autor und sein Herausgeber haften nicht für die Aktualisierung von Informationen und haften nicht für die Inhalte, Produkte und Dienstleistungen von Drittanbietern, auch wenn sie über Hyperlinks oder Anzeigen auf dieser Website verlinkt werden. (Veraltet) Forecasting - Autoregressive Integrated Moving Average (ARIMA) Der Microsoft DataMarket ist Im Ruhestand und diese API wurde veraltet. Dieser Dienst implementiert Autoregressive Integrated Moving Average (ARIMA), um Prognosen basierend auf den vom Benutzer bereitgestellten historischen Daten zu erzeugen. Wird die Nachfrage nach einem bestimmten Produkt in diesem Jahr erhöhen Kann ich meine Produktverkäufe für die Weihnachtszeit vorhersagen, damit ich mein Inventar effektiv planen kann Vorhersagemodelle sind geeignet, solche Fragen anzusprechen. Angesichts der bisherigen Daten untersuchen diese Modelle versteckte Trends und Saisonalität, um zukünftige Trends vorherzusagen. Probieren Sie Azure Machine Learning kostenlos aus Keine Kreditkarten - oder Azure-Abo erforderlich. Erste Schritte gt Dieser Webservice kann von Benutzern potentiell über eine mobile App, über eine Website oder sogar auf einem lokalen Computer verbraucht werden. Aber der Zweck des Web-Service ist auch als Beispiel dafür dienen, wie Azure Machine Learning verwendet werden, um Web-Services auf R-Code zu erstellen. Mit nur wenigen Zeilen von R-Code und Klicks einer Schaltfläche in Azure Machine Learning Studio kann ein Experiment mit R-Code erstellt und als Web-Service veröffentlicht werden. Der Webservice kann dann auf dem Azure Marketplace veröffentlicht und von Benutzern und Geräten auf der ganzen Welt konsumiert werden, ohne dass eine Infrastruktureinrichtung vom Autor des Webdienstes eingerichtet wurde. Verbrauch von Web-Service Dieser Dienst akzeptiert 4 Argumente und berechnet die ARIMA-Prognosen. Die Eingabeargumente sind: Frequenz - Zeigt die Häufigkeit der Rohdaten an (täglich wöchentlich jährlich jährlich). Horizont - Zukunft Prognose Zeitrahmen. Datum - Hinzufügen in die neuen Zeitreihendaten für die Zeit. Wert - Hinzufügen in die neuen Zeitreihendatenwerte. Die Ausgabe des Dienstes ist die berechnete Prognosewerte. Proben-Eingang könnte sein: Frequenz - 12 Horizon - 12 Datum - 115201221520123152012415201251520126152012715201281520129152012101520121115201212152012 115201321520133152013415201351520136152013715201381520139152013101520131115201312152013 115201421520143152014415201451520146152014715201481520149152014 Value - 3.4793.683.8323.9413.7973.5863.5083.7313.9153.8443.6343.5493.5573.7853.7823.6013.5443.5563.653.7093.6823.511 3.4293.513.5233.5253.6263.6953.7113.7113.6933 .5713.509 Dieser Dienst, wie auf dem Azure-Marktplatz gehostet, ist ein OData-Dienst, den diese über POST - oder GET-Methoden aufgerufen werden können. Es gibt mehrere Möglichkeiten, den Dienst in einer automatisierten Weise zu verbrauchen (eine Beispiel-App ist hier). Starten des C-Codes für den Web-Service-Verbrauch: Erstellung des Web-Service Dieser Webservice wurde unter Verwendung von Azure Machine Learning erstellt. Für eine kostenlose Testversion sowie Einführungsvideos zum Erstellen von Experimenten und zum Veröffentlichen von Webdiensten. Sehen Sie bitte azureml. Unten ist ein Screenshot des Experiments, das den Webdienst und den Beispielcode für jedes der Module im Experiment erstellt hat. Aus Azure Machine Learning wurde ein neues Blindversuch erstellt. Beispiel-Eingangsdaten wurden mit einem vordefinierten Datenschema hochgeladen. Verknüpft mit dem Datenschema ist ein Execute R Script-Modul, das das ARIMA-Prognosemodell mithilfe von Auto. arima - und Prognosefunktionen aus R erzeugt. Experimentfluss: Einschränkungen Dies ist ein sehr einfaches Beispiel für die ARIMA-Prognose. Wie aus dem obigen Beispielcode ersichtlich ist, ist keine Fehlererfassung implementiert, und der Dienst geht davon aus, dass alle Variablen kontinuierliche positive Werte sind und die Frequenz eine ganze Zahl größer als 1 sein sollte. Die Länge der Datums - und Wertvektoren sollte dieselbe sein . Die Datumsvariable sollte dem Format mmddyyyy entsprechen. Häufig gestellte Fragen zum Verbrauch des Webdienstes oder zur Veröffentlichung auf dem Markt finden Sie hier. Autoregressive Moving-Average-Fehlerprozesse (ARMA-Fehler) und andere Modelle, die Lags von Fehlertermen enthalten, können mit Hilfe von FIT-Anweisungen geschätzt und simuliert oder prognostiziert werden SOLVE-Anweisungen. 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 erwarteten Wert 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 Durchschnittsparameter 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 fehlende Werte nicht ausbreiten, wenn Lag-Priming-Periodenvariablen 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) - Prozess 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ß sein oder überlaufen. 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. Verwenden Sie zuerst eine FIT-Anweisung, um nur die strukturellen Parameter 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 SASETS-Prozeduren unterstützten Autoregressive-Fehler-Startup-Methoden sind die folgenden: Bedingte kleinste Fehlerquadrate (ARIMA - und MODEL-Prozeduren) Unbedingte Kleinstquadrate (AUTOREG, ARIMA und MODEL) Maximale Wahrscheinlichkeit (AUTOREG, ARIMA und MODEL) Yule-Walker (AUTOREG Hildreth-Lu, das die ersten p-Beobachtungen löscht (nur MODELL-Verfahren) 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 durch PROC MODELL: AR (1) ERRORS Die anfänglichen Verzögerungen der Fehlerausdrücke von MA (q) - Modellen können auch unterschiedlich 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 SASETS-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 dies ist 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 Serien 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 beiden vorhergehenden 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, wird die Verzögerungsliste standardmäßig auf alle Verzögerungen 1 bis nlag gesetzt. 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 Makro MA ist Teil der SASETS-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 SASIML-Anweisungen erzeugen einen ARMA-Fehlerprozess (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, wird die Verzögerungsliste standardmäßig auf alle Verzögerungen 1 bis nlag gesetzt. 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 beim Erstellen 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 Verzögerungen an, zu denen die MA-Bedingungen hinzugefügt werden sollen.


No comments:

Post a Comment