Сообщить об ошибке.

Функция variance() модуля statistics в Python, выборочная дисперсия

Выборочная дисперсия от числовой последовательности

Синтаксис:

import statistics

statistics.variance(data, xbar=None)

Параметры:

  • data - данные, последовательность или итерация,
  • xbar=None - среднее значение данных data.

Возвращаемое значение:

  • выборочная дисперсия данных data.

Описание:

Функция variance() модуля statistics возвращает выборочную дисперсию данных data, которые представляют готовую выборку элементов из всей числовой последовательности.

  • Аргумент data может быть последовательностью или итерацией и должна иметь по крайней мере два действительных числа..
  • Если входные данные data пусты, то возникает ошибка StatisticsError.

Дисперсия является мерой изменчивости (разброса) элементов числовой последовательности. Большая дисперсия указывает на то, что данные распределены относительно среднего значения. Небольшая дисперсия указывает на то, что они тесно сгруппированы вокруг среднего значения числовой последовательности.

Если указан необязательный второй аргумент xbar, то это должно быть среднее значение данных data. Если аргумент xbar отсутствует или None (по умолчанию), то среднее арифметическое значение рассчитывается автоматически.

Используйте функцию statistics.variance(), когда данные являются выборкой из элементов числовой последовательности. Смотрите функцию statistics.pvariance(), чтобы вычислить дисперсию всей совокупности числовой последовательности.

Примеры использования функции statistics.variance():

>>> import statistics
>>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
>>> statistics.variance(data)
# 1.3720238095238095

# дисперсию всей числовой последовательности
>>> statistics.pvariance(data)
# 0.9739583333333334

Если есть рассчитанное среднее значение данных, то можно передать его как необязательный второй аргумент xbar, чтобы избежать пересчета:

>>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
>>> m = statistics.mean(data)
>>> statistics.variance(data, m)
# 1.3720238095238095

Функция statistics.variance() не проверяет переданное значение аргумента xbar на фактическое среднее значение числовой последовательности. Использование произвольных значений для xbar может привести к недействительным или невозможным результатам.

Функция statistics.variance() поддерживает десятичные и дробные значения:

>>> from decimal import Decimal as D
>>> statistics.variance([D("27.5"), D("30.25"), D("30.25"), D("34.5"), D("41.75")])
# Decimal('31.01875')

>>> from fractions import Fraction as F
>>> statistics.variance([F(1, 6), F(1, 2), F(5, 3)])
# Fraction(67, 108)

Примечание. Значение этой функции представляет собой выборочную дисперсию из элементов числовой последовательности с поправкой Бесселя, также известную как дисперсия с N-1 степенями свободы. При условии, что элементы данных репрезентативны (например, независимы и одинаково распределены), то результатом должна быть объективная оценка истинной дисперсии всей числовой последовательности.

Если каким-то образом известно фактическое среднее значение всей числовой последовательности μ, то это значение необходимо передать функции statistics.pvariance() в качестве параметра mu, чтобы получить дисперсию выборки из числовой последовательности.