Как рассчитать стандартное отклонение списка в Python


Вы можете использовать один из следующих трех методов для вычисления стандартного отклонения списка в Python:

Способ 1: использовать библиотеку NumPy

import numpy as np

#calculate standard deviation of list
np.std( my_list )

Способ 2: использовать библиотеку статистики

import statistics as stat

#calculate standard deviation of list
stat. stdev ( my_list )

Способ 3: использовать пользовательскую формулу

#calculate standard deviation of list
st. stdev ( my_list )

В следующих примерах показано, как использовать каждый из этих методов на практике.

Метод 1: рассчитать стандартное отклонение с помощью библиотеки NumPy

В следующем коде показано, как рассчитать как стандартное отклонение выборки, так и стандартное отклонение совокупности списка с помощью NumPy:

import numpy as np

#define list
my_list = [3, 5, 5, 6, 7, 8, 13, 14, 14, 17, 18]

#calculate sample standard deviation of list
np.std( my_list, ddof= 1 )

5.310367218940701

#calculate population standard deviation of list 
np.std( my_list )

5.063236478416116

Обратите внимание, что стандартное отклонение совокупности всегда будет меньше, чем стандартное отклонение выборки для данного набора данных.

Метод 2: расчет стандартного отклонения с использованием библиотеки статистики

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

import statistics as stat

#define list
my_list = [3, 5, 5, 6, 7, 8, 13, 14, 14, 17, 18]

#calculate sample standard deviation of list
stat. stdev (my_list)

5.310367218940701

#calculate population standard deviation of list 
stat. pstdev (my_list)

5.063236478416116

Метод 3: расчет стандартного отклонения с использованием пользовательской формулы

В следующем коде показано, как вычислить как стандартное отклонение выборки, так и стандартное отклонение совокупности списка без импорта каких-либо библиотек Python:

#define list
my_list = [3, 5, 5, 6, 7, 8, 13, 14, 14, 17, 18]

#calculate sample standard deviation of list
(sum((x-(sum(my_list) / len(my_list))) \*\* 2 for x in my_list) / (len(my_list)-1)) \*\* 0.5

5.310367218940701

#calculate population standard deviation of list 
(sum((x-(sum(my_list) / len(my_list))) \*\* 2 for x in my_list) / len(my_list)) \*\* 0.5

5.063236478416116

Обратите внимание, что все три метода рассчитали одни и те же значения для стандартного отклонения списка.

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

Как рассчитать стандартную ошибку среднего в Python
Как рассчитать среднеквадратичную ошибку (MSE) в Python