Spec-Zone.ru › NumPy 1.11

numpy.ma.std

numpy.ma.std(self, axis=None, dtype=None, out=None, ddof=0) =

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

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

Параметры:

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.11.0/reference/generated/numpy.ma.std.html

Spec-Zone.ru

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