Zeitreihenanalyse in Python und R

Side-by-Side-Tutorial mit Prophet

Vergleichen Sie Zeitreihen-Prognoseworkflows mit Facebook Prophet in Python und R. Dieses Tutorial enthält parallele Beispiele, die Ihnen helfen, das Laden von Daten, das Anpassen von Modellen und das Visualisieren von Prognosen in jeder Umgebung zu verstehen.

Programmierung
Autor:in
Zugehörigkeit
Veröffentlichungsdatum

12. Februar 2024

Geändert

29. April 2025

Schlüsselwörter

Zeitreihenanalyse Python R, Prophet-Tutorial, Python Prophet, R Prophet, Prognosen in Python, Prognosen in R

Einführung

Zeitreihenanalysen sind für die Prognose und das Verständnis von Trends in sequenziellen Daten unerlässlich. In diesem Tutorial bieten wir Ihnen Beispiele, in denen Facebook Prophet – ein beliebtes Tool für Zeitreihenprognosen – in Python und R nebeneinander verwendet wird. Sie lernen, wie Sie Ihre Daten vorbereiten, ein Modell anpassen und zukünftige Trends visualisieren, sodass Sie Workflows vergleichen und den besten Ansatz für Ihre Projekte auswählen können.



Verwendung von Facebook Prophet für Zeitreihenprognosen

Im Folgenden finden Sie eine Panel-Tab-Reihe, die zeigt, wie Sie mit Prophet in Python und R eine Prognose erstellen und visualisieren können.

SCHRITT 1. Erforderliche Pakete laden:

#| label: python-required-packages
import pandas as pd
import numpy as np
from prophet import Prophet
import matplotlib.pyplot as plt

SCHRITT 2. Daten laden und transformieren:

#| label: python-load-data
# Laden des AirPassengers-Datensatzes
air_passengers = pd.read_csv("https://raw.githubusercontent.com/kassambara/datarium/refs/heads/main/data-raw/AirPassengersDf.csv")

# Konvertieren Sie die Zeitwerte in ein geeignetes Datumsformat
df = pd.DataFrame({
    'ds': pd.to_datetime(air_passengers['Month']), 
    'y': air_passengers['Passengers']
})
df.head()
          ds    y
0 1949-01-01  112
1 1949-02-01  118
2 1949-03-01  132
3 1949-04-01  129
4 1949-05-01  121
Hinweis

Der Datensatz AirPassengers enthält monatliche Daten zu Passagierzahlen.

SCHRITT 3. Anpassen des Prophet-Modells:

#| label: python-prophet-fit
# Anpassen des Prophet-Modells
model = Prophet()
model.fit(df)

SCHRITT 4. Zukunftsprognosen erstellen:

#| label: python-make-forecast
# Erstellen Sie einen Datenrahmen für zukünftige Vorhersagen (nächste 12 Monate)
future = model.make_future_dataframe(periods=12, freq='MS')
forecast = model.predict(future)

SCHRITT 5. Plotten der Prognose:

#| label: python-plot-forecast
# Prognose plotten
fig = model.plot(forecast)
plt.show()

Python Prophet-Prognose

SCHRITT 6. Plotten der Komponenten der Prognose:

Hinweis

Dies zeigt den Trend, die Saisonalität und die Feiertagseffekte in der Prognose.

#| label: python-plot-components
# Plotten der Komponenten der Prognose
fig = model.plot_components(forecast)
plt.show()

Python Prophet-Prognosekomponenten

SCHRITT 1. Erforderliche Pakete laden:

#| label: r-required-packages
library(prophet)

SCHRITT 2. Daten laden und transformieren:

#| label: r-load-data
# Laden des AirPassengers-Datensatzes
air_passengers <- read.csv("https://raw.githubusercontent.com/kassambara/datarium/refs/heads/main/data-raw/AirPassengersDf.csv")

# Konvertieren Sie die Zeitwerte in ein geeignetes Datumsformat
df <- data.frame(
  ds = as.Date(air_passengers$Month), 
  y = as.numeric(air_passengers$Passengers)
  )
head(df)
          ds   y
