pandas.Series.ewm
-
Series.ewm(com=None, span=None, halflife=None, alpha=None, min_periods=0, freq=None, adjust=True, ignore_na=False, axis=0)[source] -
Предоставляет экспоненциально взвешенные функции
Новая в версии 0.18.0.
Параметры: com : float, необязательно
Указывает затухание в терминах центра масс, \alpha = 1 / (1 + com),\text{ для } com \geq 0
span : float, необязательно
Указывает затухание в терминах интервала, \alpha = 2 / (span + 1),\text{ для } span \geq 1
halflife : float, необязательно
Указывает затухание в терминах периода полураспада, \alpha = 1 - exp(log(0.5) / halflife),\text{ для } halflife > 0
alpha : float, необязательно
Указывает коэффициент сглаживания \alpha напрямую, 0 < \alpha \leq 1
Новая в версии 0.18.0.
min_periods : int, по умолчанию 0
Минимальное количество наблюдений в окне, необходимое для получения значения (в противном случае результат — NaN).
freq : None или строковый псевдоним/объект временного сдвига, по умолчанию None (УСТЕРЕЖЕН)
Частота для соответствия перед вычислением статистики
adjust : boolean, по умолчанию True
Делить на коэффициент коррекции затухания в начальных периодах для учета дисбаланса относительных весов (рассматривая EWMA как скользящее среднее)
ignore_na : boolean, по умолчанию False
Игнорировать пропущенные значения при вычислении весов; укажите True для воспроизведения поведения до версии 0.15.0
Возвращает: подкласс Window для конкретной операции
Примечания
Должен быть предоставлен ровно один из центра масс, интервала, периода полураспада и альфа. Разрешенные значения и соотношение между параметрами указаны в описаниях параметров выше; подробное объяснение см. по ссылке в конце этого раздела.
Ключевое слово
freqиспользуется для приведения временных рядов к заданной частоте путем повторной выборки данных. Это делается с использованием параметров по умолчаниюresample()(т.е. используяmean).Когда adjust — True (по умолчанию), взвешенные средние вычисляются с использованием весов (1-alpha)**(n-1), (1-alpha)**(n-2), ..., 1-alpha, 1.
- Когда adjust — False, взвешенные средние вычисляются рекурсивно как:
- weighted_average[0] = arg[0]; weighted_average[i] = (1-alpha)*weighted_average[i-1] + alpha*arg[i].
Когда ignore_na — False (по умолчанию), веса основаны на абсолютных позициях. Например, веса x и y, используемые для вычисления конечного взвешенного среднего [x, None, y], равны (1-alpha)**2 и 1 (если adjust — True), и (1-alpha)**2 и alpha (если adjust — False).
Когда ignore_na — True (воспроизведение поведения до версии 0.15.0), веса основаны на относительных позициях. Например, веса x и y, используемые для вычисления конечного взвешенного среднего [x, None, y], равны 1-alpha и 1 (если adjust — True), и 1-alpha и alpha (если adjust — False).
Более подробная информация доступна по адресу http://pandas.pydata.org/pandas-docs/stable/computation.html#exponentially-weighted-windows
Примеры
>>> df = DataFrame({'B': [0, 1, 2, np.nan, 4]}) B 0 0.0 1 1.0 2 2.0 3 NaN 4 4.0>>> df.ewm(com=0.5).mean() B 0 0.000000 1 0.750000 2 1.615385 3 1.615385 4 3.670213
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.19.2/generated/pandas.Series.ewm.html