Pandalarda üstel hareketli ortalama nasıl hesaplanır?
Zaman serisi analizinde hareketli ortalama , basitçe önceki birkaç periyodun ortalama değeridir.
Üstel hareketli ortalama, son gözlemlere daha fazla ağırlık veren bir hareketli ortalama türüdür; bu, son trendleri daha hızlı yakalayabileceği anlamına gelir.
Bu eğitimde, pandas DataFrame’deki bir değerler sütunu için üstel hareketli ortalamanın nasıl hesaplanacağı açıklanmaktadır.
Örnek: pandalarda üstel hareketli ortalama
Aşağıdaki pandalara sahip olduğumuzu varsayalım DataFrame:
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
Önceki birkaç döneme ait üstel ağırlıklı hareketli ortalamayı hesaplamak için pandas.DataFrame.ewm() işlevini kullanabiliriz.
Örneğin, önceki dört dönemi kullanarak üstel ağırlıklı hareketli ortalamanın nasıl hesaplanacağı aşağıda açıklanmıştır:
#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
Satışları 4 günlük üstel ağırlıklı hareketli ortalamaya göre görselleştirmek için matplotlib kitaplığını da kullanabiliriz:
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)
Ek kaynaklar
Python’da Hareketli Ortalamalar Nasıl Hesaplanır?
Pandalar’daki sütunların ortalaması nasıl hesaplanır?
Python’da Otokorelasyon Nasıl Hesaplanır?