In der Zeitreihenanalyse ist ein gleitender Durchschnitt einfach der Durchschnittswert einer bestimmten Anzahl vorheriger Perioden.

Ein exponentieller gleitender Durchschnitt ist eine Art gleitender Durchschnitt, der jüngsten Beobachtungen mehr Gewicht verleiht, was bedeutet, dass er aktuelle Trends schneller erfassen kann.

In diesem Tutorial wird erläutert, wie Sie einen exponentiellen gleitenden Durchschnitt für eine Wertespalte in einem Pandas DataFrame berechnen.

Beispiel: Exponentieller gleitender Durchschnitt in Pandas

Angenommen, wir haben die folgenden Pandas DataFrame:

import pandas as pd

# Dataframe erstellen
df = pd.DataFrame({'period': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   'sales': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19]})

# Dataframe anzeigen 
df

        period  sales
0   1   25
1   2   20
2   3   14
3   4   16
4   5   27
5   6   20
6   7   12
7   8   15
8   9   14
9   10  19

Wir können die Funktion pandas.DataFrame.ewm() verwenden, um den exponentiell gewichteten gleitenden Durchschnitt für eine bestimmte Anzahl vorheriger Perioden zu berechnen.

So berechnen Sie beispielsweise den exponentiell gewichteten gleitenden Durchschnitt anhand der vier vorherigen Perioden:

#Erstellen Sie eine neue Spalte für den exponentiell gewichteten gleitenden 4-Tage-Durchschnitt
df['4dayEWM'] = df['sales'].ewm(span=4, adjust=False).mean()

# Dataframe anzeigen 
df

        period  sales   4dayEWM
0   1   25  25.000000
1   2   20  23.000000
2   3   14  19.400000
3   4   16  18.040000
4   5   27  21.624000
5   6   20  20.974400
6   7   12  17.384640
7   8   15  16.430784
8   9   14  15.458470
9   10  19  16.875082

Wir können auch die Matplotlib-Bibliothek verwenden, um die Verkäufe im Vergleich zum exponentiell gewichteten gleitenden 4-Tage-Durchschnitt zu visualisieren:

import matplotlib.pyplot as plt

# Grundstücksverkäufe und exponentiell gewichteter gleitender 4-Tage-Durchschnitt
plt.plot(df['sales'], label='Sales')
plt.plot(df['4dayEWM'], label='4-day EWM')

# Legende zum Diagramm hinzufügen
plt.legend(loc=2)

Exponentiell gewichteter gleitender Durchschnitt bei Pandas

Zusätzliche Ressourcen

So berechnen Sie gleitende Durchschnitte in Python
So berechnen Sie den Mittelwert von Spalten in Pandas
So berechnen Sie die Autokorrelation in Python

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: