- Сравнение трех и более независимых групп. Критерий Краскела — Уоллиса
- Условия применения критерия
- Использование Краскела-Уоллиса
- Как рассчитать критерий Краскела-Уоллиса
- Почему вы выбрали для расчета критерий Краскела-Уоллиса?
- Пример результата сравнения трех групп
- О проекте BIRDYX
- scipy.stats.kruskal#
- scipy.stats.mstats.kruskalwallis#
Сравнение трех и более независимых групп. Критерий Краскела — Уоллиса
В этой статье речь пойдет о непараметрическом статистическом критерии Краскела-Уоллиса. Что это за критерий? Каковы условия его применения? Где используют? Как рассчитать? Ответы на эти и другие вопросы Вы найдете ниже.
Критерий Краскела-Уоллиса – непараметрический статистический критерий, используемый для сравнения 3-ех и более независимых выборок по количественному или порядковому признаку.
Критерий был разработан американскими математиками. Уильям Краскел и Аллен Уоллис представили критерий в своей работе «Use of ranks in one-criterion variance analysis» в 1952 году. Отсюда и название критерия.
Условия применения критерия
- Не менее трех выборок испытуемых объектов
- Зависимая переменная должна измеряться в порядковой или непрерывной шкале
- Наблюдения должны быть независимыми (не должно быть никаких отношений между двумя группами или внутри каждой группы)
- Не требует наличия нормального распределения
Критерий Краскела-Уоллиса подходит для сравнения небольших выборок. Желательно, чтобы в каждой выборке было не менее 5 наблюдений.
Использование Краскела-Уоллиса
Непараметрический критерий Краскела-Уоллиса используется во многих областях. Чаще всего его можно встретить в психологии, здравоохранении и бизнесе.
Примеры задач, которые решает критерий Краскела-Уоллиса:
- Оказывают ли три препарата разное влияние на боль пациентов?
- Приводят ли четыре разных видов удобрения к разным уровням роста растений?
- Различаются ли уровни выгорания в группах: преподаватели, врачи, шахтеры?
Как рассчитать критерий Краскела-Уоллиса
H0: Между выборками 1, 2, 3 и т. д. существуют лишь случайные различия по уровню исследуемого признака.
Н1: Между выборками 1, 2, 3 и т. д. существуют неслучайные различия по уровню исследуемого признака.
- Вычислите величину статистики критерия (нулевой гипотезы).
- Определите критические значения и соответствующий им уровень значимости.
- Интерпретируйте величину р и результаты.
Важно, отклонение нулевой гипотезы не указывает, какая из групп отличается. Для того, чтобы это выяснить, необходимо проводить апостериорные (попарные) сравнения между группами.
Существует много критериев для осуществления попарных сравнений, мы, чаще всего, используем метод Неменьи, который был предложен Петром Неменьи в 1963 году.
В современном мире, когда все вокруг автоматизировано, для расчета критерия используют готовые статистические программы, в основе которых уже заложены специальные алгоритмы для расчетов, минуя ручные вычисления.
Мы выполняем расчеты критерием Краскела-Уоллиса в Python с использованием пакетов pandas, numpy, matplotlib.pyplot, seaborn, scipy.stats.
Почему вы выбрали для расчета критерий Краскела-Уоллиса?
Перед защитой работы, очень многих студентов, аспирантов пугает именно этот вопрос. Мы, обычно, в качестве примера предлагаем следующий ответ:
«Нами был выбран критерий Краскела-Уоллиса ввиду того, что наши данные подходят под условия применения данного теста.» И далее ссылаемся на условия применения.
Пример результата сравнения трех групп
О проекте BIRDYX
У нас Вы можете заказать услугу статистического анализа и помощи в статистических расчетах для научных статей, диссертаций или маркетинговых исследований. Свяжитесь с нами одним из удобных способов, чтобы обсудить детали:
Мы растем, развиваемся, постоянно работаем над автоматизацией аналитических процессов, чтобы предоставлять Вам качественную аналитику оперативно и по доступной цене.
scipy.stats.kruskal#
Compute the Kruskal-Wallis H-test for independent samples.
The Kruskal-Wallis H-test tests the null hypothesis that the population median of all of the groups are equal. It is a non-parametric version of ANOVA. The test works on 2 or more independent samples, which may have different sizes. Note that rejecting the null hypothesis does not indicate which of the groups differs. Post hoc comparisons between groups are required to determine which groups are different.
Parameters : sample1, sample2, … array_like
Two or more arrays with the sample measurements can be given as arguments. Samples must be one-dimensional.
Defines how to handle input NaNs.
- propagate : if a NaN is present in the axis slice (e.g. row) along which the statistic is computed, the corresponding entry of the output will be NaN.
- omit : NaNs will be omitted when performing the calculation. If insufficient data remains in the axis slice along which the statistic is computed, the corresponding entry of the output will be NaN.
- raise : if a NaN is present, a ValueError will be raised.
If an int, the axis of the input along which to compute the statistic. The statistic of each axis-slice (e.g. row) of the input will appear in a corresponding element of the output. If None , the input will be raveled before computing the statistic.
keepdims bool, default: False
If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the input array.
Returns : statistic float
The Kruskal-Wallis H statistic, corrected for ties.
pvalue float
The p-value for the test using the assumption that H has a chi square distribution. The p-value returned is the survival function of the chi square distribution evaluated at H.
Mann-Whitney rank test on two samples.
Friedman test for repeated measurements.
Due to the assumption that H has a chi square distribution, the number of samples in each group must not be too small. A typical rule is that each sample must have at least 5 measurements.
Beginning in SciPy 1.9, np.matrix inputs (not recommended for new code) are converted to np.ndarray before the calculation is performed. In this case, the output will be a scalar or np.ndarray of appropriate shape rather than a 2D np.matrix . Similarly, while masked elements of masked arrays are ignored, the output will be a scalar or np.ndarray rather than a masked array with mask=False .
W. H. Kruskal & W. W. Wallis, “Use of Ranks in One-Criterion Variance Analysis”, Journal of the American Statistical Association, Vol. 47, Issue 260, pp. 583-621, 1952.
>>> from scipy import stats >>> x = [1, 3, 5, 7, 9] >>> y = [2, 4, 6, 8, 10] >>> stats.kruskal(x, y) KruskalResult(statistic=0.2727272727272734, pvalue=0.6015081344405895)
>>> x = [1, 1, 1] >>> y = [2, 2, 2] >>> z = [2, 2] >>> stats.kruskal(x, y, z) KruskalResult(statistic=7.0, pvalue=0.0301973834223185)
scipy.stats.mstats.kruskalwallis#
Two or more arrays with the sample measurements can be given as arguments.
Returns : statistic float
The Kruskal-Wallis H statistic, corrected for ties
pvalue float
The p-value for the test using the assumption that H has a chi square distribution
>>> from scipy.stats.mstats import kruskal
Random samples from three different brands of batteries were tested to see how long the charge lasted. Results were as follows:
>>> a = [6.3, 5.4, 5.7, 5.2, 5.0] >>> b = [6.9, 7.0, 6.1, 7.9] >>> c = [7.2, 6.9, 6.1, 6.5]
Test the hypotesis that the distribution functions for all of the brands’ durations are identical. Use 5% level of significance.
>>> kruskal(a, b, c) KruskalResult(statistic=7.113812154696133, pvalue=0.028526948491942164)
The null hypothesis is rejected at the 5% level of significance because the returned p-value is less than the critical value of 5%.