Spec-Zone.ru › NumPy 1.10

numpy.std

numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=False) [source]

Вычислить стандартное отклонение по указанной оси.

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

Параметры:

a : array_like

Вычислить стандартное отклонение этих значений.

axis : None или int или кортеж из целых чисел, необязательно

Ось или оси, по которым вычисляется стандартное отклонение. По умолчанию вычисляется стандартное отклонение сплющенного массива.

Если это кортеж из целых чисел, стандартное отклонение вычисляется по нескольким осям вместо одной оси или всех осей, как раньше.

dtype : dtype, необязательно

Тип, используемый при вычислении стандартного отклонения. Для массивов целочисленного типа по умолчанию используется float64, для массивов плавающей точки — такой же, как тип массива.

out : ndarray, необязательно

Альтернативный выходной массив, в который поместить результат. Он должен иметь ту же форму, что и ожидаемый результат, но тип (вычисленных значений) будет приведен к необходимому типу, если это необходимо.

ddof : int, необязательно

Означает Delta Degrees of Freedom. Делитель, используемый в расчётах, равен N - ddof, где N представляет количество элементов. По умолчанию ddof равно нулю.

keepdims : bool, необязательно

Если это установлено в True, оси, которые были уменьшены, остаются в результате в виде измерений с размером один. С этим параметром результат будет правильно транслироваться относительно исходного arr.

Возвращает:

standard_deviation : ndarray, см. параметр dtype выше.

Если out равно None, возвращается новый массив, содержащий стандартное отклонение, в противном случае возвращается ссылка на выходной массив.

См. также

var, mean, nanmean, nanstd, nanvar

numpy.doc.ufuncs
Раздел «Аргументы вывода»

Замечания

Стандартное отклонение — это квадратный корень из среднего значения квадратов отклонений от среднего, т. е. std = sqrt(mean(abs(x - x.mean())**2)).

Среднее значение квадратов отклонений обычно вычисляется как x.sum() / N, где N = len(x). Однако, если указано ddof, в качестве делителя используется N - ddof. В стандартной статистической практике ddof=1 обеспечивает несмещённую оценку дисперсии бесконечной генеральной совокупности. ddof=0 обеспечивает оценку максимального правдоподобия дисперсии для нормально распределённых переменных. Стандартное отклонение, вычисленное в этой функции, является квадратным корнем из оценочной дисперсии, поэтому даже с ddof=1, это не будет несмещённой оценкой стандартного отклонения.

Обратите внимание, что для комплексных чисел std берёт абсолютное значение перед возведением в квадрат, так что результат всегда вещественный и неотрицательный.

Для чисел с плавающей точкой std вычисляется с той же точностью, что и входные данные. В зависимости от входных данных это может привести к неточности результатов, особенно для float32 (см. пример ниже). Указание накопителя с большей точностью с помощью ключевого слова dtype может устранить эту проблему.

Примеры

>>> a = np.array([[1, 2], [3, 4]])
>>> np.std(a)
1.1180339887498949
>>> np.std(a, axis=0)
array([ 1.,  1.])
>>> np.std(a, axis=1)
array([ 0.5,  0.5])

В одинарной точности std() может быть неточным:

>>> a = np.zeros((2, 512*512), dtype=np.float32)
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.std(a)
0.45000005

Вычисление стандартного отклонения в float64 более точно:

>>> np.std(a, dtype=np.float64)
0.44999999925494177

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.std.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API