Hoe u een exponentieel voortschrijdend gemiddelde in panda's kunt berekenen


Bij tijdreeksanalyse is een voortschrijdend gemiddelde eenvoudigweg de gemiddelde waarde van een aantal voorgaande perioden.

Een exponentieel voortschrijdend gemiddelde is een soort voortschrijdend gemiddelde dat meer gewicht toekent aan recente waarnemingen, wat betekent dat het recente trends sneller kan vastleggen.

In deze tutorial wordt uitgelegd hoe u een exponentieel voortschrijdend gemiddelde kunt berekenen voor een kolom met waarden in een Panda DataFrame.

Voorbeeld: exponentieel voortschrijdend gemiddelde in panda’s

Stel dat we de volgende panda’s DataFrame hebben:

 import pandas as pd

#createDataFrame
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]})

#view DataFrame 
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

We kunnen de functie pandas.DataFrame.ewm() gebruiken om het exponentieel gewogen voortschrijdend gemiddelde voor een aantal voorgaande perioden te berekenen.

U kunt bijvoorbeeld als volgt het exponentieel gewogen voortschrijdend gemiddelde berekenen op basis van de voorgaande vier perioden:

 #create new column to hold 4-day exponentially weighted moving average
df['4dayEWM'] = df['sales']. ewm (span= 4 , adjust= False ). mean ()

#view DataFrame 
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

We kunnen ook de matplotlib-bibliotheek gebruiken om de verkopen te visualiseren ten opzichte van het 4-daagse exponentieel gewogen voortschrijdend gemiddelde:

 import matplotlib.pyplot as plt

#plot sales and 4-day exponentially weighted moving average
plt. plot (df['sales'], label='Sales')
plt. plot (df['4dayEWM'], label='4-day EWM')

#add legend to plot
plt. legend (loc=2)

Exponentieel gewogen voortschrijdend gemiddelde in panda's

Aanvullende bronnen

Hoe voortschrijdende gemiddelden in Python te berekenen
Hoe het gemiddelde van kolommen in Panda’s te berekenen
Hoe autocorrelatie in Python te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert