Bewegliches Durchschnittliches Arima Modell


Ein RIMA steht für Autoregressive Integrated Moving Average Modelle. Univariate (Einzelvektor) ARIMA ist eine Prognosemethode, die die zukünftigen Werte einer Serie, die vollständig auf ihrer eigenen Trägheit basiert, projiziert. Seine Hauptanwendung liegt im Bereich der kurzfristigen Prognose mit mindestens 40 historischen Datenpunkten. Es funktioniert am besten, wenn Ihre Daten eine stabile oder konsistente Muster im Laufe der Zeit mit einem Minimum an Ausreißern zeigt. Manchmal nennt man Box-Jenkins (nach den ursprünglichen Autoren), ARIMA ist in der Regel überlegen exponentielle Glättung Techniken, wenn die Daten relativ lange und die Korrelation zwischen vergangenen Beobachtungen ist stabil. Wenn die Daten kurz oder stark flüchtig sind, kann eine gewisse Glättungsmethode besser ablaufen. Wenn Sie nicht über mindestens 38 Datenpunkte verfügen, sollten Sie eine andere Methode als ARIMA betrachten. Der erste Schritt bei der Anwendung der ARIMA-Methodik ist die Überprüfung der Stationarität. Stationarität impliziert, dass die Reihe auf einem ziemlich konstanten Niveau über Zeit bleibt. Wenn ein Trend besteht, wie in den meisten wirtschaftlichen oder geschäftlichen Anwendungen, dann sind Ihre Daten nicht stationär. Die Daten sollten auch eine konstante Varianz in ihren Schwankungen im Laufe der Zeit zeigen. Dies ist leicht zu sehen mit einer Serie, die stark saisonal und wächst mit einer schnelleren Rate. In einem solchen Fall werden die Höhen und Tiefen der Saisonalität im Laufe der Zeit dramatischer. Ohne dass diese Stationaritätsbedingungen erfüllt sind, können viele der mit dem Prozess verbundenen Berechnungen nicht berechnet werden. Wenn eine grafische Darstellung der Daten Nichtstationarität anzeigt, dann sollten Sie die Serie unterscheiden. Die Differenzierung ist eine hervorragende Möglichkeit, eine nichtstationäre Serie in eine stationäre zu transformieren. Dies geschieht durch Subtrahieren der Beobachtung in der aktuellen Periode von der vorherigen. Wenn diese Transformation nur einmal zu einer Reihe erfolgt, sagen Sie, dass die Daten zuerst unterschieden wurden. Dieser Prozess im Wesentlichen eliminiert den Trend, wenn Ihre Serie wächst mit einer ziemlich konstanten Rate. Wenn es mit steigender Rate wächst, können Sie das gleiche Verfahren anwenden und die Daten erneut differenzieren. Ihre Daten würden dann zweite differenziert werden. Autokorrelationen sind Zahlenwerte, die angeben, wie sich eine Datenreihe mit der Zeit auf sich bezieht. Genauer gesagt misst es, wie stark Datenwerte bei einer bestimmten Anzahl von Perioden auseinander über die Zeit miteinander korreliert werden. Die Anzahl der Perioden wird in der Regel als Verzögerung bezeichnet. Zum Beispiel misst eine Autokorrelation bei Verzögerung 1, wie die Werte 1 Periode auseinander in der Reihe miteinander korreliert sind. Eine Autokorrelation bei Verzögerung 2 misst, wie die Daten, die zwei Perioden voneinander entfernt sind, über die gesamte Reihe korreliert werden. Autokorrelationen können im Bereich von 1 bis -1 liegen. Ein Wert nahe 1 gibt eine hohe positive Korrelation an, während ein Wert nahe -1 impliziert eine hohe negative Korrelation. Diese Maßnahmen werden meist durch grafische Darstellungen, sogenannte Korrelagramme, ausgewertet. Ein Korrelationsdiagramm zeigt die Autokorrelationswerte für eine gegebene Reihe bei unterschiedlichen Verzögerungen. Dies wird als Autokorrelationsfunktion bezeichnet und ist bei der ARIMA-Methode sehr wichtig. Die ARIMA-Methodik versucht, die Bewegungen in einer stationären Zeitreihe als Funktion der so genannten autoregressiven und gleitenden Durchschnittsparameter zu beschreiben. Diese werden als AR-Parameter (autoregessiv) und MA-Parameter (gleitende Mittelwerte) bezeichnet. Ein AR-Modell mit nur einem Parameter kann als geschrieben werden. X (t) A (1) X (t-1) E (t) wobei X (t) Zeitreihen A (1) der autoregressive Parameter der Ordnung 1 X (t-1) (T) der Fehlerterm des Modells Dies bedeutet einfach, dass jeder gegebene Wert X (t) durch eine Funktion seines vorherigen Wertes X (t-1) plus einen unerklärlichen Zufallsfehler E (t) erklärt werden kann. Wenn der geschätzte Wert von A (1) 0,30 betrug, dann wäre der aktuelle Wert der Reihe mit 30 seines vorherigen Wertes 1 verknüpft. Natürlich könnte die Serie auf mehr als nur einen vergangenen Wert bezogen werden. Zum Beispiel ist X (t) A (1) X (t-1) A (2) X (t-2) E (t) Dies zeigt an, dass der aktuelle Wert der Reihe eine Kombination der beiden unmittelbar vorhergehenden Werte ist, X (t-1) und X (t-2) zuzüglich eines Zufallsfehlers E (t). Unser Modell ist nun ein autoregressives Modell der Ordnung 2. Moving Average Models: Eine zweite Art von Box-Jenkins-Modell wird als gleitendes Durchschnittsmodell bezeichnet. Obwohl diese Modelle dem AR-Modell sehr ähnlich sind, ist das Konzept dahinter ganz anders. Bewegliche Durchschnittsparameter beziehen sich auf das, was in der Periode t stattfindet, nur auf die zufälligen Fehler, die in vergangenen Zeitperioden aufgetreten sind, dh E (t-1), E (t-2) usw. anstatt auf X (t-1), X T-2), (Xt-3) wie in den autoregressiven Ansätzen. Ein gleitendes Durchschnittsmodell mit einem MA-Begriff kann wie folgt geschrieben werden. X (t) - B (1) E (t-1) E (t) Der Begriff B (1) wird als MA der Ordnung 1 bezeichnet. Das negative Vorzeichen vor dem Parameter wird nur für Konventionen verwendet und in der Regel ausgedruckt Automatisch von den meisten Computerprogrammen. Das obige Modell sagt einfach, dass jeder gegebene Wert von X (t) direkt nur mit dem Zufallsfehler in der vorherigen Periode E (t-1) und mit dem aktuellen Fehlerterm E (t) zusammenhängt. Wie im Fall von autoregressiven Modellen können die gleitenden Durchschnittsmodelle auf übergeordnete Strukturen mit unterschiedlichen Kombinationen und gleitenden mittleren Längen erweitert werden. Die ARIMA-Methodik erlaubt es auch, Modelle zu erstellen, die sowohl autoregressive als auch gleitende Durchschnittsparameter zusammenführen. Diese Modelle werden oft als gemischte Modelle bezeichnet. Obwohl dies für eine kompliziertere Prognose-Tool macht, kann die Struktur tatsächlich simulieren die Serie besser und produzieren eine genauere Prognose. Pure Modelle implizieren, dass die Struktur nur aus AR oder MA-Parameter besteht - nicht beides. Die Modelle, die von diesem Ansatz entwickelt werden, werden in der Regel als ARIMA-Modelle bezeichnet, da sie eine Kombination aus autoregressiver (AR), Integration (I) verwenden, die sich auf den umgekehrten Prozess der Differenzierung bezieht, um die Prognose zu erzeugen. Ein ARIMA-Modell wird üblicherweise als ARIMA (p, d, q) angegeben. Dies ist die Reihenfolge der autoregressiven Komponenten (p), der Anzahl der differenzierenden Operatoren (d) und der höchsten Ordnung des gleitenden Mittelwerts. Beispielsweise bedeutet ARIMA (2,1,1), dass Sie ein autoregressives Modell zweiter Ordnung mit einer ersten gleitenden Durchschnittskomponente haben, deren Serie einmal differenziert wurde, um die Stationarität zu induzieren. Auswahl der richtigen Spezifikation: Das Hauptproblem in der klassischen Box-Jenkins versucht zu entscheiden, welche ARIMA-Spezifikation zu verwenden - i. e. Wie viele AR - und / oder MA-Parameter einzuschließen sind. Dies ist, was viel von Box-Jenkings 1976 dem Identifikationsprozeß gewidmet wurde. Es hing von der graphischen und numerischen Auswertung der Stichprobenautokorrelation und der partiellen Autokorrelationsfunktionen ab. Nun, für Ihre grundlegenden Modelle, ist die Aufgabe nicht allzu schwierig. Jeder hat Autokorrelationsfunktionen, die eine bestimmte Weise aussehen. Allerdings, wenn Sie gehen in der Komplexität, die Muster sind nicht so leicht zu erkennen. Um es schwieriger zu machen, stellen Ihre Daten nur eine Probe des zugrundeliegenden Prozesses dar. Das bedeutet, dass Stichprobenfehler (Ausreißer, Messfehler etc.) den theoretischen Identifikationsprozess verzerren können. Deshalb ist die traditionelle ARIMA-Modellierung eher eine Kunst als eine Wissenschaft. Wie man ein ARIMA-Modell für die Zeitreihen-Prognose mit Python erstellt Eine populäre und weit verbreitete statistische Methode zur Zeitreihen-Prognose ist das ARIMA-Modell. ARIMA ist ein Akronym, das für AutoRegressive Integrated Moving Average steht. Es ist eine Klasse von Modellen, die eine Reihe von verschiedenen Standard-Zeitstrukturen in Zeitreihendaten erfasst. In diesem Tutorial erfahren Sie, wie Sie ein ARIMA-Modell für Zeitreihendaten mit Python entwickeln können. Nach Abschluss dieses Tutorials, werden Sie wissen: Über die ARIMA-Modell die verwendeten Parameter und Annahmen durch das Modell. Wie man ein ARIMA-Modell auf Daten anpasst und es zur Prognose einsetzt. So konfigurieren Sie das ARIMA-Modell auf Ihrem Zeitreihenproblem. Lassen Sie uns beginnen. Autoregressives integriertes Moving Average Modell Ein ARIMA Modell ist eine Klasse statistischer Modelle zur Analyse und Prognose von Zeitreihendaten. Es richtet sich explizit auf eine Reihe von Standardstrukturen in Zeitreihendaten und bietet somit eine einfache, aber leistungsstarke Methode zur Herstellung geschickter Zeitreihenprognosen. ARIMA ist ein Akronym, das für AutoRegressive Integrated Moving Average steht. Es ist eine Verallgemeinerung des einfacheren AutoRegressive Moving Average und fügt den Begriff der Integration hinzu. Dieses Akronym ist beschreibend und erfasst die wichtigsten Aspekte des Modells selbst. Kurz, sie sind: AR. Autoregression. Ein Modell, das die abhängige Beziehung zwischen einer Beobachtung und einer gewissen Anzahl von verzögerten Beobachtungen verwendet. ICH . Integriert. Die Verwendung der Differenzierung von rohen Beobachtungen (z. B. Subtrahieren einer Beobachtung von einer Beobachtung bei der vorherigen Zeitstufe), um die Zeitreihe stationär zu machen. MA Gleitender Durchschnitt . Ein Modell, das die Abhängigkeit zwischen einer Beobachtung und einem Restfehler aus einem gleitenden Durchschnittsmodell verwendet, das auf verzögerte Beobachtungen angewendet wird. Jede dieser Komponenten wird explizit im Modell als Parameter angegeben. Eine Standardnotation wird von ARIMA (p, d, q) verwendet, wobei die Parameter mit ganzzahligen Werten ersetzt werden, um schnell das spezifische verwendete ARIMA-Modell anzuzeigen. Die Parameter des ARIMA-Modells sind wie folgt definiert: p. Die Anzahl der Lag-Beobachtungen in das Modell, auch die Lag-Reihenfolge. D. Die Häufigkeit, mit der die Rohbeobachtungen differenziert werden, auch Differenzgrad genannt. Q. Die Größe der gleitenden mittleren Fenster, auch die Reihenfolge der gleitenden Durchschnitt genannt. Ein lineares Regressionsmodell wird einschließlich der spezifizierten Anzahl und Art der Ausdrücke aufgebaut, und die Daten werden durch einen Grad der Differenzierung vorbereitet, um sie stationär zu machen, d. H. Um Trend - und saisonale Strukturen zu entfernen, die das Regressionsmodell negativ beeinflussen. Ein Wert von 0 kann für einen Parameter verwendet werden, der angibt, dieses Element des Modells nicht zu verwenden. Auf diese Weise kann das ARIMA-Modell so konfiguriert werden, dass es die Funktion eines ARMA-Modells und sogar ein einfaches AR-, I - oder MA-Modell ausführt. Die Annahme eines ARIMA-Modells für eine Zeitreihe geht davon aus, dass der zugrunde liegende Prozess, der die Beobachtungen generiert, ein ARIMA-Prozess ist. Dies mag offensichtlich erscheinen, hilft aber, die Annahmen des Modells in den rohen Beobachtungen und in den Restfehlern der Prognosen des Modells zu bestätigen. Als nächstes zeigen let8217s, wie wir das ARIMA-Modell in Python verwenden können. Wir beginnen mit dem Laden einer einfachen univariaten Zeitreihe. Shampoo Sales Dataset Dieser Datensatz beschreibt die monatliche Anzahl der Verkäufe von Shampoo über einen Zeitraum von 3 Jahren. Die Einheiten sind eine Verkaufszahlen und es gibt 36 Beobachtungen. Der ursprüngliche Datensatz wird Makridakis, Wheelwright und Hyndman (1998) gutgeschrieben. Laden Sie das Dataset herunter und legen Sie es in Ihr aktuelles Arbeitsverzeichnis mit dem Dateinamen 8220 shampoo-sales. csv 8220. Nachfolgend finden Sie ein Beispiel für das Laden des Shampoo Sales-Datasets mit Pandas mit einer benutzerdefinierten Funktion zum Analysieren des Datum-Zeit-Felds. Der Datensatz ist in einem beliebigen Jahr, in diesem Fall 1900 basiert. Zunächst erhalten wir eine Linie der Restfehler, was darauf hindeutet, dass es möglicherweise noch einige Trend-Informationen nicht erfasst durch das Modell. ARMA Fit Residual Error Line Plot Als nächstes erhalten wir ein Dichte-Diagramm der Restfehlerwerte, was darauf hindeutet, dass die Fehler Gaußsche sind, aber nicht auf Null zentriert sein können. ARMA Fit Restfehlerdichteplot Die Verteilung der Restfehler wird angezeigt. Die Ergebnisse zeigen, dass es tatsächlich eine Vorspannung in der Vorhersage gibt (ein Nicht-Null-Mittelwert in den Resten). Beachten Sie, dass, obwohl oben haben wir den gesamten Datensatz für die Zeitreihe-Analyse, idealerweise würden wir diese Analyse auf nur die Ausbildung Datensatz bei der Entwicklung eines prädiktiven Modells durchzuführen. Als nächstes untersuchen wir, wie wir mit dem ARIMA-Modell Prognosen erstellen können. Rolling Forecast ARIMA Modell Mit dem ARIMA Modell können zukünftige Zeitschritte prognostiziert werden. Wir können die predict () - Funktion für das ARIMAResults-Objekt verwenden, um Vorhersagen durchzuführen. Er akzeptiert den Index der Zeitschritte, um Vorhersagen als Argumente vorzunehmen. Diese Indizes beziehen sich auf den Beginn des Trainingsdatensatzes, der zur Vorhersage verwendet wird. Wenn wir in dem Trainingsdatensatz 100 Beobachtungen an das Modell anpassten, dann würde der Index des nächsten Zeitschrittes für die Vorhersage der Vorhersagefunktion als start101, end101 angegeben. Das würde ein Array mit einem Element zurückgeben, das die Vorhersage enthält. Wir würden es auch vorziehen, dass die prognostizierten Werte in der ursprünglichen Skala vorliegen, falls wir eine Differenzierung durchführen (dgt0 bei der Konfiguration des Modells). Dies kann durch Setzen des Typ-Arguments auf den Wert 8216levels8217 festgelegt werden. Typ8217levels8217. Alternativ können wir alle diese Spezifikationen vermeiden, indem Sie die prognost () - Funktion verwenden, die eine einstufige Prognose mit dem Modell ausführt. Wir können den Trainingsdatensatz in Trainings - und Testsets aufteilen, den Zugsatz an das Modell anpassen und für jedes Element auf dem Testset eine Vorhersage generieren. Eine rollende Prognose ist erforderlich, da die Abhängigkeit von Beobachtungen in früheren Zeitschritten für die Differenzierung und das AR-Modell. Eine grobe Weise, diese rollende Prognose durchzuführen, ist, das ARIMA Modell nach jeder neuen Beobachtung wieder herzustellen. Manuell verfolgen wir alle Beobachtungen in einer Liste, die als Verlauf bezeichnet wird, der mit den Trainingsdaten ausgesät wird und an die neue Iterationen angehängt werden. Alles zusammen, unten ist ein Beispiel für eine rollende Prognose mit dem ARIMA-Modell in Python. Es wird ein Linienplot erstellt, der die erwarteten Werte (blau) im Vergleich zu den Vorhersagevorhersagen (rot) zeigt. Wir können sehen, die Werte zeigen einen Trend und sind in der richtigen Skala. ARIMA Rolling Prognose Linie Plot Das Modell könnte weitere Abstimmung der p, d, und vielleicht sogar die q-Parameter. Konfigurieren eines ARIMA-Modells Der klassische Ansatz für die Anpassung eines ARIMA-Modells orientiert sich an der Methodik der Box-Jenkins. Dies ist ein Prozess, der mit Hilfe der Zeitreihenanalyse und Diagnostik gute Parameter für das ARIMA-Modell ermittelt. Zusammenfassend sind die Schritte dieses Prozesses wie folgt: Model Identification. Verwenden Sie Plots und Zusammenfassungsstatistiken, um Trends, Saisonalität und Autoregressionselemente zu identifizieren, um eine Vorstellung von dem Ausmaß der Differenzierung und der Größe der Verzögerung zu erhalten, die erforderlich sein wird. Parameterschätzung. Verwenden Sie eine Anpassung Verfahren, um die Koeffizienten des Regressionsmodells zu finden. Modellprüfung. Verwenden Sie Plots und statistische Tests der Restfehler zu bestimmen, die Menge und Art der zeitlichen Struktur nicht erfasst durch das Modell. Der Prozeß wird wiederholt, bis entweder ein wünschenswerter Pegel der Anpassung bei den Proben oder Proben außerhalb der Probe (z. B. Trainings - oder Testdatensätze) erreicht wird. Das Verfahren wurde in der klassischen 1970 Lehrbuch zum Thema mit dem Titel Zeitreihe Analyse: Vorhersage und Kontrolle von George Box und Gwilym Jenkins beschrieben. Eine aktualisierte fünfte Ausgabe ist jetzt verfügbar, wenn Sie daran interessiert sind, tiefer in diese Art von Modell und Methodik gehen. Angesichts der Tatsache, dass das Modell effizient an kleinstmögliche Zeitreihen-Datensätze angepasst werden kann, können Netzsuchparameter des Modells ein wertvoller Ansatz sein. In diesem Tutorial entdeckten Sie, wie ein ARIMA-Modell für die Zeitreihenvorhersage in Python entwickelt werden kann. Insbesondere haben Sie gelernt: Über das ARIMA-Modell, wie es konfiguriert werden kann, und Annahmen, die durch das Modell. So führen Sie eine schnelle Zeitreihenanalyse mit dem ARIMA-Modell durch. Verwendung eines ARIMA-Modells zur Prognose von Stichprobenvorhersagen. Haben Sie Fragen zu ARIMA, oder zu diesem Tutorial Fragen Sie Ihre Fragen in den Kommentaren unten und ich werde mein Bestes tun, um zu antworten. Über Jason Brownlee Jason ist Chefredakteur bei MachineLearningMastery. Er ist ein Mann, stolzer Vater, wissenschaftlicher Forscher, Autor, professioneller Entwickler und ein maschinenlesender Praktiker. Er hat einen Master und PhD in Künstliche Intelligenz, hat Bücher über Machine Learning veröffentlicht und hat geschrieben operativen Code, der in der Produktion läuft. Mehr erfahren. Wie zu visualisieren Time Series Residual Forecast Fehler mit Python Wie Model Residual Fehler zu korrigieren Time Series Prognosen mit Python 6 Responses to Erstellen eines ARIMA Modell für Time Series Forecasting mit PythonHow, um ein ARIMA Modell für die Zeitreihe Prognose mit Python zu erstellen Ein beliebtes Und weit verbreitetes statistisches Verfahren für die Zeitreihenvorhersage ist das ARIMA-Modell. ARIMA ist ein Akronym, das für AutoRegressive Integrated Moving Average steht. Es ist eine Klasse von Modellen, die eine Reihe von verschiedenen Standard-Zeitstrukturen in Zeitreihendaten erfasst. In diesem Tutorial erfahren Sie, wie Sie ein ARIMA-Modell für Zeitreihendaten mit Python entwickeln können. Nach Abschluss dieses Tutorials, werden Sie wissen: Über die ARIMA-Modell die verwendeten Parameter und Annahmen durch das Modell. Wie man ein ARIMA-Modell auf Daten anpasst und es zur Prognose einsetzt. So konfigurieren Sie das ARIMA-Modell auf Ihrem Zeitreihenproblem. Lassen Sie uns beginnen. Autoregressives integriertes Moving Average Modell Ein ARIMA Modell ist eine Klasse statistischer Modelle zur Analyse und Prognose von Zeitreihendaten. Es richtet sich explizit auf eine Reihe von Standardstrukturen in Zeitreihendaten und bietet somit eine einfache, aber leistungsstarke Methode zur Herstellung geschickter Zeitreihenprognosen. ARIMA ist ein Akronym, das für AutoRegressive Integrated Moving Average steht. Es ist eine Verallgemeinerung des einfacheren AutoRegressive Moving Average und fügt den Begriff der Integration hinzu. Dieses Akronym ist beschreibend und erfasst die wichtigsten Aspekte des Modells selbst. Kurz, sie sind: AR. Autoregression. Ein Modell, das die abhängige Beziehung zwischen einer Beobachtung und einer gewissen Anzahl von verzögerten Beobachtungen verwendet. ICH . Integriert. Die Verwendung der Differenzierung von rohen Beobachtungen (z. B. Subtrahieren einer Beobachtung von einer Beobachtung bei der vorherigen Zeitstufe), um die Zeitreihe stationär zu machen. MA Gleitender Durchschnitt . Ein Modell, das die Abhängigkeit zwischen einer Beobachtung und einem Restfehler aus einem gleitenden Durchschnittsmodell verwendet, das auf verzögerte Beobachtungen angewendet wird. Jede dieser Komponenten wird explizit im Modell als Parameter angegeben. Eine Standardnotation wird von ARIMA (p, d, q) verwendet, wobei die Parameter mit ganzzahligen Werten ersetzt werden, um schnell das spezifische verwendete ARIMA-Modell anzuzeigen. Die Parameter des ARIMA-Modells sind wie folgt definiert: p. Die Anzahl der Lag-Beobachtungen in das Modell, auch die Lag-Reihenfolge. D. Die Häufigkeit, mit der die Rohbeobachtungen differenziert werden, auch Differenzgrad genannt. Q. Die Größe der gleitenden mittleren Fenster, auch die Reihenfolge der gleitenden Durchschnitt genannt. Ein lineares Regressionsmodell wird einschließlich der spezifizierten Anzahl und Art der Ausdrücke aufgebaut, und die Daten werden durch einen Grad der Differenzierung vorbereitet, um sie stationär zu machen, d. H. Um Trend - und saisonale Strukturen zu entfernen, die das Regressionsmodell negativ beeinflussen. Ein Wert von 0 kann für einen Parameter verwendet werden, der angibt, dieses Element des Modells nicht zu verwenden. Auf diese Weise kann das ARIMA-Modell so konfiguriert werden, dass es die Funktion eines ARMA-Modells und sogar ein einfaches AR-, I - oder MA-Modell ausführt. Die Annahme eines ARIMA-Modells für eine Zeitreihe geht davon aus, dass der zugrunde liegende Prozess, der die Beobachtungen generiert, ein ARIMA-Prozess ist. Dies mag offensichtlich erscheinen, hilft aber, die Annahmen des Modells in den rohen Beobachtungen und in den Restfehlern der Prognosen des Modells zu bestätigen. Als nächstes zeigen let8217s, wie wir das ARIMA-Modell in Python verwenden können. Wir beginnen mit dem Laden einer einfachen univariaten Zeitreihe. Shampoo Sales Dataset Dieser Datensatz beschreibt die monatliche Anzahl der Verkäufe von Shampoo über einen Zeitraum von 3 Jahren. Die Einheiten sind eine Verkaufszahlen und es gibt 36 Beobachtungen. Der ursprüngliche Datensatz wird Makridakis, Wheelwright und Hyndman (1998) gutgeschrieben. Laden Sie das Dataset herunter und legen Sie es in Ihr aktuelles Arbeitsverzeichnis mit dem Dateinamen 8220 shampoo-sales. csv 8220. Nachfolgend finden Sie ein Beispiel für das Laden des Shampoo Sales-Datasets mit Pandas mit einer benutzerdefinierten Funktion zum Analysieren des Datum-Zeit-Felds. Der Datensatz ist in einem beliebigen Jahr, in diesem Fall 1900 basiert. Zunächst erhalten wir eine Linie der Restfehler, was darauf hindeutet, dass es möglicherweise noch einige Trend-Informationen nicht erfasst durch das Modell. ARMA Fit Residual Error Line Plot Als nächstes erhalten wir ein Dichte-Diagramm der Restfehlerwerte, was darauf hindeutet, dass die Fehler Gaußsche sind, aber nicht auf Null zentriert sein können. ARMA Fit Restfehlerdichteplot Die Verteilung der Restfehler wird angezeigt. Die Ergebnisse zeigen, dass es tatsächlich eine Vorspannung in der Vorhersage gibt (ein Nicht-Null-Mittelwert in den Resten). Beachten Sie, dass, obwohl oben haben wir den gesamten Datensatz für die Zeitreihe-Analyse, idealerweise würden wir diese Analyse auf nur die Ausbildung Datensatz bei der Entwicklung eines prädiktiven Modells durchzuführen. Als nächstes untersuchen wir, wie wir mit dem ARIMA-Modell Prognosen erstellen können. Rolling Forecast ARIMA Modell Mit dem ARIMA Modell können zukünftige Zeitschritte prognostiziert werden. Wir können die predict () - Funktion für das ARIMAResults-Objekt verwenden, um Vorhersagen durchzuführen. Er akzeptiert den Index der Zeitschritte, um Vorhersagen als Argumente vorzunehmen. Diese Indizes beziehen sich auf den Beginn des Trainingsdatensatzes, der zur Vorhersage verwendet wird. Wenn wir in dem Trainingsdatensatz 100 Beobachtungen zum Anpassen des Modells verwendeten, würde der Index des nächsten Zeitschrittes für die Vorhersage der Vorhersagefunktion als start101, end101 angegeben. Dies würde ein Array mit einem Element zurückgeben, das die Vorhersage enthält. Wir würden es auch vorziehen, dass die prognostizierten Werte in der ursprünglichen Skala vorliegen, falls wir eine Differenzierung durchführen (dgt0 bei der Konfiguration des Modells). Dies kann durch Setzen des Typ-Arguments auf den Wert 8216levels8217 festgelegt werden. Typ8217levels8217. Alternativ können wir alle diese Spezifikationen vermeiden, indem Sie die prognost () - Funktion verwenden, die eine einstufige Prognose mit dem Modell ausführt. Wir können den Trainingsdatensatz in Trainings - und Testsets aufteilen, den Zugsatz an das Modell anpassen und für jedes Element auf dem Testset eine Vorhersage generieren. Eine rollende Prognose ist erforderlich, da die Abhängigkeit von Beobachtungen in früheren Zeitschritten für die Differenzierung und das AR-Modell. Eine grobe Weise, diese rollende Prognose durchzuführen, ist, das ARIMA Modell nach jeder neuen Beobachtung wieder herzustellen. Manuell verfolgen wir alle Beobachtungen in einer Liste, die als Verlauf bezeichnet wird, der mit den Trainingsdaten ausgesät wird und an die neue Iterationen angehängt werden. Alles zusammen, unten ist ein Beispiel für eine rollende Prognose mit dem ARIMA-Modell in Python. Es wird ein Linienplot erstellt, der die erwarteten Werte (blau) im Vergleich zu den Vorhersagevorhersagen (rot) zeigt. Wir können sehen, die Werte zeigen einen Trend und sind in der richtigen Skala. ARIMA Rolling Prognose Linie Plot Das Modell könnte weitere Abstimmung der p, d, und vielleicht sogar die q-Parameter. Konfigurieren eines ARIMA-Modells Der klassische Ansatz für die Anpassung eines ARIMA-Modells orientiert sich an der Methodik der Box-Jenkins. Dies ist ein Prozess, der mit Hilfe von Zeitreihenanalyse und Diagnostik gute Parameter für das ARIMA-Modell ermittelt. Zusammenfassend sind die Schritte dieses Prozesses wie folgt: Model Identification. Verwenden Sie Plots und Zusammenfassungsstatistiken, um Trends, Saisonalität und Autoregressionselemente zu identifizieren, um eine Vorstellung von dem Ausmaß der Differenzierung und der Größe der Verzögerung zu erhalten, die erforderlich sein wird. Parameterschätzung. Verwenden Sie eine Anpassung Verfahren, um die Koeffizienten des Regressionsmodells zu finden. Modellprüfung. Verwenden Sie Plots und statistische Tests der Restfehler zu bestimmen, die Menge und Art der zeitlichen Struktur nicht erfasst durch das Modell. Der Prozeß wird wiederholt, bis entweder ein wünschenswerter Pegel der Anpassung bei den Proben oder Proben außerhalb der Probe (z. B. Trainings - oder Testdatensätze) erreicht wird. Das Verfahren wurde in der klassischen 1970 Lehrbuch zum Thema mit dem Titel Zeitreihe Analyse: Vorhersage und Kontrolle von George Box und Gwilym Jenkins beschrieben. Eine aktualisierte fünfte Ausgabe ist jetzt verfügbar, wenn Sie daran interessiert sind, tiefer in diese Art von Modell und Methodik gehen. Angesichts der Tatsache, dass das Modell effizient an kleinstmögliche Zeitreihen-Datensätze angepasst werden kann, können Netzsuchparameter des Modells ein wertvoller Ansatz sein. In diesem Tutorial entdeckten Sie, wie ein ARIMA-Modell für die Zeitreihenvorhersage in Python entwickelt werden kann. Insbesondere haben Sie gelernt: Über das ARIMA-Modell, wie es konfiguriert werden kann, und Annahmen, die durch das Modell. So führen Sie eine schnelle Zeitreihenanalyse mit dem ARIMA-Modell durch. Verwendung eines ARIMA-Modells zur Prognose von Stichprobenvorhersagen. Haben Sie Fragen zu ARIMA, oder zu diesem Tutorial Fragen Sie Ihre Fragen in den Kommentaren unten und ich werde mein Bestes tun, um zu antworten. Über Jason Brownlee Jason ist Chefredakteur bei MachineLearningMastery. Er ist ein Mann, stolzer Vater, wissenschaftlicher Forscher, Autor, professioneller Entwickler und ein maschinenlesender Praktiker. Er hat einen Master und PhD in Künstliche Intelligenz, hat Bücher über Machine Learning veröffentlicht und hat geschrieben operativen Code, der in der Produktion läuft. Mehr erfahren. Wie zu visualisieren Time Series Residual-Forecast-Fehler mit Python Wie Model Residual Fehler zu korrigieren Time Series Prognosen mit Python 6 Responses, wie man ein ARIMA-Modell für Time Series Forecasting mit Python erstellen

Comments

Popular posts from this blog

Forex Hedgefonds Strategien

Binäre Optionen Unterstützung Und Widerstand

Forex Trading Forex Drain Broker