1 1949-01-01 112
2 1949-02-01 118
3 1949-03-01 132
4 1949-04-01 129
5 1949-05-01 121
6 1949-06-01 135
Hinweis

Der Datensatz AirPassengers enthält monatliche Daten zu Passagierzahlen.

SCHRITT 3. Anpassen des Prophet-Modells:

#| label: r-prophet-fit
# Anpassen des Prophet-Modells
model <- prophet(df)
Hinweis

Prophet erkennt die monatliche Saisonalität aus dem Datensatz und deaktiviert standardmäßig die tägliche und wöchentliche Saisonalität.

Sie können prophet() mit weekly.seasonality = TRUE oder daily.seasonality = TRUE ausführen, um dieses Verhalten zu überschreiben.

SCHRITT 4. Zukunftsprognosen erstellen:

Das Modell wurde anhand historischer Daten von 1949 bis 1960. Wir werden nun Prognosen für die nächsten 12 Monate (1961) erstellen.

#| label: r-make-forecast
# Erstellen Sie einen Datenrahmen für zukünftige Vorhersagen (nächste 12 Monate)
future <- make_future_dataframe(model, periods = 12, freq = "month")
# Vorhersagen treffen
forecast <- predict(model, future)

SCHRITT 5. Plotten der Prognose:

#| label: r-plot-forecast
# Prognose plotten
plot(model, forecast)

R Prophet-Prognose

SCHRITT 6. Plotten der Komponenten der Prognose:

Hinweis

Dies zeigt den Trend, die Saisonalität und die Feiertagseffekte in der Prognose.

#| label: r-plot-components
# Plotten der Komponenten der Prognose
prophet_plot_components(model, forecast)

R Prophet-Prognosekomponenten

Diskussion

Datenaufbereitung

Beide Beispiele nutzen den Datensatz „AirPassengers“, der monatliche Daten zu Passagierzahlen enthält.

Modellanpassung und Prognosen

Beide Beispiele verwenden Prophet, um ein Modell anzupassen und Prognosen zu erstellen. Die Workflows sind bemerkenswert ähnlich, was zeigt, wie die Interoperabilität zwischen Sprachen Flexibilität bei der Auswahl der Tools entsprechend Ihren spezifischen Anforderungen bietet.

Visualisierung

Jedes Beispiel schließt mit einer Visualisierung der Prognose. In Python verwenden wir Matplotlib über die in Prophet integrierte Plotting-Funktion, während in R die Plot-Funktion von Prophet eine ähnliche visuelle Ausgabe erstellt.

Weitere Ressourcen

Wenn Sie sich für Zeitreihendatensätze aus verschiedenen Bereichen interessieren, sollten Sie sich die Bibliothek tsdl auf GitHub ansehen. Es bietet eine vielfältige Sammlung von Zeitreihendaten, die für das Testen und Benchmarking von Prognosemodellen von unschätzbarem Wert sein können.

Schlussfolgerung

Anhand dieser nebeneinander angeordneten Beispiele sehen Sie, dass Facebook Prophet einen konsistenten Ansatz für Zeitreihenprognosen sowohl in Python als auch in R bietet. So können Sie die Umgebung auswählen, die am besten zu Ihrem gesamten Data-Science-Workflow passt, ohne Abstriche bei Funktionalität oder Leistung machen zu müssen.

Weiterführende Literatur

Viel Spaß beim Programmieren und bei der Prognose Ihrer Zeitreihendaten mit Prophet!

Weitere Artikel erkunden

Hinweis

Hier finden Sie weitere Artikel aus derselben Kategorie, die Ihnen helfen, tiefer in das Thema einzutauchen.

Zurück nach oben

Wiederverwendung

Zitat

Mit BibTeX zitieren:
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Zeitreihenanalyse in Python und R},
  date = {2024-02-12},
  url = {https://www.datanovia.com/de/learn/programming/r/cross-programming/time-series-analysis-in-python-and-r.html},
  langid = {de}
}
Bitte zitieren Sie diese Arbeit als:
Kassambara, Alboukadel. 2024. “Zeitreihenanalyse in Python und R.” February 12, 2024. https://www.datanovia.com/de/learn/programming/r/cross-programming/time-series-analysis-in-python-and-r.html.