Spec-Zone.ru › NumPy 1.10

numpy.ma.MaskedArray.std

MaskedArray.std(axis=None, dtype=None, out=None, ddof=0) [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.ma.MaskedArray.std.html

Spec-Zone.ru

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