ARIMA ist eine Abkürzung, die für AutoRegressive Incorporated Moving Normal steht. Es handelt sich dabei um eine Modellklasse, die eine Reihe verschiedener weltlicher Standardstrukturen in Form von Zeitanordnungsinformationen einfängt.

In dieser Lehrübung erfahren Sie, wie Sie mit Python ein ARIMA-Modell für Zeitanordnungsinformationen aufbauen können.

Nach Abschluss dieser Lehrübung werden Sie es wissen:

Über das ARIMA-Modell die verwendeten Parameter und die durch das Modell geäußerten Vermutungen.

Schritt-für-Schritt-Anleitung zur Anpassung eines ARIMA-Modells an Informationen und zur Herstellung von Figuren.

Schritt-für-Schritt-Anleitung zur Gestaltung des ARIMA-Modells für Ihre Zeiteinteilung.

Finden Sie in meinem neuen Buch mit 28 Bit-für-Bit-Anleitungsübungen und vollständigem Python-Code heraus, wie Sie sich vorbereiten und sich Zeitanordnungsinformationen vorstellen und autoregressive Bestimmungsmodelle erstellen können.

Wie wär’s, wenn wir anfangen?

Aktualisiert Apr/2019: Die Verbindung zum Datenbestand wurde aufgefrischt.

Aktualisiert Sept/2019: Aktualisierte Leitfäden zur Nutzung der neuesten Programmierschnittstelle.

Autoregressives Modell der koordinierten beweglichen Normalen

Ein ARIMA-Modell ist eine Klasse von faktischen Modellen zur Aufschlüsselung und Bestimmung von Informationen zur Zeiteinteilung.

Es berücksichtigt eindeutig eine Reihe von Standardstrukturen für Zeitanordnungsinformationen und bietet in dieser Eigenschaft eine einfache, aber bahnbrechende Technik zur Herstellung geeigneter Zeitanordnungsinstrumente.

ARIMA ist eine Abkürzung, die für AutoRegressive Incorporated Moving Normal steht. Es ist eine Spekulation auf die einfachere AutoRegressive Gleitende Normale und beinhaltet den Gedanken der Kombination.

Diese Abkürzung ist unmissverständlich und fängt die wichtigsten Teile des Modells selbst ein. Schnell sind sie es:

AR: Autoregression. Ein Modell, das die bedürftige Verbindung zwischen Wahrnehmung und einer gewissen Anzahl von erschlafften Wahrnehmungen nutzt.

I: Eingegründet. Die Nutzung der Differenzierung von groben Wahrnehmungen (z.B. Subtraktion einer Wahrnehmung von der Wahrnehmung im vergangenen Zeitschritt), um die Zeitanordnung stationär zu machen.

Mama: Normal bewegen. Ein Modell, das die Abhängigkeit zwischen einer Wahrnehmung und einem verweilenden Fehler eines sich bewegenden Normalmodells nutzt, das auf schlaffe Wahrnehmungen angewandt wird.

Jeder dieser Teile ist im Modell eindeutig als Parameter angegeben. Es wird eine Standarddokumentation von ARIMA(p,d,q) verwendet, in der die Parameter durch ganzzahlige Qualitäten ersetzt werden, um das jeweils verwendete ARIMA-Modell schnell zu zeigen.

Die Parameter des ARIMA-Modells werden als verfolgt charakterisiert:

p: Die Anzahl der in das Modell einfließenden Schlaffwahrnehmungen, auch Schlaffanforderung genannt.

d: Die Gelegenheiten, bei denen die groben Wahrnehmungen unterschieden werden, werden ebenfalls als Niveau der Differenz bezeichnet.

q: Die Größe des sich normal bewegenden Fensters, das zusätzlich als Anforderung zum normalen Bewegen bezeichnet wird.

Es wird ein geradliniges Rückfallmodell entwickelt, das die vordefinierte Anzahl und Art von Begriffen enthält, und die Informationen werden durch ein Niveau der Differenzierung so aufbereitet, dass sie stationär sind, um z.B. Muster und regelmäßige Strukturen, die das Rückfallmodell nachteilig beeinflussen, auszuschließen.

Eine Schätzung von 0 kann für einen Parameter verwendet werden, was zeigt, dass diese Komponente des Modells nicht verwendet wird. Auf diese Weise kann das ARIMA-Modell so gestaltet werden, dass es die Kapazität eines ARMA-Modells und sogar eines grundlegenden AR-, I- oder Mama-Modells ausspielt.

Wenn Sie ein ARIMA-Modell für eine Periodenanordnung erhalten, akzeptieren Sie, dass das grundlegende Verfahren, das die Wahrnehmungen erzeugt hat, ein ARIMA-Verfahren ist. Dies mag eklatant offensichtlich erscheinen, weckt jedoch die Notwendigkeit, das Misstrauen des Modells in den groben Wahrnehmungen und in den verbliebenen Fehlern der Figuren des Modells zu bestätigen.

