0Pricing
Learn AI with Python · Lektion

Komponenten und Stationarität von Zeitreihen

Trend, Saisonalität, Rauschen, ADF-Test auf Stationarität, Differenzbildung zum Erreichen der Stationarität.

Komponenten und Stationarität von Zeitreihen ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was ist eine Zeitreihe?

Eine Zeitreihe besteht aus Daten, die in zeitlicher Reihenfolge indiziert sind, etwa täglichen Verkaufszahlen oder stündlichen Temperaturen. Da die Beobachtungen geordnet und häufig miteinander korreliert sind, sind spezielle Verfahren erforderlich; Sie können die Zeilen nicht einfach wie bei gewöhnlichen Tabellendaten mischen.

Die drei Komponenten

In einer klassischen Betrachtung wird eine Zeitreihe in folgende Bestandteile zerlegt:

  • Trend: langfristige Aufwärts- oder Abwärtsbewegung.
  • Saisonalität: sich in festen Zeitabständen wiederholende Muster (wöchentlich, jährlich).
  • Residuum: das verbleibende zufällige Rauschen nach dem Entfernen von Trend und Saisonalität.

Additiv vs. multiplikativ

In einem additiven Modell gilt: y = trend + seasonality + residual. Es wird verwendet, wenn die saisonalen Schwankungen eine konstante Größe haben.

In einem multiplikativen Modell gilt: y = trend * seasonality * residual. Es wird verwendet, wenn die saisonalen Schwankungen gemeinsam mit dem Trend größer werden.

seasonal_decompose

statsmodels kann eine Zeitreihe automatisch in ihre Komponenten zerlegen.

from statsmodels.tsa.seasonal import seasonal_decompose

result = seasonal_decompose(series, model="additive", period=12)
result.trend
result.seasonal
result.resid

Die Zerlegung visualisieren

Eine Darstellung des Ergebnisses zeigt die einzelnen Komponenten untereinander. Dadurch lassen sich Trend und Saisonalität leicht erkennen, und Sie können leichter einen geeigneten Prognoseansatz auswählen.

import matplotlib.pyplot as plt

result.plot()
plt.tight_layout()
plt.show()

Was bedeutet Stationarität?

Eine Zeitreihe ist stationär, wenn ihre statistischen Eigenschaften (Mittelwert, Varianz und Autokorrelation) über die Zeit konstant bleiben. Viele klassische Modelle wie ARIMA setzen Stationarität voraus. Daher ist ihre Überprüfung und Herstellung ein wichtiger erster Schritt.

Warum Stationarität wichtig ist

Wenn sich der Mittelwert im Laufe der Zeit verschiebt oder die Varianz stark anwächst, lässt sich ein auf frühen Daten trainiertes Modell nicht auf spätere Daten übertragen. Durch das Entfernen des Trends und die Stabilisierung der Varianz wird die Zeitreihe auf konsistente Weise prognostizierbar.

Der ADF-Test

Der Augmented-Dickey-Fuller-Test (ADF) prüft auf Stationarität. Die Nullhypothese lautet „nicht stationär (besitzt eine Einheitswurzel)“. Bei einem p-Wert unter 0.05 können Sie die Nullhypothese verwerfen und die Zeitreihe als stationär behandeln.

from statsmodels.tsa.stattools import adfuller

stat, pvalue, *_ = adfuller(series)
print("p-value:", pvalue)
# pvalue < 0.05  -> stationary

Stationarität durch Differenzbildung erreichen

Bei der Differenzbildung wird von jedem Wert der vorherige Wert subtrahiert, wodurch der Trend entfernt wird. Eine Differenzbildung erster Ordnung bewältigt normalerweise einen linearen Trend; wenden Sie sie bei Bedarf erneut an.

diff1 = series.diff().dropna()      # first difference
diff2 = series.diff().diff().dropna()  # second difference

Nach der Differenzbildung bestätigen

Führen Sie den ADF-Test für die differenzierte Zeitreihe erneut aus. Sobald der p-Wert unter 0.05 fällt, haben Sie Stationarität erreicht und die Differenzierungsordnung d bestimmt, die direkt in ARIMA einfließt.

stat, pvalue, *_ = adfuller(series.diff().dropna())
print("p-value after differencing:", pvalue)

Weitere stabilisierende Transformationen

Wenn die Varianz im Laufe der Zeit zunimmt, stabilisiert eine log- oder Box-Cox-Transformation die Varianz vor der Differenzbildung. Die Kombination einer Logarithmustransformation mit Differenzbildung bewältigt viele reale Zeitreihen mit multiplikativem Wachstum.

import numpy as np

log_series = np.log(series)
stationary = log_series.diff().dropna()

Kurzer Check

Testen Sie Ihr Verständnis von Stationarität.

Zusammenfassung

Sie haben Zeitreihen mit seasonal_decompose in Trend, Saisonalität und Residuum zerlegt, additive und multiplikative Modelle kennengelernt, die Stationarität mit dem ADF-Test geprüft und Differenzbildung (Ordnung d) verwendet, um eine Zeitreihe stationär zu machen. Als Nächstes: ARIMA und SARIMA.

Häufig gestellte Fragen

Ist die Lektion „Komponenten und Stationarität von Zeitreihen“ kostenlos?

Ja — der vollständige Text von „Komponenten und Stationarität von Zeitreihen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Komponenten und Stationarität von Zeitreihen“?

Trend, Saisonalität, Rauschen, ADF-Test auf Stationarität, Differenzbildung zum Erreichen der Stationarität. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Komponenten und Stationarität von Zeitreihen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Komponenten und Stationarität von Zeitreihen
  2. ARIMA- und SARIMA-Modelle
  3. Prophet für automatisierte Prognosen
  4. LSTM für Zeitreihenprognosen
← Zurück zu Learn AI with Python