Spec-Zone.ru › NumPy 1.20

numpy.ma.var

ma.var(self, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>) = <numpy.ma.core._frommethod object>

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

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

Параметры
aarray_like

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

axisNone or int or tuple of ints, optional

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

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

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

dtypedata-type, optional

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

outndarray, optional

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

ddofint, optional

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

keepdimsbool, optional

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

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

wherearray_like of bool, optional

Элементы, которые следует включить в дисперсию. Подробности см. в reduce.

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

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

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

См. также

std, mean, nanmean, nanstd, nanvar
Определение типа выходных данных

Примечания

Дисперсия — это среднее значение квадратов отклонений от среднего, т. е. var = mean(x), где x = abs(a - a.mean())**2.

Среднее обычно вычисляется как x.sum() / N, где N = len(x). Однако, если указано ddof, в качестве делителя используется N - ddof. В стандартной статистической практике ddof=1 предоставляет несмещенную оценку дисперсии гипотетической бесконечной совокупности. ddof=0 предоставляет оценку максимального правдоподобия дисперсии для нормально распределенных переменных.

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

Для входных данных с плавающей запятой дисперсия вычисляется с той же точностью, что и входные данные. В зависимости от входных данных это может привести к неточным результатам, особенно для float32 (см. пример ниже). Использование более точного аккумулятора с помощью ключевого слова dtype может устранить эту проблему.

Примеры

>>> a = np.array([[1, 2], [3, 4]])
>>> np.var(a)
1.25
>>> np.var(a, axis=0)
array([1.,  1.])
>>> np.var(a, axis=1)
array([0.25,  0.25])

В одинарной точности var() может быть неточной:

>>> a = np.zeros((2, 512*512), dtype=np.float32)
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.var(a)
0.20250003

Вычисление дисперсии в формате float64 более точно:

>>> np.var(a, dtype=np.float64)
0.20249999932944759 # may vary
>>> ((1-0.55)**2 + (0.1-0.55)**2)/2
0.2025

Указание аргумента where:

>>> a = np.array([[14, 8, 11, 10], [7, 9, 10, 11], [10, 15, 5, 10]])
>>> np.var(a)
6.833333333333333 # may vary
>>> np.var(a, where=[[True], [True], [False]])
4.0

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.ma.var.html

Spec-Zone.ru

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