Wie wäre es als Nächstes, wenn wir einen Blick darauf werfen, wie wir das ARIMA-Modell in Python nutzen können. Wir beginnen damit, eine grundlegende univariate Zeitanordnung zu stapeln.

Datensatz über Cleanser-Deals

Dieser Datensatz stellt die monatliche Anzahl der Angebote von Reinigungsmitteln über einen mehrjährigen Zeitraum dar.

Die Einheiten sind eine Geschäftsbilanz, und es gibt 36 Wahrnehmungen. Der erste Datensatz wird Makridakis, Wheelwright und Hyndman (1998) zugeschrieben.

Im Folgenden ist ein Fall des Stapelns des Cleanser-Deals-Datensatzes mit Pandas mit einer benutzerdefinierten Kapazität zum Parsen des Datum-Uhrzeit-Feldes dargestellt. Der Datensatz basiert auf einem subjektiven Jahr, für diese Situation 1900.

3

4

5

6

7

8

9

10

11

aus Pandas importieren read_csv

von Pandas EinfuhrdatumZeit

aus Matplotlib-Importpyplot

def-Parser(x):

Rückgabe datetime.strptime(‘190’+x, ‘%Y-%m’)

Reihe = read_csv(‘shampoo-sales.csv’, header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)

Drucken(Reihe.Kopf())

serie.plot()

pyplot.show()

Wenn Sie das Beispiel ausführen, werden die ersten 5 Zeilen des Datensatzes gedruckt.

Monat

1901-01-01 266.0

1901-02-01 145.9

1901-03-01 183.1

1901-04-01 119.3

1901-05-01 180.3

Name: Umsatz, dtype: float64

1

2

3

4

5

6

7

Monat

1901-01-01 266.0

1901-02-01 145.9

1901-03-01 183.1

1901-04-01 119.3

1901-05-01 180.3

Name: Umsatz, dtype: float64

Die Daten werden auch als Zeitreihe mit dem Monat auf der x-Achse und den Verkaufszahlen auf der y-Achse dargestellt.

Werfen wir auch einen kurzen Blick auf ein Autokorrelationsdiagramm der Zeitreihe. Diese ist ebenfalls in Pandas eingebaut. Das folgende Beispiel zeigt die Autokorrelation für eine große Anzahl von Verzögerungen in der Zeitreihe.

aus Pandas importieren read_csv

von Pandas EinfuhrdatumZeit

aus Matplotlib-Importpyplot

aus pandas.plotting importieren autokorrelation_plot

def-Parser(x):

Rückgabe datetime.strptime(‘190’+x, ‘%Y-%m’)

Reihe = read_csv(‘shampoo-sales.csv’, header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)

Autokorrelation_Plot(serie)

pyplot.show()

1

2

3

4

5

6

7

8

9

10

11

aus Pandas importieren read_csv

von Pandas EinfuhrdatumZeit

aus Matplotlib-Importpyplot

aus pandas.plotting importieren autokorrelation_plot

def-Parser(x):

Rückgabe datetime.strptime(‘190’+x, ‘%Y-%m’)

Reihe = read_csv(‘shampoo-sales.csv’, header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)

Autokorrelation_Plot(serie)

pyplot.show()

Wenn wir das Modell laufen lassen, können wir sehen, dass es eine positive Beziehung zu den anfänglichen 10 bis 12 Hosen gibt, die für die anfänglichen 5 Hosen vielleicht riesig ist.

Ein angemessenes Anfangsstadium für den AR-Parameter des Modells könnte 5 sein.

ARIMA mit Python

Die Statistikmodelle-Bibliothek bietet die Möglichkeit, ein ARIMA-Modell anzupassen.

Ein ARIMA-Modell kann unter Verwendung der Statsmodel-Bibliothek erstellt werden:

Charakterisieren Sie das Modell, indem Sie ARIMA() aufrufen und die Parameter p, d und q eingeben.

Das Modell wird auf den Vorbereitungsinformationen durch Aufruf der fit()-Arbeit erstellt.

Vorhersagen können gemacht werden, indem man das antizipieren()-Werk aufruft und die Liste der zu erwartenden Zeit oder Zeiten bestimmt.

Wir sollten mit etwas Unkompliziertem beginnen. Wir werden ein ARIMA-Modell an den gesamten Datensatz der Cleanser-Deals anpassen und die verbleibenden Fehler untersuchen.

Zunächst passen wir ein ARIMA(5,1,0)-Modell an. Dieses setzt den Durchhang als Anreiz für die Autoregression auf 5, verwendet eine Unterscheidungsanforderung von 1, um die Zeitanordnung stationär zu machen, und verwendet ein bewegliches Normalmodell von 0.

Bei der Anpassung des Modells wird eine Vielzahl von Untersuchungsdaten über den Angriff des geraden Rückfallmodells gegeben. Wir können dem ein Ende setzen, indem wir den Disputstreit auf 0 setzen.