levene#
- scipy.stats.levene(*образцы, центр='median', proportiontocut=0.05, ось=0, nan_policy='propagate', keepdims=False)[источник]#
Выполнение теста Левена на равенство дисперсий.
Тест Левена проверяет нулевую гипотезу о том, что все входные выборки происходят из популяций с равными дисперсиями. Тест Левена является альтернативой тесту Бартлетта
bartlettв случае, когда имеются значительные отклонения от нормальности.- Параметры:
- sample1, sample2, …array_like
Выборочные данные, возможно, разной длины. Принимаются только одномерные выборки.
- центр{‘mean’, ‘median’, ‘trimmed’}, optional
Какую функцию данных использовать в тесте. По умолчанию 'median'.
- proportiontocutfloat, опционально
Когда центр равно 'trimmed', это даёт долю точек данных, которые нужно обрезать с каждого конца. (См.
scipy.stats.trim_mean.) По умолчанию 0.05.- осьint или None, по умолчанию: 0
Если это целое число, ось входных данных, по которой вычисляется статистика. Статистика каждого среза по оси (например, строки) входных данных появится в соответствующем элементе вывода. Если
None, вход будет сведён в одномерный массив перед вычислением статистики.- nan_policy{‘propagate’, ‘omit’, ‘raise’}
Определяет, как обрабатывать входные значения NaN.
propagate: если NaN присутствует в срезе оси (например, строке), вдоль которой вычисляется статистика, соответствующая запись вывода будет NaN.omit: NaN будут пропущены при выполнении расчета. Если в срезе оси, вдоль которого вычисляется статистика, остается недостаточно данных, соответствующая запись вывода будет NaN.raise: если присутствует NaN, тоValueErrorбудет вызвано исключение.
- keepdimsbool, по умолчанию: False
Если установлено значение True, оси, которые были сокращены, остаются в результате как размерности с размером один. С этой опцией результат будет корректно транслироваться относительно входного массива.
- Возвращает:
- статистикаfloat
Тестовая статистика.
- p-значениеfloat
p-значение для теста.
Смотрите также
flignerНепараметрический тест на равенство k дисперсий
bartlettПараметрический тест на равенство k дисперсий в нормальных выборках
- Тест Левена на равенство дисперсий
Расширенный пример
Примечания
Возможны три варианта теста Левена. Возможности и их рекомендуемое использование:
‘median’ : Рекомендуется для асимметричных (ненормальных) распределений>
'mean': Рекомендуется для симметричных распределений с умеренными хвостами.
'trimmed' : Рекомендуется для распределений с тяжелыми хвостами.
Тестовая версия с использованием среднего была предложена в оригинальной статье Левена ([2]), в то время как медиана и усеченное среднее были изучены Brown и Forsythe ([3]), иногда также называемый тестом Брауна-Форсайта.
Начиная с SciPy 1.9,
np.matrixвходные данные (не рекомендуется для нового кода) преобразуются вnp.ndarrayперед выполнением вычисления. В этом случае результатом будет скаляр илиnp.ndarrayподходящей формы вместо 2Dnp.matrix. Аналогично, хотя маскированные элементы маскированных массивов игнорируются, результатом будет скаляр илиnp.ndarrayвместо маскированного массива сmask=False.Ссылки
[2]Levene, H. (1960). В Contributions to Probability and Statistics: Essays in Honor of Harold Hotelling, I. Olkin et al. eds., Stanford University Press, pp. 278-292.
[3]Браун, М. Б. и Форсайт, А. Б. (1974), Journal of the American Statistical Association, 69, 364-367
Примеры
Проверить, совпадают ли списки a, b и c происходят из популяций с равными дисперсиями.
>>> import numpy as np >>> from scipy import stats >>> a = [8.88, 9.12, 9.04, 8.98, 9.00, 9.08, 9.01, 8.85, 9.06, 8.99] >>> b = [8.88, 8.95, 9.29, 9.44, 9.15, 9.58, 8.36, 9.18, 8.67, 9.05] >>> c = [8.95, 9.12, 8.95, 8.85, 9.03, 8.84, 9.07, 8.98, 8.86, 8.98] >>> stat, p = stats.levene(a, b, c) >>> p 0.002431505967249681
Малое p-значение предполагает, что популяции не имеют равных дисперсий.
Это неудивительно, учитывая, что выборочная дисперсия b значительно больше, чем у a и c:
>>> [np.var(x, ddof=1) for x in [a, b, c]] [0.007054444444444413, 0.13073888888888888, 0.008890000000000002]
Для более подробного примера см. Тест Левена на равенство дисперсий.