РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
623 of 687 menu

Метод std аксессора ewm

Метод std аксессора ewm применяется к Series или DataFrame и вычисляет экспоненциально взвешенное стандартное отклонение. Он использует те же параметры сглаживания, что и другие методы ewm: com, span, halflife, alpha. По умолчанию стандартное отклонение вычисляется с поправкой на смещение (ddof=1). Метод возвращает объект того же типа, что и исходный.

Синтаксис

Series.ewm(com=None, span=None, halflife=None, alpha=None).std() DataFrame.ewm(com=None, span=None, halflife=None, alpha=None).std()

Основные параметры метода std:

  • bias (по умолчанию False) - если False, то используется скорректированная оценка дисперсии.
  • numeric_only (по умолчанию True) - вычислять только для числовых столбцов.
  • Остальные параметры (com, span, halflife, alpha) задаются при вызове ewm и управляют сглаживанием.

Пример

Рассмотрим базовый пример вычисления экспоненциально взвешенного стандартного отклонения для ряда данных:

import pandas as pd ser = pd.Series([1, 2, 3, 4, 5]) res = ser.ewm(span=2).std() print(res)

Результат выполнения кода:

0 NaN 1 0.707107 2 0.707107 3 0.707107 4 0.707107 dtype: float64

Первое значение всегда NaN, так как для расчёта стандартного отклонения требуется минимум два наблюдения.

Пример

Теперь используем параметр bias для отключения корректировки смещения (ddof=0):

import pandas as pd ser = pd.Series([10, 20, 30, 40, 50]) res = ser.ewm(alpha=0.5).std(bias=True) print(res)

Результат выполнения кода:

0 NaN 1 7.071068 2 8.164966 3 8.660254 4 8.944272 dtype: float64

При bias=True стандартное отклонение вычисляется без поправки на смещение, что даёт более высокие значения.

Пример

Метод std можно применять к DataFrame, вычисляя экспоненциально взвешенное стандартное отклонение для каждого столбца:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [5, 4, 3, 2, 1] }) res = df.ewm(span=3).std() print(res)

Результат выполнения кода:

a b 0 NaN NaN 1 0.707107 0.707107 2 0.707107 0.707107 3 0.707107 0.707107 4 0.707107 0.707107

В результате получаем DataFrame с теми же столбцами, где каждое значение - это экспоненциально взвешенное стандартное отклонение для соответствующего столбца.

Смотрите также

  • метод mean,
    который вычисляет экспоненциально взвешенное среднее
  • метод var,
    который вычисляет экспоненциально взвешенную дисперсию
  • метод corr,
    который вычисляет экспоненциально взвешенную корреляцию
  • метод cov,
    который вычисляет экспоненциально взвешенную ковариацию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить