Метод mean аксессора ewm
Метод mean применяется к объекту EWM,
который возвращается аксессором ewm,
и вычисляет экспоненциально взвешенное среднее
для данных. Метод полезен для анализа временных
рядов, сглаживания данных и выявления трендов.
В качестве параметров можно указать числовые
значения для настройки сглаживания.
Синтаксис
df.ewm(span=None, alpha=None, com=None, adjust=True).mean()
Основные параметры метода ewm:
-
span- период сглаживания (чем больше, тем сильнее сглаживание) -
alpha- коэффициент сглаживания (0 < alpha < 1) -
com- центр масс (com = (1 - alpha) / alpha) -
adjust- логический флаг, управляющий формулой расчёта
Пример
Рассмотрим базовое применение метода для экспоненциального сглаживания данных:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 4, 8, 16],
'b': [10, 20, 30, 40, 50]
})
res = df.ewm(alpha=0.3).mean()
print(res)
Результат выполнения кода:
a b
0 1.000000 10.0
1 1.461538 17.5
2 2.527273 23.5
3 4.236364 29.5
4 7.812727 36.7
Пример
Используем параметр span для задания
периода сглаживания вместо alpha:
import pandas as pd
df = pd.DataFrame({
'a': [5, 7, 9, 11, 13],
'b': [100, 200, 300, 400, 500]
})
res = df.ewm(span=3).mean()
print(res)
Результат выполнения кода:
a b
0 5.00 100.0
1 6.00 150.0
2 7.50 225.0
3 9.25 337.5
4 11.12 506.2
Пример
Применим метод к отдельной колонке таблицы
с использованием параметра adjust:
import pandas as pd
df = pd.DataFrame({
'a': [1, 3, 5, 7, 9],
'b': [2, 4, 6, 8, 10]
})
res = df['a'].ewm(alpha=0.5, adjust=False).mean()
print(res)
Результат выполнения кода:
0 1.000
1 2.000
2 3.500
3 5.250
4 7.125
dtype: float64
Смотрите также
-
метод
std,
который вычисляет экспоненциально взвешенное стандартное отклонение -
метод
var,
который вычисляет экспоненциально взвешенную дисперсию -
метод
corr,
который вычисляет экспоненциально взвешенную корреляцию между рядами -
метод
cov,
который вычисляет экспоненциально взвешенную ковариацию между рядами