Spec-Zone.ru › NumPy 1.15

numpy.nanvar

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

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

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

Для всех фрагментов NaN или фрагментов с нулевой степенью свободы возвращается NaN и генерируется RuntimeWarning.

Добавлена в версии 1.8.0.

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

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

axis : {int, tuple of int, None}, optional

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

dtype : data-type, optional

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

out : ndarray, optional

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

ddof : int, optional

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

keepdims : bool, optional

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

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

Если out равно None, возвращается новый массив, содержащий дисперсию, в противном случае возвращается ссылка на выходной массив. Если ddof больше или равен количеству элементов без NaN в фрагменте или фрагмент содержит только NaN, результат для этого фрагмента равен NaN.

См. также

std
Стандартное отклонение
mean
Среднее значение
var
Дисперсия без игнорирования NaN

nanstd, nanmean

numpy.doc.ufuncs
Раздел «Аргументы вывода»

Примечания

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

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

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

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

Для работы этой функции с подклассами ndarray они должны определять sum с ключевым словом keepdims

Примеры

>>> a = np.array([[1, np.nan], [3, 4]])
>>> np.var(a)
1.5555555555555554
>>> np.nanvar(a, axis=0)
array([ 1.,  0.])
>>> np.nanvar(a, axis=1)
array([ 0.,  0.25])

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

Spec-Zone.ru

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