Как рассчитать взвешенное стандартное отклонение в python


Взвешенное стандартное отклонение — это полезный способ измерения дисперсии значений в наборе данных, когда некоторые значения в наборе данных имеют более высокие веса, чем другие.

Формула для расчета взвешенного стандартного отклонения:

Золото:

  • N: Общее количество наблюдений
  • M: количество ненулевых весов.
  • w i : Весовой вектор
  • x i : вектор значений данных
  • x : Средневзвешенное значение

Самый простой способ рассчитать взвешенное стандартное отклонение в Python — использовать функцию DescrStatsW() из пакета statsmodels:

 DescrStatsW(values, weights=weights, ddof= 1 ). std

В следующем примере показано, как использовать эту функцию на практике.

Пример: взвешенное стандартное отклонение в Python

Предположим, у нас есть следующий массив значений данных и соответствующие веса:

 #define data values 
values = [14, 19, 22, 25, 29, 31, 31, 38, 40, 41]

#define weights
weights = [1, 1, 1.5, 2, 2, 1.5, 1, 2, 3, 2]

Следующий код показывает, как вычислить взвешенное стандартное отклонение для этого массива значений данных:

 from statsmodels. stats . weightstats import DescrStatsW

#calculate weighted standard deviation
DescrStatsW(values, weights=weights, ddof= 1 ). std

8.570050878426773

Взвешенное стандартное отклонение оказывается равным 8,57 .

Обратите внимание, что мы также можем использовать var для быстрого расчета взвешенной дисперсии:

 from statsmodels. stats . weightstats import DescrStatsW

#calculate weighted variance
DescrStatsW(values, weights=weights, ddof= 1 ). var

73.44577205882352

Взвешенная дисперсия оказывается равной 73 446 .

Дополнительные ресурсы

В следующих руководствах объясняется, как рассчитать взвешенное стандартное отклонение в другом статистическом программном обеспечении:

Как рассчитать взвешенное стандартное отклонение в Excel
Как рассчитать взвешенное стандартное отклонение в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *