Spec-Zone.ru › NumPy 1.16

numpy.std

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

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

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

Параметры:
a : array_like

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

axis : None or int or tuple of ints, optional

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

Введено в версии 1.7.0.

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

dtype : dtype, optional

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

out : ndarray, optional

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

ddof : int, optional

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

keepdims : bool, optional

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

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

Возвращает:
standard_deviation : ndarray, see dtype parameter above.

Если 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

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

Spec-Zone.ru

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