Spec-Zone.ru › NumPy 1.18

numpy.std

numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>) [source]

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

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

Параметры
aarray_like

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

axisNone or int or tuple of ints, optional

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

Новая версия с 1.7.0.

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

dtypedtype, optional

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

outndarray, optional

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

ddofint, optional

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

keepdimsbool, optional

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

Если передано значение по умолчанию, то keepdims не будет передано методу std подклассов ndarray, однако любое отличное от значения по умолчанию значение будет. Если метод подкласса не реализует keepdims, будут подняты исключения.

Возвращает
standard_deviationndarray, see dtype parameter above.

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

См. также

var, mean, nanmean, nanstd, nanvar, ufuncs-output-type

Примечания

Стандартное отклонение — это квадратный корень из среднего значения квадратов отклонений от среднего, т. е. 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 # may vary
>>> 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 # may vary

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.std.html

Spec-Zone.ru

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