Tuesday, 26 September 2017

Exponentiell Gleitend Durchschnittlich Unregelmäßig


Schritte bei der Auswahl eines Prognosemodells Ihr Prognosemodell sollte Merkmale beinhalten, die alle wichtigen qualitativen Eigenschaften der Daten erfassen: Muster der Variation in Level und Trend, Auswirkungen von Inflation und Saisonalität, Korrelationen zwischen Variablen usw. Darüber hinaus sind die Annahmen, die Ihrem zugrunde liegen Gewähltes Modell sollte mit Ihrer Intuition übereinstimmen, wie sich die Serie wahrscheinlich in der Zukunft verhalten wird. Bei der Anpassung eines Prognosemodells haben Sie einige der folgenden Optionen: Diese Optionen werden im Folgenden kurz beschrieben. Weitere Informationen finden Sie im dazugehörigen Prognose-Ablaufdiagramm für eine bildliche Darstellung des Modellspezifikationsprozesses und verweisen auf das Statgraphics Model Specification Panel, um zu sehen, wie die Modellmerkmale in der Software ausgewählt werden. Deflation Wenn die Serie das Inflationswachstum zeigt, dann wird die Deflation dazu beitragen, das Wachstumsmuster zu berücksichtigen und die Heterosedastizität in den Residuen zu reduzieren. Sie können entweder (i) die vergangenen Daten entleeren und die langfristigen Prognosen mit einer konstanten angenommenen Rate neu anlegen oder (ii) die vergangenen Daten durch einen Preisindex wie den CPI deflationieren und dann die langfristigen Prognosen quellenfristig neu erstellen Eine Prognose des Preisindexes. Option (i) ist am einfachsten. In Excel können Sie einfach eine Spalte von Formeln erstellen, um die ursprünglichen Werte durch die entsprechenden Faktoren zu teilen. Zum Beispiel, wenn die Daten monatlich sind und Sie mit einer Rate von 5 pro 12 Monate deflationieren möchten, würden Sie durch einen Faktor von (1.05) (k12) teilen, wobei k der Zeilenindex (Beobachtungsnummer) ist. RegressIt und Statgraphics haben integrierte Tools, die dies automatisch für Sie tun. Wenn Sie diese Route gehen, ist es in der Regel am besten, die angenommene Inflationsrate gleich Ihrer besten Schätzung der aktuellen Rate, vor allem, wenn Sie gehen zu prognostizieren mehr als eine Periode vor. Wenn Sie stattdessen Option (ii) wählen, müssen Sie zuerst die deflationierten Prognosen und Vertrauensgrenzen auf Ihre Datenkalkulationstabelle speichern, dann eine Prognose für den Preisindex erzeugen und speichern und schließlich die entsprechenden Spalten zusammen multiplizieren. (Rückkehr nach oben) Logarithmus-Transformation Wenn die Reihe das zusammengesetzte Wachstum und ein multiplikatives saisonales Muster zeigt, kann eine Logarithmus-Transformation zusätzlich zu oder lieu der Deflation hilfreich sein. Die Protokollierung der Daten wird ein inflationäres Wachstumsmuster nicht verkleinern, aber es wird es so ausrichten, dass es durch ein lineares Modell (z. B. ein zufälliges Spaziergang oder ARIMA-Modell mit konstantem Wachstum oder ein lineares exponentielles Glättungsmodell) angepasst werden kann. Auch das Protokollieren wird multiplikative saisonale Muster zu additiven Mustern umwandeln, so dass, wenn Sie saisonale Anpassung nach dem Protokollieren durchführen, sollten Sie den additiven Typ verwenden. Die Protokollierung befasst sich mit der Inflation implizit, wenn Sie wollen, dass die Inflation explizit modelliert wird - d. h. Wenn Sie möchten, dass die Inflationsrate ein sichtbarer Parameter des Modells ist oder wenn Sie Plots von deflationierten Daten anzeigen möchten, dann sollten Sie sich entleeren, anstatt sich zu loggen. Eine weitere wichtige Verwendung für die Log-Transformation ist die Linearisierung von Beziehungen zwischen Variablen in einem Regressionsmodus l. Wenn zum Beispiel die abhängige Variable eine multiplikative und nicht additive Funktion der unabhängigen Variablen ist oder wenn die Beziehung zwischen abhängigen und unabhängigen Variablen in Form von prozentualen Änderungen anstelle von absoluten Änderungen linear ist, dann eine Log-Transformation auf eine oder mehrere Variablen anwenden Kann angemessen sein, wie im Beispiel des Bierverkaufs. (Zurück zum Seitenanfang.) Saisonale Anpassung Wenn die Serie ein starkes Saisonmuster hat, von dem angenommen wird, dass sie von Jahr zu Jahr konstant ist, kann die saisonale Anpassung ein geeigneter Weg sein, um das Muster zu schätzen und zu extrapolieren. Der Vorteil der saisonalen Anpassung ist, dass es das saisonale Muster explizit modelliert und Ihnen die Möglichkeit gibt, die saisonalen Indizes und die saisonbereinigten Daten zu studieren. Der Nachteil ist, dass es die Schätzung einer großen Anzahl von zusätzlichen Parametern erfordert (insbesondere für monatliche Daten), und es stellt keine theoretische Begründung für die Berechnung von fehlerhaften Konfidenzintervallen zur Verfügung. Out-of-Sample-Validierung ist besonders wichtig, um das Risiko der Überlagerung der vergangenen Daten durch saisonale Anpassung zu reduzieren. Wenn die Daten stark saisonal sind, aber Sie nicht wählen saisonale Anpassung, die Alternativen sind entweder (i) verwenden Sie eine saisonale ARIMA-Modell. Die implizit das saisonale Muster mit saisonalen Verzögerungen und Unterschieden prognostiziert, oder (ii) das Winters saisonale exponentielle Glättungsmodell verwenden, das zeitveränderliche saisonale Indizes schätzt. (Zurück zum Seitenanfang.) QuotIndependentquot Variablen Wenn es noch andere Zeitreihen gibt, von denen man glaubt, dass sie in Bezug auf Ihre interessante Serie (zB führende Wirtschaftsindikatoren oder politische Variablen wie Preis, Werbung, Promotionen etc.) Möchte die Regression als Modelltyp betrachten. Ob Sie Regression wählen oder nicht, müssen Sie die oben genannten Möglichkeiten für die Umwandlung Ihrer Variablen (Deflation, Log, saisonale Anpassung - und vielleicht auch differenzierende) berücksichtigen, um die Zeitdimension zu nutzen und die Beziehungen zu linearisieren. Auch wenn Sie an dieser Stelle keine Regression wählen, können Sie erwähnen, Regressoren später zu einem Zeitreihenmodell (z. B. einem ARIMA-Modell) hinzuzufügen, wenn die Residuen sich mit anderen Variablen signifikanten Kreuzkorrelationen ergeben. (Zurück zum Seitenanfang) Glättung, Mittelung oder zufälliger Spaziergang Wenn Sie sich für die saisonale Anpassung der Daten entschieden haben - oder wenn die Daten nicht saisonal beginnen, dann können Sie vielleicht ein Mittelwert oder ein Glättungsmodell verwenden Passt das nicht-seasonal Muster, das in den Daten an dieser Stelle bleibt. Ein einfaches gleitendes durchschnittliches oder einfaches exponentielles Glättungsmodell berechnet lediglich einen lokalen Durchschnitt von Daten am Ende der Reihe, unter der Annahme, dass dies die beste Schätzung des aktuellen Mittelwerts ist, um den die Daten schwanken. (Diese Modelle gehen davon aus, dass der Mittelwert der Serie langsam und zufällig ohne anhaltende Trends variiert.) Eine einfache exponentielle Glättung wird normalerweise einem einfachen gleitenden Durchschnitt bevorzugt, weil ihr exponentiell gewichteter Durchschnitt eine sinnvollere Aufgabe hat, die älteren Daten zu diskontieren, weil seine Glättungsparameter (alpha) ist kontinuierlich und lässt sich leicht optimieren und weil es eine zugrundeliegende theoretische Grundlage für die Berechnung von Konfidenzintervallen hat. Wenn Glättung oder Mittelung nicht hilfreich zu sein scheint - d. h. Wenn der beste Prädiktor des nächsten Wertes der Zeitreihe einfach seinen vorherigen Wert ist - dann wird ein zufälliges Wandermodell angezeigt. Dies ist beispielsweise dann der Fall, wenn die optimale Anzahl von Terme im einfachen gleitenden Durchschnitt 1 ist oder wenn der optimale Wert von alpha in einfacher exponentieller Glättung 0,9999 beträgt. Browns lineare exponentielle Glättung kann verwendet werden, um eine Serie mit langsam zeitveränderlichen linearen Trends passen, aber vorsichtig sein, um solche Trends sehr weit in die Zukunft zu extrapolieren. (Die sich schnell wachsenden Konfidenzintervalle für dieses Modell belegen seine Ungewissheit über die ferne Zukunft.) Holts lineare Glättung schätzt auch zeitveränderliche Trends, verwendet aber separate Parameter für die Glättung von Level und Trend, was in der Regel eine bessere Anpassung an die Daten liefert Als Brown8217s Modell. Q uadratische exponentielle Glättung versucht, zeitvariable quadratische Trends abzuschätzen und sollte praktisch niemals verwendet werden. (Dies entspricht einem ARIMA-Modell mit drei Ordnungen von Nichtseason-Differenzen.) Lineare exponentielle Glättung mit einem gedämpften Trend (d. h. ein Trend, der sich in entfernten Horizonten abflacht) wird oft in Situationen empfohlen, in denen die Zukunft sehr unsicher ist. Die verschiedenen exponentiellen Glättungsmodelle sind Sonderfälle von ARIMA Modellen (siehe unten) und können mit ARIMA Software ausgestattet werden. Insbesondere ist das einfache exponentielle Glättungsmodell ein ARIMA (0,1,1) Modell, das Holt8217s lineare Glättungsmodell ist ein ARIMA (0,2,2) Modell und das gedämpfte Trendmodell ist ein ARIMA (1,1,2 ) Modell. Eine gute Zusammenfassung der Gleichungen der verschiedenen exponentiellen Glättungsmodelle finden Sie auf dieser Seite auf der SAS-Website. (Die SAS-Menüs für die Spezifizierung von Zeitreihenmodellen werden auch dort gezeigt, wie sie in den Statgraphiken ähnlich sind.) Lineare, quadratische oder exponentielle Trendlinienmodelle sind weitere Optionen für die Extrapolation einer entsetzten Serie, aber sie übertreffen selten zufällige Spaziergänge, Glättung oder ARIMA-Modelle auf Geschäftsdaten. (Zurück zum Seitenanfang) Winters Seasonal Exponential Smoothing Winters Saisonale Glättung ist eine Erweiterung der exponentiellen Glättung, die gleichzeitig zeitveränderliche Level-, Trend - und saisonale Faktoren mit rekursiven Gleichungen schätzt. (So, wenn du dieses Modell benutzt, würdest du die Daten nicht saisonal anpassen.) Die Wintersaisonfaktoren können entweder multiplikativ oder additiv sein: Normalerweise sollten Sie die multiplikative Option wählen, wenn Sie die Daten nicht angemeldet haben. Obwohl das Winters-Modell clever und vernünftig intuitiv ist, kann es schwierig sein, in der Praxis anzuwenden: Es hat drei Glättungsparameter - Alpha, Beta und Gamma - für die getrennte Glättung der Level-, Trend - und Saisonfaktoren, die geschätzt werden müssen gleichzeitig. Die Bestimmung der Startwerte für die saisonalen Indizes kann durch Anwendung der Verhältnis-zu-Verschiebung durchschnittlichen Methode der saisonalen Anpassung an Teil oder alle der Serie und oder durch Backforecasting erfolgen. Der Schätzalgorithmus, den Statgraphics für diese Parameter verwendet, scheitert manchmal nicht und liefert Werte, die bizarr aussehende Prognosen und Konfidenzintervalle geben, also würde ich bei der Verwendung dieses Modells Vorsicht walten lassen. (Zurück zum Seitenanfang.) ARIMA Wenn Sie keine saisonale Anpassung wählen (oder wenn die Daten nicht saisonal sind), können Sie das ARIMA-Modell-Framework verwenden. ARIMA-Modelle sind eine sehr allgemeine Klasse von Modellen, die zufälligen Spaziergang, zufälligen Trend, exponentielle Glättung und autoregressive Modelle als spezielle Fälle beinhaltet. Die konventionelle Weisheit ist, dass eine Serie ein guter Kandidat für ein ARIMA-Modell ist, wenn (i) es durch eine Kombination von differenzierenden und anderen mathematischen Transformationen wie Protokollierung stationiert werden kann, und (ii) Sie haben eine beträchtliche Menge an Daten zu arbeiten : Mindestens 4 volle Jahreszeiten bei saisonalen Daten. (Wenn die Serie durch Differenzierung nicht adäquat stationärisiert werden kann - zB wenn es sehr unregelmäßig ist oder ihr Verhalten im Laufe der Zeit qualitativ verändert hat - oder wenn Sie weniger als 4 Datenperioden haben, dann wäre es besser, mit einem Modell besser zu sein Das saisonale Anpassung und eine Art einfache Mittelung oder Glättung verwendet.) ARIMA Modelle haben eine spezielle Namenskonvention von Box und Jenkins eingeführt. Ein nicht-seasonales ARIMA-Modell wird als ARIMA (p, d, q) - Modell klassifiziert, wobei d die Anzahl der nicht-seasonalen Differenzen ist, p die Anzahl der autoregressiven Terme (Verzögerungen der differenzierten Reihe) und q die Anzahl der Moving - Durchschnittliche Ausdrücke (Verzögerungen der Prognosefehler) in der Vorhersagegleichung. Ein saisonales ARIMA-Modell wird als ARIMA (p, d, q) x (P, D, Q) klassifiziert. Wobei D, P und Q jeweils die Anzahl der saisonalen Unterschiede, saisonale autoregressive Begriffe (Verzögerungen der differenzierten Reihen bei Vielfachen der Saisonperiode) und saisonale gleitende Durchschnittsterme (Verzögerungen der Prognosefehler bei Vielfachen der Saison Periode). Der erste Schritt in der Anpassung eines ARIMA-Modells ist es, die richtige Reihenfolge der Differenzierung zu bestimmen, die benötigt wird, um die Serie zu stationieren und die Brutto-Features der Saisonalität zu entfernen. Dies ist gleichbedeutend mit der Bestimmung, welche Quoten-Zufalls-Spaziergang oder Zufalls-Trend-Modell den besten Ausgangspunkt bietet. Versuchen Sie nicht, mehr als 2 Gesamtaufträge von differencing (nicht saisonale und saisonale kombiniert) zu verwenden, und verwenden Sie nicht mehr als einen saisonalen Unterschied. Der zweite Schritt ist zu bestimmen, ob ein konstanter Begriff in das Modell gehören: in der Regel haben Sie einen konstanten Begriff, wenn die gesamte Reihenfolge der Differenzierung ist 1 oder weniger, sonst sind Sie nicht. In einem Modell mit einer Reihenfolge der Differenzierung stellt der konstante Begriff den durchschnittlichen Trend in den Prognosen dar. In einem Modell mit zwei Ordnungen der Differenzierung wird der Trend in den Prognosen durch den am Ende der Zeitreihe beobachteten lokalen Trend bestimmt und der konstante Term repräsentiert den Trend-in-the-Trend, dh die Krümmung der Langzeit - Langfristige prognosen Normalerweise ist es gefährlich, Trends-in-Trends zu extrapolieren, also unterdrücken Sie den dazugehörigen Begriff in diesem Fall. Der dritte Schritt besteht darin, die Anzahl der autoregressiven und gleitenden Durchschnittsparameter (p, d, q, P, D, Q) zu wählen, die benötigt werden, um jegliche Autokorrelation zu beseitigen, die in den Resten des naiven Modells verbleibt (dh jegliche Korrelation, Bloß differenzierend). Diese Zahlen bestimmen die Anzahl der Verzögerungen der differenzierten Serien und die Verzögerungen der Prognosefehler, die in der Prognosegleichung enthalten sind. Wenn es an dieser Stelle keine signifikante Autokorrelation in den Residuen gibt, dann ist das getan: das beste Modell ist ein naives Modell Wenn es eine signifikante Autokorrelation bei den Verzögerungen 1 oder 2 gibt, sollten Sie versuchen, q1 einzustellen, wenn einer der folgenden Punkte zutrifft: ( I) Es gibt einen nicht-saisonalen Unterschied im Modell, (ii) die Verzögerung 1 Autokorrelation ist negativ. Und (iii) die restliche Autokorrelationskurve ist sauberer (weniger, mehr isolierte Spikes) als die restliche partielle Autokorrelationskurve. Wenn es keinen nicht-saisonalen Unterschied in der Modell-und und die Lag 1 Autokorrelation ist positiv und und die restlichen partiellen Autokorrelation Handlung sieht sauberer, dann versuchen p1. (Manchmal sind diese Regeln für die Wahl zwischen p1 und q1 in Konflikt mit einander, in welchem ​​Fall es wahrscheinlich nicht viel Unterschied, die Sie verwenden. Versuchen Sie sie beide und vergleichen.) Wenn es Autokorrelation bei Verzögerung 2, die nicht durch die Einstellung p1 entfernt wird Oder q1, dann kannst du p2 oder q2 oder gelegentlich p1 und q1 ausprobieren. Noch seltener kann man Situationen begegnen, in denen p2 oder 3 und q1 oder umgekehrt die besten Ergebnisse liefert. Es wird sehr dringend empfohlen, dass Sie pgt1 und qgt1 nicht im selben Modell verwenden. Im Allgemeinen sollten Sie bei der Montage von ARIMA-Modellen eine zunehmende Modellkomplexität vermeiden, um nur winzige weitere Verbesserungen der Fehlerstatistiken oder das Aussehen der ACF - und PACF-Plots zu erhalten. Auch in einem Modell mit pgt1 und qgt1 gibt es eine gute Möglichkeit der Redundanz und Nicht-Eindeutigkeit zwischen den AR - und MA-Seiten des Modells, wie in den Anmerkungen zur mathematischen Struktur des ARIMA-Modells s erläutert. Es ist in der Regel besser, in einer vorwärts schrittweise statt rückwärts schrittweise Weise vorzugehen, wenn man die Modellspezifikationen anpasst: Mit einfacheren Modellen beginnen und nur noch mehr Begriffe hinzufügen, wenn es einen klaren Bedarf gibt. Die gleiche Regelung gilt für die Anzahl der saisonalen autoregressiven Begriffe (P) und die Anzahl der saisonalen gleitenden Durchschnittstermine (Q) in Bezug auf die Autokorrelation zum Saisonzeitraum (z. B. Verzögerung 12 für monatliche Daten). Versuchen Sie Q1, wenn es bereits einen saisonalen Unterschied im Modell gibt und die saisonale Autokorrelation negativ ist und die restliche Autokorrelationskurve in der Nähe der Saisonverzögerung sauberer aussieht, sonst versuchen Sie P1. (Wenn es logisch ist, dass die Serie eine starke Saisonalität aufweist, dann müssen Sie einen saisonalen Unterschied verwenden, sonst wird das saisonale Muster bei Langzeitprognosen ausblenden.) Gelegentlich können Sie P2 und Q0 oder Vice v ersa ausprobieren, Oder PQ1. Allerdings ist es sehr dringend empfohlen, dass PQ nie größer sein sollte als 2. Saisonmuster haben selten die Art von perfekter Regelmäßigkeit über eine ausreichend große Anzahl von Jahreszeiten, die es ermöglichen würde, zuverlässig zu identifizieren und zu schätzen, dass viele Parameter. Außerdem wird der Backforecasting-Algorithmus, der bei der Parameterschätzung verwendet wird, wahrscheinlich zu unzuverlässigen (oder sogar verrückten) Ergebnissen führen, wenn die Anzahl der Jahreszeiten von Daten nicht signifikant größer als PDQ ist. Ich würde nicht weniger als PDQ2 volle Jahreszeiten empfehlen, und mehr ist besser. Auch bei der Montage von ARIMA-Modellen sollten Sie darauf achten, dass die Daten nicht übertrieben werden, trotz der Tatsache, dass es eine Menge Spaß sein kann, sobald Sie den Hang davon bekommen. Wichtige Sonderfälle: Wie oben erwähnt, ist ein ARIMA (0,1,1) - Modell ohne Konstante identisch mit einem einfachen exponentiellen Glättungsmodell und nimmt einen Floating-Level an (d. h. keine mittlere Reversion), aber mit null langfristigem Trend. Ein ARIMA (0,1,1) Modell mit Konstante ist ein einfaches exponentielles Glättungsmodell mit einem linearen Trendbegriff. Ein ARIMA (0,2,1) oder (0,2,2) Modell ohne Konstante ist ein lineares exponentielles Glättungsmodell, das einen zeitveränderlichen Trend ermöglicht. Ein ARIMA (1,1,2) - Modell ohne Konstante ist ein lineares exponentielles Glättungsmodell mit gedämpftem Trend, d. h. ein Trend, der sich schließlich in längerfristigen Prognosen abhebt. Die gebräuchlichsten saisonalen ARIMA Modelle sind das ARIMA (0,1,1) x (0,1,1) Modell ohne Konstante und das ARIMA (1,0,1) x (0,1,1) Modell mit konstantem. Die ersteren dieser Modelle setzen grundsätzlich eine exponentielle Glättung sowohl der nicht-seasonalen als auch der saisonalen Komponenten des Musters in den Daten ein, während sie einen zeitveränderlichen Trend zulassen, und das letztere Modell ist etwas ähnlich, nimmt aber einen konstanten linearen Trend an und ist daher etwas langer - term Vorhersagbarkeit. Sie sollten immer diese beiden Modelle unter Ihrer Aufstellung von Verdächtigen, wenn passende Daten mit konsistenten saisonalen Muster. Einer von ihnen (vielleicht mit einer geringfügigen Variation, wie z. B. steigende p oder q um 1 undeiner Einstellung P1 sowie Q1) ist oft die beste. (Zurück zum Seitenanfang.) Verwenden von R für Zeitreihenanalyse Zeitreihenanalyse Diese Broschüre gibt Ihnen die Verwendung der R-Statistik-Software, um einige einfache Analysen durchzuführen, die bei der Analyse von Zeitreihendaten üblich sind. Diese Broschüre geht davon aus, dass der Leser einige Grundkenntnisse der Zeitreihenanalyse hat und der Schwerpunkt der Broschüre ist nicht, die Zeitreihenanalyse zu erläutern, sondern vielmehr zu erklären, wie diese Analysen mit R durchgeführt werden können. Wenn Sie neu in der Zeitreihe sind Analyse und möchten mehr über irgendwelche der hier vorgestellten Konzepte erfahren, empfehle ich das Open University Buch 8220Time series8221 (Produktcode M24902), erhältlich ab dem Open University Shop. In dieser Broschüre verwende ich Zeitreihen-Datensätze, die von Rob Hyndman in seiner Time Series Data Library bei robjhyndmanTSDL freundlich zur Verfügung gestellt wurden. Wenn Sie diese Broschüre mögen, können Sie auch gern meine Broschüre über die Verwendung von R für biomedizinische Statistiken, a-luch-of-for-biomedical-statistics. readthedocs. org. Und meine Broschüre über die Verwendung von R für multivariate Analysen, kleine-Mon-für-Multivariate-analysis. readthedocs. org. Lesen von Zeitreihen-Daten Das erste, was Sie tun möchten, um Ihre Zeitreihendaten zu analysieren, wird es sein, es in R zu lesen und die Zeitreihen zu zeichnen. Sie können die Daten in R mit der Funktion scan () lesen, die davon ausgeht, dass sich Ihre Daten für aufeinanderfolgende Zeitpunkte in einer einfachen Textdatei mit einer Spalte befinden. Zum Beispiel enthält die Datei robjhyndmantsdldatamisckings. dat Daten über das Alter des Todes der aufeinanderfolgenden Könige von England, beginnend mit William der Eroberer (ursprüngliche Quelle: Hipel und Mcleod, 1994). Der Datensatz sieht so aus: Nur die ersten Zeilen der Datei wurden angezeigt. Die ersten drei Zeilen enthalten einen Kommentar zu den Daten, und wir wollen dies ignorieren, wenn wir die Daten in R lesen. Wir können dies verwenden, indem wir den Parameter 8220skip8221 der scan () - Funktion verwenden, der angibt, wie viele Zeilen an der Oberseite von Die Datei zu ignorieren. Um die Akte in R zu lesen, die ersten drei Zeilen zu ignorieren, geben wir an: In diesem Fall wurde das Todesalter von 42 aufeinanderfolgenden Königen von England in die Variable 8216kings8217 eingelesen. Sobald Sie die Zeitreihendaten in R gelesen haben, ist der nächste Schritt, die Daten in einem Zeitreihenobjekt in R zu speichern, damit Sie R8217s viele Funktionen zur Analyse von Zeitreihendaten verwenden können. Um die Daten in einem Zeitreihenobjekt zu speichern, verwenden wir die Funktion ts () in R. Um beispielsweise die Daten in der Variablen 8216kings8217 als Zeitreihenobjekt in R zu speichern, geben wir an: Manchmal legen die Zeitreihendaten fest Können in regelmäßigen Abständen gesammelt worden sein, die weniger als ein Jahr waren, zum Beispiel monatlich oder vierteljährlich. In diesem Fall können Sie die Anzahl der Daten festlegen, die Daten pro Jahr gesammelt wurden, indem Sie den Parameter 8216frequency8217 in der Funktion ts () verwenden. Für monatliche Zeitreihendaten setzen Sie die Frequenz12, während für vierteljährliche Zeitreihendaten die Frequenz4 eingestellt ist. Sie können auch das erste Jahr angeben, in dem die Daten gesammelt wurden, und das erste Intervall in diesem Jahr, indem Sie den Parameter 8216start8217 in der Funktion ts () verwenden. Zum Beispiel, wenn der erste Datenpunkt dem zweiten Quartal 1986 entspricht, würden Sie startc (1986,2) setzen. Ein Beispiel ist ein Datensatz der Anzahl der Geburten pro Monat in New York City, von Januar 1946 bis Dezember 1959 (ursprünglich von Newton gesammelt). Diese Daten sind in der Datei vorhanden robjhyndmantsdldatadatanybirths. dat Wir können die Daten in R lesen und als Zeitreihenobjekt speichern, indem wir folgendes eingeben: Ähnlich enthält die Datei robjhyndmantsdldatadatafancy. dat monatliche Verkäufe für einen Souvenirshop an einem Badeort in Queensland, Australien, für Januar 1987 - Dezember 1993 (Originaldaten von Wheelwright und Hyndman, 1998). Wir können die Daten in R lesen, indem wir schreiben: Plotten-Zeitreihen Sobald Sie eine Zeitreihe in R gelesen haben, ist der nächste Schritt in der Regel eine Aufstellung der Zeitreihendaten, die Sie mit der Funktion plot. ts () machen können In R. Zum Beispiel, um die Zeitreihen des Todes des Todes von 42 aufeinanderfolgenden Königen von England zu zeichnen, geben wir: Wir können aus der Zeitpläne sehen, dass diese Zeitreihe wahrscheinlich mit einem additiven Modell beschrieben werden könnte, da die zufälligen Schwankungen In den Daten sind etwa konstant in der Größe über die Zeit. Ebenso, um die Zeitreihen der Anzahl der Geburten pro Monat in der New Yorker Stadt zu zeichnen, geben wir: Wir können aus dieser Zeitreihe sehen, dass es saisonale Unterschiede in der Anzahl der Geburten pro Monat gibt: Es gibt einen Höhepunkt jeden Sommer , Und ein Trog jeden Winter. Wieder scheint es, dass diese Zeitreihe wahrscheinlich mit einem additiven Modell beschrieben werden könnte, da die saisonalen Schwankungen im Laufe der Zeit etwa konstant sind und sich nicht auf das Niveau der Zeitreihen verlassen und die zufälligen Schwankungen auch zu sein scheinen Etwa konstant in der Größe über die Zeit. Ähnlich, um die Zeitreihen der monatlichen Verkäufe für den Souvenir-Shop an einem Strand-Ferienort in Queensland, Australien zu zeichnen, geben wir an: In diesem Fall scheint es, dass ein additives Modell nicht geeignet ist, diese Zeitreihe zu beschreiben, da die Größe Der saisonalen Schwankungen und zufälligen Schwankungen scheinen mit dem Niveau der Zeitreihe zu erhöhen. So können wir die Zeitreihen umwandeln, um eine transformierte Zeitreihe zu erhalten, die mit einem additiven Modell beschrieben werden kann. Zum Beispiel können wir die Zeitreihen umwandeln, indem wir das natürliche Protokoll der ursprünglichen Daten berechnen: Hier sehen wir, dass die Größe der saisonalen Schwankungen und zufälligen Schwankungen in den logarithmierten Zeitreihen im Laufe der Zeit etwa konstant zu sein scheinen Nicht vom Niveau der Zeitreihen abhängen Somit kann die log-transformierte Zeitreihe wahrscheinlich mit einem additiven Modell beschrieben werden. Zerlegen der Zeitreihe Die Zerlegung einer Zeitreihe bedeutet, sie in ihre Bestandteile zu zerlegen, die in der Regel eine Trendkomponente und eine unregelmäßige Komponente sind, und wenn es sich um eine saisonale Zeitreihe handelt, eine saisonale Komponente. Zerlegen von nicht saisonalen Daten Eine nicht saisonale Zeitreihe besteht aus einer Trendkomponente und einer unregelmäßigen Komponente. Das Zerlegen der Zeitreihe beinhaltet das Versuchen, die Zeitreihen in diese Komponenten zu trennen, dh die Trendkomponente und die unregelmäßige Komponente zu schätzen. Zur Abschätzung der Trendkomponente einer nicht-saisonalen Zeitreihe, die mit einem additiven Modell beschrieben werden kann, ist es üblich, ein Glättungsverfahren zu verwenden, wie beispielsweise das Berechnen des einfachen gleitenden Durchschnitts der Zeitreihen. Die SMA () - Funktion im Paket 8220TTR8221 R kann verwendet werden, um Zeitreihendaten mit einem einfachen gleitenden Durchschnitt zu glätten. Um diese Funktion nutzen zu können, müssen wir zuerst das Paket 8220TTR8221 R installieren (Anleitungen zur Installation eines R-Pakets finden Sie unter So installieren Sie ein R-Paket). Sobald Sie das Paket 8220TTR8221 R installiert haben, können Sie das Paket 8220TTR8221 R laden, indem Sie Folgendes eingeben: Sie können dann die Funktion 8220SMA () 8221 verwenden, um Zeitreihendaten zu verkleinern. Um die Funktion SMA () zu verwenden, müssen Sie mit dem Parameter 8220n8221 die Reihenfolge (Spanne) des einfachen gleitenden Durchschnitts angeben. Um beispielsweise einen einfachen gleitenden Durchschnitt von Ordnung 5 zu berechnen, setzen wir n5 in die Funktion SMA (). Zum Beispiel, wie oben diskutiert, ist die Zeitreihe des Todesalter von 42 aufeinanderfolgenden Königen von England nicht saisonal und kann vermutlich unter Verwendung eines additiven Modells beschrieben werden, da die zufälligen Schwankungen in den Daten in etwa größer sind Zeit: So können wir versuchen, die Trendkomponente dieser Zeitreihe durch Glättung mit einem einfachen gleitenden Durchschnitt zu schätzen. Um die Zeitreihen mit einem einfachen gleitenden Durchschnitt von Ordnung 3 zu glätten und die geglätteten Zeitreihendaten zu zeichnen, geben wir: Es gibt immer noch ziemlich viele zufällige Schwankungen in der Zeitreihe, die mit einem einfachen gleitenden Durchschnitt der Ordnung 3 geglättet wurde. Um also die Trendkomponente genauer abzuschätzen, möchten wir vielleicht versuchen, die Daten mit einem einfachen gleitenden Durchschnitt höherer Ordnung zu glätten. Das braucht ein bisschen Test-und-Fehler, um die richtige Menge an Glättung zu finden. Zum Beispiel können wir mit einem einfachen gleitenden Durchschnitt von Ordnung 8 versuchen: Die Daten, die mit einem einfachen gleitenden Durchschnitt von Ordnung 8 geglättet wurden, geben ein klareres Bild der Trendkomponente, und wir können sehen, dass das Alter des Todes der englischen Könige zu sein scheint Haben sich von etwa 55 Jahre alt auf etwa 38 Jahre alt während der Herrschaft der ersten 20 Könige, und dann erhöht, um bis etwa 73 Jahre alt am Ende der Herrschaft des 40. Königs in der Zeitreihe. Zerlegen saisonale Daten Eine saisonale Zeitreihe besteht aus einer Trendkomponente, einer saisonalen Komponente und einer unregelmäßigen Komponente. Das Zerlegen der Zeitreihe bedeutet, die Zeitreihe in diese drei Komponenten zu trennen, dh die Schätzung dieser drei Komponenten. Um die Trendkomponente und die saisonale Komponente einer saisonalen Zeitreihe, die mit einem additiven Modell beschrieben werden kann, abzuschätzen, können wir die Funktion 8220decompose () 8221 in R verwenden. Diese Funktion schätzt die Trend-, Saison - und unregelmäßigen Komponenten einer Zeitreihe, die Kann mit einem additiven Modell beschrieben werden. Die Funktion 8220decompose () 8221 gibt ein Listenobjekt als Ergebnis zurück, wobei die Schätzungen der Saisonkomponente, der Trendkomponente und der unregelmäßigen Komponente in benannten Elementen dieser Listenobjekte, z. B. 8220seasonal8221, 8220trend8221 und 8220random8221, gespeichert sind. Zum Beispiel, wie oben diskutiert, ist die Zeitreihe der Anzahl der Geburten pro Monat in New York City saisonal mit einem Höhepunkt jeden Sommer und Trog jeden Winter, und kann wahrscheinlich mit einem additiven Modell beschrieben werden, da die saisonalen und zufälligen Schwankungen zu sein scheinen Im Laufe der Zeit grob konstant sein: Um den Trend, die saisonalen und unregelmäßigen Komponenten dieser Zeitreihe abzuschätzen, geben wir: Die geschätzten Werte der saisonalen, trend - und unregelmäßigen Komponenten werden nun in Variablen gebunden. GeburtsstundenerzeugnisseKomponentenseasonal, Geburtsstadiencomponentstrend und GeburtsstämmeKomponenten. Zum Beispiel können wir die geschätzten Werte der Saisonkomponente ausdrucken, indem wir folgendes eingeben: Die geschätzten saisonalen Faktoren werden für die Monate Januar bis Dezember angegeben und sind für jedes Jahr gleich. Der größte saisonale Faktor ist für Juli (ca. 1,46), und der niedrigste ist für Februar (ca. -2,08), was darauf hindeutet, dass es einen Höhepunkt in den Geburten im Juli und einen Trog in Geburten im Februar jedes Jahr zu sein scheint. Wir können die geschätzten Trend-, Saison - und unregelmäßigen Komponenten der Zeitreihen mit der Funktion 8220plot () 8221 aufführen: Die obige Darstellung zeigt die ursprüngliche Zeitreihe (oben), die geschätzte Trendkomponente (zweites von oben), Die geschätzte saisonale Komponente (dritter von oben) und die geschätzte unregelmäßige Komponente (unten). Wir sehen, dass die geschätzte Trendkomponente einen kleinen Rückgang von etwa 24 im Jahr 1947 auf etwa 22 im Jahr 1948 zeigt, gefolgt von einem stetigen Anstieg von dann auf etwa 27 im Jahr 1959. Saisonale Anpassung Wenn Sie eine saisonale Zeitreihen, die beschrieben werden können Ein additives Modell, können Sie saisonabhängig die Zeitreihen durch Schätzen der saisonalen Komponente und subtrahieren die geschätzte saisonale Komponente aus der ursprünglichen Zeitreihe. Wir können dies mit der Schätzung der saisonalen Komponente berechnen, die durch die Funktion 8220decompose () 8221 berechnet wird. Zum Beispiel, um die Zeitreihen der Anzahl der Geburten pro Monat in New York City saisonal anzupassen, können wir die saisonale Komponente mit 8220decompose () 8221 abschätzen und dann die saisonale Komponente aus der ursprünglichen Zeitreihe subtrahieren: Wir können dann die Saisonbereinigte Zeitreihen mit der Funktion 8220plot () 8221, durch Eingabe: Sie können sehen, dass die saisonale Variation aus der saisonbereinigten Zeitreihe entfernt wurde. Die saisonbereinigte Zeitreihe enthält nun nur die Trendkomponente und eine unregelmäßige Komponente. Prognosen mit exponentieller Glättung Exponentielle Glättung kann verwendet werden, um kurzfristige Prognosen für Zeitreihendaten zu machen. Einfache exponentielle Glättung Wenn Sie eine Zeitreihe haben, die mit einem additiven Modell mit konstantem Niveau und ohne Saisonalität beschrieben werden kann, können Sie einfache, exponentielle Glättung verwenden, um kurzfristige Prognosen zu machen. Das einfache exponentielle Glättungsverfahren bietet eine Möglichkeit, den Pegel zum aktuellen Zeitpunkt zu schätzen. Die Glättung wird durch den Parameter alpha für die Schätzung des Pegels zum aktuellen Zeitpunkt gesteuert. Der Wert von alpha liegt zwischen 0 und 1. Werte von alpha, die nahe bei 0 sind, bedeutet, dass bei der Erstellung von Prognosen zukünftiger Werte wenig Gewicht auf die aktuellsten Beobachtungen gelegt wird. Zum Beispiel enthält die Datei robjhyndmantsdldatahurstprecip1.dat insgesamt jährlichen Niederschlag in Zoll für London, von 1813-1912 (Original-Daten von Hipel und McLeod, 1994). Wir können die Daten in R lesen und sie mit der Eingabe eingeben: Sie können aus der Handlung sehen, dass es annähernd konstant ist (der Mittelwert bleibt bei etwa 25 Zoll konstant). Die zufälligen Schwankungen in den Zeitreihen scheinen im Laufe der Zeit etwa konstant zu sein, so dass es wahrscheinlich angebracht ist, die Daten mit einem additiven Modell zu beschreiben. So können wir Prognosen mit einfacher exponentieller Glättung machen. Um Prognosen mit einfacher, exponentieller Glättung in R vorzunehmen, können wir mit der Funktion 8220HoltWinters () 8221 in R ein einfaches exponentielles Glättungsprädiktionsmodell platzieren. Um eine einfache, exponentielle Glättung von HoltWinters () zu verwenden, müssen wir die Parameter betaFALSE und gammaFALSE in die HoltWinters () - Funktion (die Beta - und Gamma-Parameter werden für Holt8217s exponentielle Glättung oder Holt-Winters exponentielle Glättung verwendet, wie unten beschrieben). Die Funktion HoltWinters () gibt eine Listenvariable zurück, die mehrere benannte Elemente enthält. Zum Beispiel, um eine einfache exponentielle Glättung zu verwenden, um Prognosen für die Zeitreihen des jährlichen Niederschlags in London zu machen, geben wir an: Die Ausgabe von HoltWinters () sagt uns, dass der Schätzwert des Alpha-Parameters etwa 0,024 beträgt. Dies ist sehr nahe bei null und sagt uns, dass die Prognosen auf den jüngsten und weniger jüngsten Beobachtungen beruhen (obwohl etwas mehr Gewicht auf die jüngsten Beobachtungen gelegt wird). Standardmäßig stellt HoltWinters () nur Prognosen für den gleichen Zeitraum dar, der von unseren ursprünglichen Zeitreihen abgedeckt ist. In diesem Fall war unsere ursprüngliche Zeitreihe Regenfälle für London von 1813-1912, also sind die Prognosen auch für 1813-1912. Im obigen Beispiel haben wir die Ausgabe der Funktion HoltWinters () in der Listenvariablen 8220rainseriesforecasts8221 gespeichert. Die Prognosen von HoltWinters () werden in einem benannten Element dieser Listenvariablen namens 8220fitted8221 gespeichert, so dass wir ihre Werte durch Eingabe erhalten können: Wir können die ursprüngliche Zeitreihe gegen die Prognosen zeichnen, indem wir folgendes eingeben: Das Diagramm zeigt die ursprüngliche Zeitreihe an Schwarz, und die Prognosen als rote Linie. Die Zeitreihe der Prognosen ist viel glatter als die Zeitreihen der Originaldaten hier. Als Maß für die Genauigkeit der Prognosen können wir die Summe der quadratischen Fehler für die Prognosefehler in der Stichprobe berechnen, dh die Prognosefehler für den Zeitraum, der von unseren ursprünglichen Zeitreihen abgedeckt ist. Die Summe von quadratischen Fehlern wird in einem benannten Element der Listenvariablen 8220rainseriesforecasts8221 mit dem Namen 8220SSE8221 gespeichert, so dass wir ihren Wert durch Eingabe erhalten können: Das ist hier die Summe von quadratischen Fehlern ist 1828.855. Es ist üblich, in einfacher exponentieller Glättung den ersten Wert in der Zeitreihe als Anfangswert für den Pegel zu verwenden. Zum Beispiel, in der Zeitreihe für Niederschläge in London, ist der erste Wert 23,56 (Zoll) für Niederschlag im Jahre 1813. Sie können den Anfangswert für den Level in der HoltWinters () - Funktion mit dem Parameter 8220l. start8221 angeben. Um beispielsweise Vorhersagen mit dem Anfangswert des auf 23.56 eingestellten Pegels zu setzen, geben wir Folgendes ein: Wie oben erläutert, stellt HoltWinters () standardmäßig Prognosen für den von den Originaldaten abgedeckten Zeitraum ein, der für den Niederschlag 1813-1912 beträgt Zeitfolgen. Wir können Prognosen für weitere Zeitpunkte erstellen, indem wir die Funktion 8220forecast. HoltWinters () 8221 im Paket R 8220forecast8221 verwenden. Um die Funktion forecast. HoltWinters () zu verwenden, müssen wir zuerst das Paket 8220forecast8221 R installieren (Anweisungen zur Installation eines R-Pakets finden Sie unter Installieren eines R-Pakets). Sobald Sie das Paket 8220forecast8221 R installiert haben, können Sie das Paket 8220forecast8221 R laden, indem Sie Folgendes eingeben: Wenn Sie die Funktion forecast. HoltWinters () als erstes Argument (Eingabe) verwenden, übergeben Sie das Vorhersagemodell, das Sie bereits mit dem HoltWinters () Funktion. Zum Beispiel haben wir im Fall der Regenzeit-Zeitreihen das Vorhersagemodell unter Verwendung von HoltWinters () in der Variablen 8220rainseriesforecasts8221 gespeichert. Sie geben an, wie viele weitere Zeitpunkte Sie Prognosen für die Verwendung des Parameters 8220h8221 in forecast. HoltWinters () vornehmen möchten. Zum Beispiel, um eine Prognose der Niederschläge für die Jahre 1814-1820 (8 weitere Jahre) mit Prognose. HoltWinters (), geben wir: Die Prognose. HoltWinters () - Funktion gibt Ihnen die Prognose für ein Jahr, ein 80 Vorhersage Intervall für Die Prognose und ein Vorhersageintervall von 95 für die Prognose. Zum Beispiel beträgt der prognostizierte Niederschlag für 1920 etwa 24,68 Zoll, mit einem 95 Vorhersageintervall von (16.24, 33.11). Um die Vorhersagen zu erstellen, die von prognose gemacht wurden. HoltWinters (), können wir die Funktion 8220plot. forecast () 8221 verwenden: Hier werden die Prognosen für 1913-1920 als eine blaue Linie, das 80-Vorhersageintervall als orangefarbener schattierter Bereich und die 95 Vorhersageintervall als gelber schattierter Bereich. Die gemessenen Fehler8217 werden als die beobachteten Werte minus vorhergesagten Werte für jeden Zeitpunkt berechnet. Wir können nur die Prognosefehler für den Zeitraum berechnen, der von unseren ursprünglichen Zeitreihen abgedeckt wird, was 1813-1912 für die Niederschlagsdaten ist. Wie oben erwähnt, ist ein Maß für die Genauigkeit des prädiktiven Modells die Summe von quadratischen Fehlern (SSE) für die in-Beispiel-Prognosefehler. Die Prognosefehler werden in dem benannten Element 8220residuals8221 der Listenvariablen gespeichert, die von prognose. HoltWinters () zurückgegeben wird. Wenn das prädiktive Modell nicht verbessert werden kann, sollte es keine Korrelationen zwischen Prognosefehlern für aufeinanderfolgende Vorhersagen geben. Mit anderen Worten, wenn es Korrelationen zwischen Prognosefehlern für aufeinanderfolgende Vorhersagen gibt, ist es wahrscheinlich, dass die einfachen exponentiellen Glättungsprognosen durch eine andere Prognosetechnik verbessert werden könnten. Um herauszufinden, ob dies der Fall ist, können wir ein Korrelogramm der In-Probe-Prognosefehler für die Verzögerungen 1-20 erhalten. Wir können ein Korrelogramm der Prognosefehler mit der Funktion 8220acf () 8221 in R berechnen. Um die maximale Verzögerung anzugeben, die wir betrachten wollen, verwenden wir den Parameter 8220lag. max8221 in acf (). Um zum Beispiel ein Korrelogramm der In-Probe-Prognosefehler für die Londoner Niederschlagsdaten für die Verzögerungen von 1-20 zu berechnen, geben wir aus dem Beispiel-Korrelogramm heraus, dass die Autokorrelation bei lag 3 nur die Signifikanzgrenzen berührt. Um zu testen, ob es signifikante Hinweise auf Nicht-Null-Korrelationen bei den Verzögerungen von 1-20 gibt, können wir einen Ljung-Box-Test durchführen. Dies kann in R mit der Funktion 8220Box. test () 8221 erfolgen. Die maximale Verzögerung, die wir betrachten möchten, wird mit dem Parameter 8220lag8221 in der Funktion Box. test () angegeben. Zum Beispiel, um zu testen, ob es keine Null-Autokorrelationen bei den Verzögerungen 1-20 gibt, für die in-Beispiel-Prognosefehler für London-Niederschlagsdaten geben wir hier ein: Hier ist die Ljung-Box-Teststatistik 17,4 und der p-Wert ist 0,6 , So gibt es wenig Hinweise auf Nicht-Null-Autokorrelationen in der in-Beispiel-Prognose Fehler bei Verzögerungen 1-20. Um sicher zu sein, dass das prädiktive Modell nicht verbessert werden kann, ist es auch eine gute Idee zu prüfen, ob die Prognosefehler normalerweise mit mittlerem Null und konstanter Varianz verteilt sind. Um zu überprüfen, ob die Prognosefehler eine konstante Varianz haben, können wir eine Zeitpläne der Prognosefehler in der Stichprobe machen: Die Handlung zeigt, dass die Prognosefehler in der Stichprobe im Laufe der Zeit eine annähernd konstante Varianz aufweisen, obwohl die Größe der Schwankungen in Der Beginn der Zeitreihe (1820-1830) kann bei späteren Terminen etwas kleiner sein (zB 1840-1850). Um zu prüfen, ob die Prognosefehler normalerweise mit dem Mittelwert Null verteilt sind, können wir ein Histogramm der Prognosefehler mit einer überlagerten Normalkurve mit mittlerer Nullpunkt und der gleichen Standardabweichung wie die Verteilung der Prognosefehler darstellen. Um dies zu tun, können wir eine R-Funktion definieren 8220plotForecastErrors () 8221, unten: Sie müssen die Funktion oben in R kopieren, um sie zu benutzen. Sie können dann plotForecastErrors () verwenden, um ein Histogramm (mit überlagerter Normalkurve) der Prognosefehler für die Niederschlagsvorhersagen darzustellen: Das Diagramm zeigt, dass die Verteilung der Prognosefehler grob auf Null ausgerichtet ist und mehr oder weniger normal verteilt ist Es scheint etwas nach rechts verkürzt zu sein, verglichen mit einer normalen Kurve. Allerdings ist die richtige Schiefung relativ klein, und so ist es plausibel, dass die Prognosefehler normalerweise mit dem mittleren Null verteilt sind. Der Ljung-Box-Test zeigte, dass es bei den Prognosefehlern in der Stichprobe nur wenige Hinweise auf Nicht-Null-Autokorrelationen gibt und die Verteilung der Prognosefehler normalerweise mit dem mittleren Nullpunkt verteilt zu sein scheint. Dies deutet darauf hin, dass die einfache exponentielle Glättung Methode bietet eine adäquate prädiktive Modell für London Niederschlag, die wahrscheinlich nicht verbessert werden kann. Darüber hinaus sind die Annahmen, dass die 80- und 95-Vorhersageintervalle auf der Grundlage von (es gibt keine Autokorrelationen in den Prognosefehlern und die Prognosefehler normalerweise mit mittlerem Null und konstanter Varianz verteilt) wahrscheinlich gültig. Holt8217s Exponentielle Glättung Wenn Sie eine Zeitreihe haben, die mit einem additiven Modell mit zunehmender oder abnehmender Tendenz und ohne Saisonalität beschrieben werden kann, können Sie Holt8217s exponentielle Glättung verwenden, um kurzfristige Prognosen zu machen. Holt8217s exponentielle Glättung schätzt den Pegel und die Steigung zum aktuellen Zeitpunkt. Die Glättung wird durch zwei Parameter, alpha, für die Schätzung des Pegels zum aktuellen Zeitpunkt und Beta für die Schätzung der Steigung b der Trendkomponente zum aktuellen Zeitpunkt gesteuert. Wie bei der einfachen exponentiellen Glättung haben die Parametern alpha und beta Werte zwischen 0 und 1, und Werte, die nahe bei 0 liegen, bedeuten, dass bei der Erstellung von Prognosen zukünftiger Werte wenig Gewicht auf die aktuellsten Beobachtungen gelegt wird. Ein Beispiel für eine Zeitreihe, die vermutlich mit einem additiven Modell mit einem Trend und ohne Saisonalität beschrieben werden kann, ist die Zeitreihe des Jahresdurchmessers der Frauen8217s Röcke am Saum von 1866 bis 1911. Die Daten sind in der Datei robjhyndmantsdldatarobertsskirts verfügbar. Dat (Originaldaten von Hipel und McLeod, 1994). Wir können die Daten in R einlesen und darlegen: Wir können aus der Handlung sehen, dass es im Jahre 1880 einen Anstieg des Saumdurchmessers von etwa 600 im Jahre 1866 auf etwa 1050 gab und danach der Saumdurchmesser im Jahre 1911 auf etwa 520 sank Um Prognosen zu erstellen, können wir mit der HoltWinters () - Funktion in R. ein Vorhersagemodell platzieren. Um HoltWinters () für die exponentielle Glättung von Holt8217s zu verwenden, müssen wir den Parameter gammaFALSE setzen (der Gamma-Parameter wird für die Exponentialglättung von Holt-Winters verwendet, wie unten beschrieben). Zum Beispiel, um Holt8217s exponentielle Glättung zu verwenden, um ein prädiktives Modell für Rock-Saum-Durchmesser zu passen, geben wir ein: Der geschätzte Wert von alpha ist 0,84 und beta ist 1,00. Diese sind beide hoch und sagen uns, dass sowohl die Schätzung des aktuellen Wertes des Niveaus als auch der Steigung b der Trendkomponente vor allem auf sehr jüngsten Beobachtungen in der Zeitreihe beruht. Das macht einen guten intuitiven Sinn, denn das Niveau und der Hang der Zeitreihen ändern sich im Laufe der Zeit sehr viel. Der Wert der Summe-quadratischen Fehler für die Prognosefehler in der Stichprobe beträgt 16954. Wir können die ursprüngliche Zeitreihe als schwarze Linie darstellen, wobei die prognostizierten Werte als rote Linie darüber liegen, indem wir folgendes eingeben: Wir Kann aus dem Bild sehen, dass die in-Beispiel-Prognosen ziemlich gut mit den beobachteten Werten übereinstimmen, obwohl sie dazu neigen, hinter den beobachteten Werten ein wenig zu liegen. Wenn Sie möchten, können Sie die Anfangswerte des Levels und der Steigung b der Trendkomponente mit den Argumenten 8220l. start8221 und 8220b. start8221 für die Funktion HoltWinters () angeben. Es ist üblich, den Anfangswert des Pegels auf den ersten Wert in der Zeitreihe (608 für die Röhrendaten) und den Anfangswert der Steigung auf den zweiten Wert abzüglich des ersten Wertes (9 für die Röhrendaten) einzustellen. Zum Beispiel, um ein Vorhersagemodell an die Rock-Saum-Daten mit Holt8217s exponentielle Glättung anzupassen, mit Anfangswerten von 608 für den Level und 9 für die Steigung b der Trendkomponente geben wir: Wie für eine einfache exponentielle Glättung können wir Prognosen machen Für zukünftige Zeiten, die nicht durch die ursprüngliche Zeitreihe abgedeckt werden, indem sie die Funktion forecast. HoltWinters () im Paket 8220forecast8221 verwenden. Zum Beispiel waren unsere Zeitreihen-Daten für Rock-Saumen für 1866 bis 1911, so dass wir Vorhersagen für 1912 bis 1930 (19 weitere Datenpunkte) machen können, und zeichnen sie, indem sie schreiben: Die Prognosen werden als eine blaue Linie gezeigt, mit der 80 Vorhersageintervalle als orangefarbener Schattenbereich und die 95 Vorhersageintervalle als gelber schattierter Bereich. Wie für eine einfache exponentielle Glättung können wir überprüfen, ob das prädiktive Modell verbessert werden könnte, indem überprüft wird, ob die Prognosefehler in der Stichprobe keine Autokorrelationen ohne Verzögerungen bei den Verzögerungen von 1 bis 20 zeigen. Zum Beispiel können wir für die Rock-Saum-Daten ein Korrelogramm durchführen und den Ljung-Box-Test durchführen, indem wir folgendes eingeben: Hier zeigt das Korrelogramm, dass die Stichproben-Autokorrelation für die Prozeßprognosefehler bei Verzögerung 5 die Signifikanzgrenzen übersteigt. Allerdings würden wir erwarten, dass einer in 20 der Autokorrelationen für die ersten zwanzig Verzögerungen die 95 Bedeutungsgrenzen durch Zufall allein überschreiten würde. In der Tat, wenn wir den Ljung-Box-Test durchführen, ist der p-Wert 0,47, was darauf hinweist, dass es wenig Hinweise auf Nicht-Null-Autokorrelationen in den Prognosefehlern bei den Stichproben 1-20 gibt. Für eine einfache exponentielle Glättung sollten wir auch prüfen, ob die Prognosefehler im Laufe der Zeit eine ständige Varianz aufweisen und normalerweise mit dem mittleren Nullpunkt verteilt sind. Wir können dies tun, indem wir eine Zeitpläne von Prognosefehlern und ein Histogramm der Verteilung von Prognosefehlern mit einer überlagerten Normalkurve machen: Die Zeitpläne von Prognosefehlern zeigen, dass die Prognosefehler im Vergleich zu der Zeit eine annähernd konstante Varianz aufweisen. Das Histogramm der Prognosefehler zeigt, dass es plausibel ist, dass die Prognosefehler normalerweise mit mittlerer Null und konstanter Varianz verteilt sind. So zeigt der Ljung-Box-Test, dass es bei den Prognosefehlern wenig Hinweise auf Autokorrelationen gibt, während die Zeitplot und das Histogramm der Prognosefehler zeigen, dass es plausibel ist, dass die Prognosefehler normalerweise mit mittlerer Null und konstanter Varianz verteilt sind. Daher können wir schließen, dass Holt8217s exponentielle Glättung ein adäquates Vorhersagemodell für Rock-Saumdurchmesser liefert, was wohl nicht verbessert werden kann. Darüber hinaus bedeutet dies, dass die Annahmen, dass die 80 und 95 Vorhersagen Intervalle auf basieren, wahrscheinlich gültig sind. Holt-Winters Exponentielle Glättung Wenn Sie eine Zeitreihe haben, die mit einem additiven Modell mit zunehmender oder abnehmender Tendenz und Saisonalität beschrieben werden kann, können Sie Holt-Winters exponentielle Glättung verwenden, um kurzfristige Prognosen zu machen. Holt-Winters exponentielle Glättung schätzt das Niveau, die Steigung und die saisonale Komponente zum aktuellen Zeitpunkt. Die Glättung wird durch drei Parameter gesteuert: alpha, beta und gamma, für die Schätzungen des Levels, der Steigung b der Trendkomponente und der saisonalen Komponente zum aktuellen Zeitpunkt. Die Parameter alpha, beta und gamma haben alle Werte zwischen 0 und 1, und Werte, die nahe bei 0 liegen, bedeuten, dass bei der Vorhersage zukünftiger Werte relativ wenig Gewicht auf die aktuellsten Beobachtungen gelegt wird. Ein Beispiel für eine Zeitreihe, die vermutlich mit einem additiven Modell mit einem Trend und Saisonalität beschrieben werden kann, ist die Zeitreihe des Protokolls der monatlichen Verkäufe für den Souvenirshop an einem Badeort in Queensland, Australien (oben diskutiert): Zu machen Prognosen können wir mit der Funktion HoltWinters () ein Vorhersagemodell platzieren. Zum Beispiel, um ein prädiktives Modell für das Protokoll der monatlichen Verkäufe in der Souvenir-Shop passen, geben wir: Die Schätzwerte von Alpha, Beta und Gamma sind 0,41, 0,00 und 0,96. Der Wert von alpha (0,41) ist relativ niedrig, was darauf hinweist, dass die Schätzung des Pegels zum aktuellen Zeitpunkt auf sowohl neueren Beobachtungen als auch einigen Beobachtungen in der weit entfernten Vergangenheit beruht. Der Wert von beta ist 0,00, was anzeigt, dass die Schätzung der Steigung b der Trendkomponente nicht über die Zeitreihe aktualisiert wird und statt dessen gleich dem Anfangswert gesetzt wird. Das macht einen guten intuitiven Sinn, denn das Niveau ändert sich ziemlich viel über die Zeitreihe, aber die Steigung b der Trendkomponente bleibt ungefähr gleich. Im Gegensatz dazu ist der Wert von Gamma (0,96) hoch, was darauf hinweist, dass die Schätzung der saisonalen Komponente zum gegenwärtigen Zeitpunkt nur auf sehr jüngsten Beobachtungen beruht. Wie für eine einfache exponentielle Glättung und Holt8217s exponentielle Glättung, können wir die ursprüngliche Zeitreihe als schwarze Linie zeichnen, wobei die prognostizierten Werte als rote Linie darüber liegen: Wir sehen aus der Handlung, dass die Holt-Winters-Exponentialmethode sehr erfolgreich ist Bei der Vorhersage der saisonalen Gipfel, die etwa im November jedes Jahr auftreten. Um Prognosen für zukünftige Zeiten zu machen, die nicht in der ursprünglichen Zeitreihe enthalten sind, verwenden wir die Funktion 8220forecast. HoltWinters () 8221 im Paket 8220forecast8221. For example, the original data for the souvenir sales is from January 1987 to December 1993. If we wanted to make forecasts for January 1994 to December 1998 (48 more months), and plot the forecasts, we would type: The forecasts are shown as a blue line, and the orange and yellow shaded areas show 80 and 95 prediction intervals, respectively. We can investigate whether the predictive model can be improved upon by checking whether the in-sample forecast errors show non-zero autocorrelations at lags 1-20, by making a correlogram and carrying out the Ljung-Box test: The correlogram shows that the autocorrelations for the in-sample forecast errors do not exceed the significance bounds for lags 1-20. Furthermore, the p-value for Ljung-Box test is 0.6, indicating that there is little evidence of non-zero autocorrelations at lags 1-20. We can check whether the forecast errors have constant variance over time, and are normally distributed with mean zero, by making a time plot of the forecast errors and a histogram (with overlaid normal curve): From the time plot, it appears plausible that the forecast errors have constant variance over time. From the histogram of forecast errors, it seems plausible that the forecast errors are normally distributed with mean zero. Thus, there is little evidence of autocorrelation at lags 1-20 for the forecast errors, and the forecast errors appear to be normally distributed with mean zero and constant variance over time. This suggests that Holt-Winters exponential smoothing provides an adequate predictive model of the log of sales at the souvenir shop, which probably cannot be improved upon. Furthermore, the assumptions upon which the prediction intervals were based are probably valid. ARIMA Models Exponential smoothing methods are useful for making forecasts, and make no assumptions about the correlations between successive values of the time series. However, if you want to make prediction intervals for forecasts made using exponential smoothing methods, the prediction intervals require that the forecast errors are uncorrelated and are normally distributed with mean zero and constant variance. While exponential smoothing methods do not make any assumptions about correlations between successive values of the time series, in some cases you can make a better predictive model by taking correlations in the data into account. Autoregressive Integrated Moving Average (ARIMA) models include an explicit statistical model for the irregular component of a time series, that allows for non-zero autocorrelations in the irregular component. Differencing a Time Series ARIMA models are defined for stationary time series. Therefore, if you start off with a non-stationary time series, you will first need to 8216difference8217 the time series until you obtain a stationary time series. If you have to difference the time series d times to obtain a stationary series, then you have an ARIMA(p, d,q) model, where d is the order of differencing used. You can difference a time series using the 8220diff()8221 function in R. For example, the time series of the annual diameter of women8217s skirts at the hem, from 1866 to 1911 is not stationary in mean, as the level changes a lot over time: We can difference the time series (which we stored in 8220skirtsseries8221, see above) once, and plot the differenced series, by typing: The resulting time series of first differences (above) does not appear to be stationary in mean. Therefore, we can difference the time series twice, to see if that gives us a stationary time series: Formal tests for stationarity Formal tests for stationarity called 8220unit root tests8221 are available in the fUnitRoots package, available on CRAN, but will not be discussed here. The time series of second differences (above) does appear to be stationary in mean and variance, as the level of the series stays roughly constant over time, and the variance of the series appears roughly constant over time. Thus, it appears that we need to difference the time series of the diameter of skirts twice in order to achieve a stationary series. If you need to difference your original time series data d times in order to obtain a stationary time series, this means that you can use an ARIMA(p, d,q) model for your time series, where d is the order of differencing used. For example, for the time series of the diameter of women8217s skirts, we had to difference the time series twice, and so the order of differencing (d) is 2. This means that you can use an ARIMA(p,2,q) model for your time series. The next step is to figure out the values of p and q for the ARIMA model. Another example is the time series of the age of death of the successive kings of England (see above): From the time plot (above), we can see that the time series is not stationary in mean. To calculate the time series of first differences, and plot it, we type: The time series of first differences appears to be stationary in mean and variance, and so an ARIMA(p,1,q) model is probably appropriate for the time series of the age of death of the kings of England. By taking the time series of first differences, we have removed the trend component of the time series of the ages at death of the kings, and are left with an irregular component. We can now examine whether there are correlations between successive terms of this irregular component if so, this could help us to make a predictive model for the ages at death of the kings. Selecting a Candidate ARIMA Model If your time series is stationary, or if you have transformed it to a stationary time series by differencing d times, the next step is to select the appropriate ARIMA model, which means finding the values of most appropriate values of p and q for an ARIMA(p, d,q) model. To do this, you usually need to examine the correlogram and partial correlogram of the stationary time series. To plot a correlogram and partial correlogram, we can use the 8220acf()8221 and 8220pacf()8221 functions in R, respectively. To get the actual values of the autocorrelations and partial autocorrelations, we set 8220plotFALSE8221 in the 8220acf()8221 and 8220pacf()8221 functions. Example of the Ages at Death of the Kings of England For example, to plot the correlogram for lags 1-20 of the once differenced time series of the ages at death of the kings of England, and to get the values of the autocorrelations, we type: We see from the correlogram that the autocorrelation at lag 1 (-0.360) exceeds the significance bounds, but all other autocorrelations between lags 1-20 do not exceed the significance bounds. To plot the partial correlogram for lags 1-20 for the once differenced time series of the ages at death of the English kings, and get the values of the partial autocorrelations, we use the 8220pacf()8221 function, by typing: The partial correlogram shows that the partial autocorrelations at lags 1, 2 and 3 exceed the significance bounds, are negative, and are slowly decreasing in magnitude with increasing lag (lag 1: -0.360, lag 2: -0.335, lag 3:-0.321). The partial autocorrelations tail off to zero after lag 3. Since the correlogram is zero after lag 1, and the partial correlogram tails off to zero after lag 3, this means that the following ARMA (autoregressive moving average) models are possible for the time series of first differences: an ARMA(3,0) model, that is, an autoregressive model of order p3, since the partial autocorrelogram is zero after lag 3, and the autocorrelogram tails off to zero (although perhaps too abruptly for this model to be appropriate) an ARMA(0,1) model, that is, a moving average model of order q1, since the autocorrelogram is zero after lag 1 and the partial autocorrelogram tails off to zero an ARMA(p, q) model, that is, a mixed model with p and q greater than 0, since the autocorrelogram and partial correlogram tail off to zero (although the correlogram probably tails off to zero too abruptly for this model to be appropriate) We use the principle of parsimony to decide which model is best: that is, we assume that the model with the fewest parameters is best. The ARMA(3,0) model has 3 parameters, the ARMA(0,1) model has 1 parameter, and the ARMA(p, q) model has at least 2 parameters. Therefore, the ARMA(0,1) model is taken as the best model. An ARMA(0,1) model is a moving average model of order 1, or MA(1) model. This model can be written as: Xt - mu Zt - (theta Zt-1), where Xt is the stationary time series we are studying (the first differenced series of ages at death of English kings), mu is the mean of time series Xt, Zt is white noise with mean zero and constant variance, and theta is a parameter that can be estimated. A MA (moving average) model is usually used to model a time series that shows short-term dependencies between successive observations. Intuitively, it makes good sense that a MA model can be used to describe the irregular component in the time series of ages at death of English kings, as we might expect the age at death of a particular English king to have some effect on the ages at death of the next king or two, but not much effect on the ages at death of kings that reign much longer after that. Shortcut: the auto. arima() function The auto. arima() function can be used to find the appropriate ARIMA model, eg. type 8220library(forecast)8221, then 8220auto. arima(kings)8221. The output says an appropriate model is ARIMA(0,1,1). Since an ARMA(0,1) model (with p0, q1) is taken to be the best candidate model for the time series of first differences of the ages at death of English kings, then the original time series of the ages of death can be modelled using an ARIMA(0,1,1) model (with p0, d1, q1, where d is the order of differencing required). Example of the Volcanic Dust Veil in the Northern Hemisphere Let8217s take another example of selecting an appropriate ARIMA model. The file file robjhyndmantsdldataannualdvi. dat contains data on the volcanic dust veil index in the northern hemisphere, from 1500-1969 (original data from Hipel and Mcleod, 1994). This is a measure of the impact of volcanic eruptions8217 release of dust and aerosols into the environment. We can read it into R and make a time plot by typing: From the time plot, it appears that the random fluctuations in the time series are roughly constant in size over time, so an additive model is probably appropriate for describing this time series. Furthermore, the time series appears to be stationary in mean and variance, as its level and variance appear to be roughly constant over time. Therefore, we do not need to difference this series in order to fit an ARIMA model, but can fit an ARIMA model to the original series (the order of differencing required, d, is zero here). We can now plot a correlogram and partial correlogram for lags 1-20 to investigate what ARIMA model to use: We see from the correlogram that the autocorrelations for lags 1, 2 and 3 exceed the significance bounds, and that the autocorrelations tail off to zero after lag 3. The autocorrelations for lags 1, 2, 3 are positive, and decrease in magnitude with increasing lag (lag 1: 0.666, lag 2: 0.374, lag 3: 0.162). The autocorrelation for lags 19 and 20 exceed the significance bounds too, but it is likely that this is due to chance, since they just exceed the significance bounds (especially for lag 19), the autocorrelations for lags 4-18 do not exceed the signifiance bounds, and we would expect 1 in 20 lags to exceed the 95 significance bounds by chance alone. From the partial autocorrelogram, we see that the partial autocorrelation at lag 1 is positive and exceeds the significance bounds (0.666), while the partial autocorrelation at lag 2 is negative and also exceeds the significance bounds (-0.126). The partial autocorrelations tail off to zero after lag 2. Since the correlogram tails off to zero after lag 3, and the partial correlogram is zero after lag 2, the following ARMA models are possible for the time series: an ARMA(2,0) model, since the partial autocorrelogram is zero after lag 2, and the correlogram tails off to zero after lag 3, and the partial correlogram is zero after lag 2 an ARMA(0,3) model, since the autocorrelogram is zero after lag 3, and the partial correlogram tails off to zero (although perhaps too abruptly for this model to be appropriate) an ARMA(p, q) mixed model, since the correlogram and partial correlogram tail off to zero (although the partial correlogram perhaps tails off too abruptly for this model to be appropriate) Shortcut: the auto. arima() function Again, we can use auto. arima() to find an appropriate model, by typing 8220auto. arima(volcanodust)8221, which gives us ARIMA(1,0,2), which has 3 parameters. However, different criteria can be used to select a model (see auto. arima() help page). If we use the 8220bic8221 criterion, which penalises the number of parameters, we get ARIMA(2,0,0), which is ARMA(2,0): 8220auto. arima(volcanodust, ic8221bic8221)8221. The ARMA(2,0) model has 2 parameters, the ARMA(0,3) model has 3 parameters, and the ARMA(p, q) model has at least 2 parameters. Therefore, using the principle of parsimony, the ARMA(2,0) model and ARMA(p, q) model are equally good candidate models. An ARMA(2,0) model is an autoregressive model of order 2, or AR(2) model. This model can be written as: Xt - mu (Beta1 (Xt-1 - mu)) (Beta2 (Xt-2 - mu)) Zt, where Xt is the stationary time series we are studying (the time series of volcanic dust veil index), mu is the mean of time series Xt, Beta1 and Beta2 are parameters to be estimated, and Zt is white noise with mean zero and constant variance. An AR (autoregressive) model is usually used to model a time series which shows longer term dependencies between successive observations. Intuitively, it makes sense that an AR model could be used to describe the time series of volcanic dust veil index, as we would expect volcanic dust and aerosol levels in one year to affect those in much later years, since the dust and aerosols are unlikely to disappear quickly. If an ARMA(2,0) model (with p2, q0) is used to model the time series of volcanic dust veil index, it would mean that an ARIMA(2,0,0) model can be used (with p2, d0, q0, where d is the order of differencing required). Similarly, if an ARMA(p, q) mixed model is used, where p and q are both greater than zero, than an ARIMA(p,0,q) model can be used. Forecasting Using an ARIMA Model Once you have selected the best candidate ARIMA(p, d,q) model for your time series data, you can estimate the parameters of that ARIMA model, and use that as a predictive model for making forecasts for future values of your time series. You can estimate the parameters of an ARIMA(p, d,q) model using the 8220arima()8221 function in R. Example of the Ages at Death of the Kings of England For example, we discussed above that an ARIMA(0,1,1) model seems a plausible model for the ages at deaths of the kings of England. You can specify the values of p, d and q in the ARIMA model by using the 8220order8221 argument of the 8220arima()8221 function in R. To fit an ARIMA(p, d,q) model to this time series (which we stored in the variable 8220kingstimeseries8221, see above), we type: As mentioned above, if we are fitting an ARIMA(0,1,1) model to our time series, it means we are fitting an an ARMA(0,1) model to the time series of first differences. An ARMA(0,1) model can be written Xt - mu Zt - (theta Zt-1), where theta is a parameter to be estimated. From the output of the 8220arima()8221 R function (above), the estimated value of theta (given as 8216ma18217 in the R output) is -0.7218 in the case of the ARIMA(0,1,1) model fitted to the time series of ages at death of kings. Specifying the confidence level for prediction intervals You can specify the confidence level for prediction intervals in forecast. Arima() by using the 8220level8221 argument. For example, to get a 99.5 prediction interval, we would type 8220forecast. Arima(kingstimeseriesarima, h5, levelc(99.5))8221. We can then use the ARIMA model to make forecasts for future values of the time series, using the 8220forecast. Arima()8221 function in the 8220forecast8221 R package. For example, to forecast the ages at death of the next five English kings, we type: The original time series for the English kings includes the ages at death of 42 English kings. The forecast. Arima() function gives us a forecast of the age of death of the next five English kings (kings 43-47), as well as 80 and 95 prediction intervals for those predictions. The age of death of the 42nd English king was 56 years (the last observed value in our time series), and the ARIMA model gives the forecasted age at death of the next five kings as 67.8 years. We can plot the observed ages of death for the first 42 kings, as well as the ages that would be predicted for these 42 kings and for the next 5 kings using our ARIMA(0,1,1) model, by typing: As in the case of exponential smoothing models, it is a good idea to investigate whether the forecast errors of an ARIMA model are normally distributed with mean zero and constant variance, and whether the are correlations between successive forecast errors. For example, we can make a correlogram of the forecast errors for our ARIMA(0,1,1) model for the ages at death of kings, and perform the Ljung-Box test for lags 1-20, by typing: Since the correlogram shows that none of the sample autocorrelations for lags 1-20 exceed the significance bounds, and the p-value for the Ljung-Box test is 0.9, we can conclude that there is very little evidence for non-zero autocorrelations in the forecast errors at lags 1-20. To investigate whether the forecast errors are normally distributed with mean zero and constant variance, we can make a time plot and histogram (with overlaid normal curve) of the forecast errors: The time plot of the in-sample forecast errors shows that the variance of the forecast errors seems to be roughly constant over time (though perhaps there is slightly higher variance for the second half of the time series). The histogram of the time series shows that the forecast errors are roughly normally distributed and the mean seems to be close to zero. Therefore, it is plausible that the forecast errors are normally distributed with mean zero and constant variance. Since successive forecast errors do not seem to be correlated, and the forecast errors seem to be normally distributed with mean zero and constant variance, the ARIMA(0,1,1) does seem to provide an adequate predictive model for the ages at death of English kings. Example of the Volcanic Dust Veil in the Northern Hemisphere We discussed above that an appropriate ARIMA model for the time series of volcanic dust veil index may be an ARIMA(2,0,0) model. To fit an ARIMA(2,0,0) model to this time series, we can type: As mentioned above, an ARIMA(2,0,0) model can be written as: written as: Xt - mu (Beta1 (Xt-1 - mu)) (Beta2 (Xt-2 - mu)) Zt, where Beta1 and Beta2 are parameters to be estimated. The output of the arima() function tells us that Beta1 and Beta2 are estimated as 0.7533 and -0.1268 here (given as ar1 and ar2 in the output of arima()). Now we have fitted the ARIMA(2,0,0) model, we can use the 8220forecast. ARIMA()8221 model to predict future values of the volcanic dust veil index. The original data includes the years 1500-1969. To make predictions for the years 1970-2000 (31 more years), we type: We can plot the original time series, and the forecasted values, by typing: One worrying thing is that the model has predicted negative values for the volcanic dust veil index, but this variable can only have positive values The reason is that the arima() and forecast. Arima() functions don8217t know that the variable can only take positive values. Clearly, this is not a very desirable feature of our current predictive model. Again, we should investigate whether the forecast errors seem to be correlated, and whether they are normally distributed with mean zero and constant variance. To check for correlations between successive forecast errors, we can make a correlogram and use the Ljung-Box test: The correlogram shows that the sample autocorrelation at lag 20 exceeds the significance bounds. However, this is probably due to chance, since we would expect one out of 20 sample autocorrelations to exceed the 95 significance bounds. Furthermore, the p-value for the Ljung-Box test is 0.2, indicating that there is little evidence for non-zero autocorrelations in the forecast errors for lags 1-20. To check whether the forecast errors are normally distributed with mean zero and constant variance, we make a time plot of the forecast errors, and a histogram: The time plot of forecast errors shows that the forecast errors seem to have roughly constant variance over time. However, the time series of forecast errors seems to have a negative mean, rather than a zero mean. We can confirm this by calculating the mean forecast error, which turns out to be about -0.22: The histogram of forecast errors (above) shows that although the mean value of the forecast errors is negative, the distribution of forecast errors is skewed to the right compared to a normal curve. Therefore, it seems that we cannot comfortably conclude that the forecast errors are normally distributed with mean zero and constant variance Thus, it is likely that our ARIMA(2,0,0) model for the time series of volcanic dust veil index is not the best model that we could make, and could almost definitely be improved upon Links and Further Reading Here are some links for further reading. For a more in-depth introduction to R, a good online tutorial is available on the 8220Kickstarting R8221 website, cran. r-project. orgdoccontribLemon-kickstart . There is another nice (slightly more in-depth) tutorial to R available on the 8220Introduction to R8221 website, cran. r-project. orgdocmanualsR-intro. html . You can find a list of R packages for analysing time series data on the CRAN Time Series Task View webpage . To learn about time series analysis, I would highly recommend the book 8220Time series8221 (product code M24902) by the Open University, available from the Open University Shop . There are two books available in the 8220Use R8221 series on using R for time series analyses, the first is Introductory Time Series with R by Cowpertwait and Metcalfe, and the second is Analysis of Integrated and Cointegrated Time Series with R by Pfaff. Acknowledgements I am grateful to Professor Rob Hyndman. for kindly allowing me to use the time series data sets from his Time Series Data Library (TSDL) in the examples in this booklet. Many of the examples in this booklet are inspired by examples in the excellent Open University book, 8220Time series8221 (product code M24902), available from the Open University Shop . Thank you to Ravi Aranke for bringing auto. arima() to my attention, and Maurice Omane-Adjepong for bringing unit root tests to my attention, and Christian Seubert for noticing a small bug in plotForecastErrors(). Thank you for other comments to Antoine Binard and Bill Johnston. I will be grateful if you will send me (Avril Coghlan) corrections or suggestions for improvements to my email address alc 64 sanger 46 ac 46 ukFORECASTING Forecasting can be broadly considered as a method or a technique for estimating many future aspects of a business or other operation. There are numerous techniques that can be used to accomplish the goal of forecasting. For example, a retailing firm that has been in business for 25 years can forecast its volume of sales in the coming year based on its experience over the 25-year periodx2014such a forecasting technique bases the future forecast on the past data. While the term x0022forecastingx0022 may appear to be rather technical, planning for the future is a critical aspect of managing any organizationx2014business, nonprofit, or other. In fact, the long-term success of any organization is closely tied to how well the management of the organization is able to foresee its future and to develop appropriate strategies to deal with likely future scenarios. Intuition, good judgment, and an awareness of how well the economy is doing may give the manager of a business firm a rough idea (or x0022feelingx0022) of what is likely to happen in the future. Nevertheless, it is not easy to convert a feeling about the future into a precise and useful number, such as next yearx0027s sales volume or the raw material cost per unit of output. Forecasting methods can help estimate many such future aspects of a business operation. Suppose that a forecast expert has been asked to provide estimates of the sales volume for a particular product for the next four quarters. One can easily see that a number of other decisions will be affected by the forecasts or estimates of sales volumes provided by the forecaster. Clearly, production schedules, raw material purchasing plans, policies regarding inventories, and sales quotas will be affected by such forecasts. As a result, poor forecasts or estimates may lead to poor planning and thus result in increased costs to the business. How should one go about preparing the quarterly sales volume forecasts One will certainly want to review the actual sales data for the product in question for past periods. Suppose that the forecaster has access to actual sales data for each quarter over the 25year period the firm has been in business. Using these historical data, the forecaster can identify the general level of sales. He or she can also determine whether there is a pattern or trend, such as an increase or decrease in sales volume over time. A further review of the data may reveal some type of seasonal pattern, such as peak sales occurring before a holiday. Thus by reviewing historical data over time, the forecaster can often develop a good understanding of the previous pattern of sales. Understanding such a pattern can often lead to better forecasts of future sales of the product. In addition, if the forecaster is able to identify the factors that influence sales, historical data on these factors (or variables) can also be used to generate forecasts of future sales volumes. All forecasting methods can be divided into two broad categories: qualitative and quantitative. Many forecasting techniques use past or historical data in the form of time series. A time series is simply a set of observations measured at successive points in time or over successive periods of time. Forecasts essentially provide future values of the time series on a specific variable such as sales volume. Division of forecasting methods into qualitative and quantitative categories is based on the availability of historical time series data. Qualitative forecasting techniques generally employ the judgment of experts in the appropriate field to generate forecasts. A key advantage of these procedures is that they can be applied in situations where historical data are simply not available. Moreover, even when historical data are available, significant changes in environmental conditions affecting the relevant time series may make the use of past data irrelevant and questionable in forecasting future values of the time series. Consider, for example, that historical data on gasoline sales are available. If the government then implemented a gasoline rationing program, changing the way gasoline is sold, one would have to question the validity of a gasoline sales forecast based on the past data. Qualitative forecasting methods offer a way to generate forecasts in such cases. Three important qualitative forecasting methods are: the Delphi technique, scenario writing, and the subject approach. DELPHI TECHNIQUE. In the Delphi technique, an attempt is made to develop forecasts through x0022group consensus. x0022 Usually, a panel of experts is asked to respond to a series of questionnaires. The experts, physically separated from and unknown to each other, are asked to respond to an initial questionnaire (a set of questions). Then, a second questionnaire is prepared incorporating information and opinions of the whole group. Each expert is asked to reconsider and to revise his or her initial response to the questions. This process is continued until some degree of consensus among experts is reached. It should be noted that the objective of the Delphi technique is not to produce a single answer at the end. Instead, it attempts to produce a relatively narrow spread of opinionsx2014the range in which opinions of the majority of experts lie. SCENARIO WRITING. Under this approach, the forecaster starts with different sets of assumptions. For each set of assumptions, a likely scenario of the business outcome is charted out. Thus, the forecaster would be able to generate many different future scenarios (corresponding to the different sets of assumptions). The decision maker or businessperson is presented with the different scenarios, and has to decide which scenario is most likely to prevail. SUBJECTIVE APPROACH. The subjective approach allows individuals participating in the forecasting decision to arrive at a forecast based on their subjective feelings and ideas. This approach is based on the premise that a human mind can arrive at a decision based on factors that are often very difficult to quantify. x0022Brainstorming sessionsx0022 are frequently used as a way to develop new ideas or to solve complex problems. In loosely organized sessions, participants feel free from peer pressure and, more importantly, can express their views and ideas without fear of criticism. Many corporations in the United States have started to increasingly use the subjective approach. QUANTITATIVE FORECASTING METHODS Quantitative forecasting methods are used when historical data on variables of interest are availablex2014these methods are based on an analysis of historical data concerning the time series of the specific variable of interest and possibly other related time series. There are two major categories of quantitative forecasting methods. The first type uses the past trend of a particular variable to base the future forecast of the variable. As this category of forecasting methods simply uses time series on past data of the variable that is being forecasted, these techniques are called time series methods. The second category of quantitative forecasting techniques also uses historical data. But in forecasting future values of a variable, the forecaster examines the cause-and-effect relationships of the variable with other relevant variables such as the level of consumer confidence, changes in consumersx0027 disposable incomes, the interest rate at which consumers can finance their spending through borrowing, and the state of the economy represented by such variables as the unemployment rate. Thus, this category of forecasting techniques uses past time series on many relevant variables to produce the forecast for the variable of interest. Forecasting techniques falling under this category are called causal methods, as the basis of such forecasting is the cause-and-effect relationship between the variable forecasted and other time series selected to help in generating the forecasts. TIME SERIES METHODS OF FORECASTING. Before discussing time series methods, it is helpful to understand the behavior of time series in general terms. Time series are comprised of four separate components: trend component, cyclical component, seasonal component, and irregular component. These four components are viewed as providing specific values for the time series when combined. In a time series, measurements are taken at successive points or over successive periods. The measurements may be taken every hour, day, week, month, or year, or at any other regular (or irregular) interval. While most time series data generally display some random fluctuations, the time series may still show gradual shifts to relatively higher or lower values over an extended period. The gradual shifting of the time series is often referred to by professional forecasters as the trend in the time series. A trend emerges due to one or more long-term factors, such as changes in population size, changes in the demographic characteristics of population, and changes in tastes and preferences of consumers. For example, manufacturers of automobiles in the United States may see that there are substantial variations in automobile sales from one month to the next. But, in reviewing auto sales over the past 15 to 20 years, the automobile manufacturers may discover a gradual increase in annual sales volume. In this case, the trend for auto sales is increasing over time. In another example, the trend may be decreasing over time. Professional forecasters often describe an increasing trend by an upward sloping straight line and a decreasing trend by a downward sloping straight line. Using a straight line to represent a trend, however, is a mere simplificationx2014in many situations, nonlinear trends may more accurately represent the true trend in the time series. Although a time series may often exhibit a trend over a long period, it may also display alternating sequences of points that lie above and below the trend line. Any recurring sequence of points above and below the trend line that last more than a year is considered to constitute the cyclical component of the time seriesx2014that is, these observations in the time series deviate from the trend due to cyclical fluctuations (fluctuations that repeat at intervals of more than one year). The time series of the aggregate output in the economy (called the real gross domestic product) provides a good example of a time series that displays cyclical behavior. While the trend line for gross domestic product (GDP) is upward sloping, the output growth displays a cyclical behavior around the trend line. This cyclical behavior of GDP has been dubbed business cycles by economists. The seasonal component is similar to the cyclical component in that they both refer to some regular fluctuations in a time series. There is one key difference, however. While cyclical components of a time series are identified by analyzing multiyear movements in historical data, seasonal components capture the regular pattern of variability in the time series within one-year periods. Many economic variables display seasonal patterns. For example, manufacturers of swimming pools experience low sales in fall and winter months, but they witness peak sales of swimming pools during spring and summer months. Manufacturers of snow removal equipment, on the other hand, experience the exactly opposite yearly sales pattern. The component of the time series that captures the variability in the data due to seasonal fluctuations is called the seasonal component. The irregular component of the time series represents the residual left in an observation of the time series once the effects due to trend, cyclical, and seasonal components are extracted. Trend, cyclical, and seasonal components are considered to account for systematic variations in the time series. x0027h e irregular component thus accounts for the random variability in the time series. The random variations in the time series are, in turn, caused by short-term, unanticipated and nonrecurring factors that affect the time series. The irregular component of the time series, by nature, cannot be predicted in advance. TIME SERIES FORECASTING USING SMOOTHING METHODS. Smoothing methods are appropriate when a time series displays no significant effects of trend, cyclical, or seasonal components (often called a stable time series). In such a case, the goal is to smooth out the irregular component of the time series by using an averaging process. Once the time series is smoothed, it is used to generate forecasts. The moving averages method is probably the most widely used smoothing technique. In order to smooth the time series, this method uses the average of a number of adjoining data points or periods. This averaging process uses overlapping observations to generate averages. Suppose a forecaster wants to generate three-period moving averages. The forecaster would take the first three observations of the time series and calculate the average. Then, the forecaster would drop the first observation and calculate the average of the next three observations. This process would continue until three-period averages are calculated based on the data available from the entire time series. The term x0022movingx0022 refers to the way averages are calculatedx2014the forecaster moves up or down the time series to pick observations to calculate an average of a fixed number of observations. In the three-period example, the moving averages method would use the average of the most recent three observations of data in the time series as the forecast for the next period. This forecasted value for the next period, in conjunction with the last two observations of the historical time series, would yield an average that can be used as the forecast for the second period in the future. The calculation of a three-period moving average can be illustrated as follows. Suppose a forecaster wants to forecast the sales volume for American-made automobiles in the United States for the next year. The sales of American-made cars in the United States during the previous three years were: 1.3 million, 900,000, and 1.1 million (the most recent observation is reported first). The three-period moving average in this case is 1.1 million cars (that is: (1.3 0.90 1.1)3 1.1). Based on the three-period moving averages, the forecast may predict that 1.1 million American-made cars are most likely to be sold in the United States the next year. In calculating moving averages to generate forecasts, the forecaster may experiment with different-length moving averages. The forecaster will choose the length that yields the highest accuracy for the forecasts generated. x0022 It is important that forecasts generated not be too far from the actual future outcomes. In order to examine the accuracy of forecasts generated, forecasters generally devise a measure of the forecasting error (that is, the difference between the forecasted value for a period and the associated actual value of the variable of interest). Suppose retail sales volume for American-made automobiles in the United States is forecast to be 1.1 million cars for a given year, but only I million cars are actually sold that year. The forecast error in this case is equal 100,000 cars. In other words, the forecaster overestimated the sales volume for the year by 100,000. Of course, forecast errors will sometimes be positive, and at other times be negative. Thus, taking a simple average of forecast errors over time will not capture the true magnitude of forecast errors large positive errors may simply cancel out large negative errors, giving a misleading impression about the accuracy of forecasts generated. As a result, forecasters commonly use the mean squares error to measure the forecast error. The mean squares error, or the MSE, is the average of the sum of squared forecasting errors. This measure, by taking the squares of forecasting errors, eliminates the chance of negative and positive errors canceling out. In selecting the length of the moving averages, a forecaster can employ the MSE measure to determine the number of values to be included in calculating the moving averages. The forecaster experiments with different lengths to generate moving averages and then calculates forecast errors (and the associated mean squares errors) for each length used in calculating moving averages. Then, the forecaster can pick the length that minimizes the mean squared error of forecasts generated. Weighted moving averages are a variant of moving averages. In the moving averages method, each observation of data receives the same weight. In the weighted moving averages method, different weights are assigned to the observations on data that are used in calculating the moving averages. Suppose, once again, that a forecaster wants to generate three-period moving averages. Under the weighted moving averages method, the three data points would receive different weights before the average is calculated. Generally, the most recent observation receives the maximum weight, with the weight assigned decreasing for older data values. The calculation of a three-period weighted moving average can be illustrated as follows. Suppose, once again, that a forecaster wants to forecast the sales volume for American-made automobiles in the United States for the next year. The sales of American-made cars for the United States during the previous three years were: 1.3 million, 900,000, and 1.1 million (the most recent observation is reported first). One estimate of the weighted three-period moving average in this example can be equal to 1.133 million cars (that is, 1(36) x (1.3) (26) x (0.90) (16) x (1.1) 3 1.133 ). Based on the three-period weighted moving averages, the forecast may predict that 1.133 million American-made cars are most likely to be sold in the United States in the next year. The accuracy of weighted moving averages forecasts are determined in a manner similar to that for simple moving averages. Exponential smoothing is somewhat more difficult mathematically. In essence, however, exponential smoothing also uses the weighted average conceptx2014in the form of the weighted average of all past observations, as contained in the relevant time seriesx2014to generate forecasts for the next period. The term x0022exponential smoothingx0022 comes from the fact that this method employs a weighting scheme for the historical values of data that is exponential in nature. In ordinary terms, an exponential weighting scheme assigns the maximum weight to the most recent observation and the weights decline in a systematic manner as older and older observations are included. The accuracies of forecasts using exponential smoothing are determined in a manner similar to that for the moving averages method. TIME SERIES FORECASTING USING TREND PROJECTION. This method uses the underlying long-term trend of a time series of data to forecast its future values. Suppose a forecaster has data on sales of American-made automobiles in the United States for the last 25 years. The time series data on U. S. auto sales can be plotted and examined visually. Most likely, the auto sales time series would display a gradual growth in the sales volume, despite the x0022upx0022 and x0022downx0022 movements from year to year. The trend may be linear (approximated by a straight line) or nonlinear (approximated by a curve or a nonlinear line). Most often, forecasters assume a linear trendx2014of course, if a linear trend is assumed when, in fact, a nonlinear trend is present, this misrepresentation can lead to grossly inaccurate forecasts. Assume that the time series on American-made auto sales is actually linear and thus it can be represented by a straight line. Mathematical techniques are used to find the straight line that most accurately represents the time series on auto sales. This line relates sales to different points over time. If we further assume that the past trend will continue in the future, future values of the time series (forecasts) can be inferred from the straight line based on the past data. One should remember that the forecasts based on this method should also be judged on the basis of a measure of forecast errors. One can continue to assume that the forecaster uses the mean squares error discussed earlier. TIME SERIES FORECASTING USING TREND AND SEASONAL COMPONENTS. This method is a variant of the trend projection method, making use of the seasonal component of a time series in addition to the trend component. This method removes the seasonal effect or the seasonal component from the time series. This step is often referred to as de-seasonalizing the time series. Once a time series has been de-seasonalized it will have only a trend component. The trend projection method can then be employed to identify a straight line trend that represents the time series data well. Then, using this trend line, forecasts for future periods are generated. The final step under this method is to reincorporate the seasonal component of the time series (using what is known as the seasonal index) to adjust the forecasts based on trend alone. In this manner, the forecasts generated are composed of both the trend and seasonal components. One will normally expect these forecasts to be more accurate than those that are based purely on the trend projection. CAUSAL METHOD OF FORECASTING. As mentioned earlier, causal methods use the cause-and-effect relationship between the variable whose future values are being forecasted and other related variables or factors. The widely known causal method is called regression analysis, a statistical technique used to develop a mathematical model showing how a set of variables are related. This mathematical relationship can be used to generate forecasts. In the terminology used in regression analysis contexts, the variable that is being forecasted is called the dependent or response variable. The variable or variables that help in forecasting the values of the dependent variable are called the independent or predictor variables. Regression analysis that employs one dependent variable and one independent variable and approximates the relationship between these two variables by a straight line is called a simple linear regression. Regression analysis that uses two or more independent variables to forecast values of the dependent variable is called a multiple regression analysis. Below, the forecasting technique using regression analysis for the simple linear regression case is briefly introduced. Suppose a forecaster has data on sales of American-made automobiles in the United States for the last 25 years. The forecaster has also identified that the sale of automobiles is related to individualsx0027 real disposable income (roughly speaking, income after income taxes are paid, adjusted for the inflation rate). The forecaster also has available the time series (for the last 25 years) on the real disposable income. The time series data on U. S. auto sales can be plotted against the time series data on real disposable income, so it can be examined visually. Most likely, the auto i sales time series would display a gradual growth in sales volume as real disposable income increases, despite the occasional lack of consistencyx2014that is, at times, auto sales may fall even when real disposable income rises. The relationship between the two variables (auto sales as the dependent variable and real disposable income as the independent variable) may be linear (approximated by a straight line) or nonlinear (approximated by a curve or a nonlinear line). Assume that the relationship between the time series on sales of American-made automobiles and real disposable income of consumers is actually linear and can thus be represented by a straight line. A fairly rigorous mathematical technique is used to find the straight line that most accurately represents the relationship between the time series on auto sales and disposable income. The intuition behind the mathematical technique employed in arriving at the appropriate straight line is as follows. Imagine that the relationship between the two time series has been plotted on paper. The plot will consist of a scatter (or cloud) of points. Each point in the plot represents a pair of observations on auto sales and disposable income (that is, auto sales corresponding to the given level of the real disposable income in any year). The scatter of points (similar to the time series method discussed above) may have an upward or a downward drift. That is, the relationship between auto sales and real disposable income may be approximated by an upward or downward sloping straight line. In all likelihood, the regression analysis in the present example will yield an upward sloping straight linex2014as disposable income increases so does the volume of automobile sales. Arriving at the most accurate straight line is the key. Presumably, one can draw many straight lines through the scatter of points in the plot. Not all of them, however, will equally represent the relationshipx2014some will be closer to most points, and others will be way off from most points in the scatter. Regression analysis then employs a mathematical technique. Different straight lines are drawn through the data. Deviations of the actual values of the data points in the plot from the corresponding values indicated by the straight line chosen in any instance are examined. The sum of the squares of these deviations captures the essence of how close a straight line is to the data points. The line with the minimum sum of squared deviations (called the x0022least squaresx0022 regression line) is considered the line of the best fit. Having identified the regression line, and assuming that the relationship based on the past data will continue, future values of the dependent variable (forecasts) can be inferred from the straight line based on the past data. If the forecaster has an idea of what the real disposable income may be in the coming year, a forecast for future auto sales can be generated. One should remember that forecasts based on this method should also be judged on the basis of a measure of forecast errors. One can continue to assume that the forecaster uses the mean squares error discussed earlier. In addition to using forecast errors, regression analysis uses additional ways of analyzing the effectiveness of the estimated regression line in forecasting. Anderson, David R. Dennis J. Sweeney, and Thomas A. Williams. An Introduction to Management Science: Quantitative Approaches to Decision Making. 8th ed. MinneapolisSt. Paul: West Publishing, 1997. x2014x2014. Statistics for Business and Economics. 7th ed. Cincinnati: SouthWestern College Publishing, 1999.

No comments:

Post a Comment