Spec-Zone.ru › NumPy 1.17

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 # 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.std.html

Spec-Zone.ru

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