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
= pd.read_csv("https://raw.githubusercontent.com/kassambara/datarium/refs/heads/main/data-raw/AirPassengersDf.csv")
air_passengers
# Konvertieren Sie die Zeitwerte in ein geeignetes Datumsformat
= pd.DataFrame({
df '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
Der Datensatz AirPassengers
enthält monatliche Daten zu Passagierzahlen.
SCHRITT 3. Anpassen des Prophet-Modells:
#| label: python-prophet-fit
# Anpassen des Prophet-Modells
= Prophet()
model model.fit(df)
SCHRITT 4. Zukunftsprognosen erstellen:
#| label: python-make-forecast
# Erstellen Sie einen Datenrahmen für zukünftige Vorhersagen (nächste 12 Monate)
= model.make_future_dataframe(periods=12, freq='MS')
future = model.predict(future) forecast
SCHRITT 5. Plotten der Prognose:
#| label: python-plot-forecast
# Prognose plotten
= model.plot(forecast)
fig plt.show()
SCHRITT 6. Plotten der Komponenten der Prognose:
Dies zeigt den Trend, die Saisonalität und die Feiertagseffekte in der Prognose.
#| label: python-plot-components
# Plotten der Komponenten der Prognose
= model.plot_components(forecast)
fig plt.show()
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
<- read.csv("https://raw.githubusercontent.com/kassambara/datarium/refs/heads/main/data-raw/AirPassengersDf.csv")
air_passengers
# Konvertieren Sie die Zeitwerte in ein geeignetes Datumsformat
<- data.frame(
df 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
Der Datensatz AirPassengers
enthält monatliche Daten zu Passagierzahlen.
SCHRITT 3. Anpassen des Prophet-Modells:
#| label: r-prophet-fit
# Anpassen des Prophet-Modells
<- prophet(df) model
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)
<- make_future_dataframe(model, periods = 12, freq = "month")
future # Vorhersagen treffen
<- predict(model, future) forecast
SCHRITT 5. Plotten der Prognose:
#| label: r-plot-forecast
# Prognose plotten
plot(model, forecast)
SCHRITT 6. Plotten der Komponenten der Prognose:
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)
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
Hier finden Sie weitere Artikel aus derselben Kategorie, die Ihnen helfen, tiefer in das Thema einzutauchen.
Wiederverwendung
Zitat
@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}
}