Track
Бывало ли, что вы провели t‑тест, получили странное p‑значение, а позже выяснилось, что ваши данные и близко не нормальны?
Такое случалось со всеми. Проблема t‑теста в том, что он предполагает нормальное распределение данных. Если это не так, результаты могут вводить в заблуждение. Асимметрия и малые выборки нарушают предположение о нормальности. В реальных данных редко всё бывает так, как написано в учебниках.
Критерий Манна—Уитни помогает решить проблему. Это непараметрическая альтернатива t‑тесту: он сравнивает две группы по рангам, а не по средним, поэтому не зависит от формы распределения.
В этой статье я расскажу, что такое критерий Манна—Уитни, когда его использовать, как устроена математика, а также как запустить и интерпретировать его в Python и R.
Но что вообще такое t‑тест? Если у вас есть этот вопрос, прочитайте наш пост Введение в t‑тесты в Python — он ответит на все ваши вопросы.
Что такое критерий Манна—Уитни?
Критерий Манна—Уитни — это непараметрический статистический тест для сравнения двух независимых групп.
В отличие от t‑теста он не предполагает нормального распределения. Он сравнивает распределения двух групп, преобразуя исходные значения в ранги и анализируя их. Это хороший выбор, если данные асимметричны, содержат выбросы или иным образом не соответствуют нормальности.
Его также называют критерием суммы рангов Уилкоксона. В практическом плане это синонимы.
Когда использовать критерий Манна—Уитни
Критерию Манна—Уитни нужен определённый набор условий. Используйте его, только если выполняются все ниже перечисленные:
- Две независимые группы: выборки не пересекаются, значения одной группы не влияют на другую
- Порядковые или количественные данные: например, результаты тестов, время реакции или любые измеряемые величины
- Ненормальное распределение: данные асимметричны, имеют тяжёлые хвосты или при малой выборке невозможно подтвердить нормальность
- Малые выборки: когда недостаточно данных, чтобы полагаться на центральную предельную теорему
Рассмотрим пример.
Допустим, у вас две группы студентов, обучавшихся разными методами, и вы хотите понять, где результаты экзамена лучше. Вы строите график и видите, что распределение не нормально: в одной группе есть несколько выбросов, уводящих распределение вправо. T‑тест сравнивает средние, поэтому эти выбросы завышают среднее и создают впечатление, что группа успешнее, чем есть на самом деле.
Такое смещённое среднее попадает в расчёт t‑теста, и полученное p‑значение не отражает реальной разницы между группами. Критерий Манна—Уитни избавлен от этой проблемы, поскольку работает с рангами, а не с исходными баллами. Единственный выброс может быть лишь самым высоким рангом и не искажает результат так, как искажает среднее.
Его также удобно применять для порядковых данных, например ответов опроса по шкале 1–5. Такие значения не являются по-настоящему непрерывными, поэтому считать среднее не слишком осмысленно.
Формула критерия Манна—Уитни
Тест даёт две статистики U — по одной для каждой группы. Формула выглядит так:

Формула критерия Манна—Уитни
Где:
-
n1иn2— размеры выборок для групп 1 и 2 -
R1иR2— суммы рангов по группам, то есть сумма всех рангов, присвоенных наблюдениям каждой группы
Сумма рангов вычисляется так: объединяете все значения обеих групп, сортируете их по возрастанию и присваиваете каждому ранг. Наименьшее значение получает ранг 1, следующее — ранг 2 и т. д. Затем отдельно складываете ранги, относящиеся к каждой группе.
В качестве статистики теста берут меньшее из U1 и U2. Затем его сравнивают с критическим значением или используют для вычисления p‑значения.
Хорошая новость — считать вручную не нужно. И Python, и R всё сделают за вас — скоро покажу как.
Предпосылки критерия Манна—Уитни
Критерий Манна—Уитни гибче t‑теста, но у него есть три предпосылки, которые нужно соблюдать:
- Независимые выборки: группы не влияют друг на друга; наблюдения одной группы не связаны с наблюдениями другой
- Порядковые или количественные данные: у данных должна быть естественная упорядоченность — можно сказать, что одно значение выше или ниже другого
- Схожие формы распределений: если вы хотите трактовать результаты как сравнение медиан, у обеих групп должны быть примерно одинаковые по форме распределения. Если формы различаются, тест всё равно работает, но вы сравниваете средние ранги, а не медианы
Третья предпосылка вызывает больше всего вопросов.
Критерий Манна—Уитни часто описывают как тест для медиан, но это верно, только если формы распределений схожи. Иначе результат говорит о более общем свойстве — склонности значений одной группы быть выше значений другой.
Критерий Манна—Уитни в Python
В модуле Python scipy.stats есть функция для критерия Манна—Уитни. Вот простой пример с баллами экзамена двух групп.
from scipy.stats import mannwhitneyu
class_a = [72, 85, 90, 65, 78, 88, 95, 70, 83, 76]
class_b = [60, 55, 74, 68, 80, 58, 63, 71, 66, 59]
stat, p_value = mannwhitneyu(class_a, class_b, alternative="two-sided")
print(f"U statistic: {stat}")
print(f"P-value: {p_value:.4f}")

Критерий Манна—Уитни в Python
Аргумент alternative="two-sided" сообщает тесту, что вы проверяете различия в любую сторону. Вы заранее не предполагаете, что одна группа выше другой. Если бы у вас была направленная гипотеза, вы бы использовали "less" или "greater".
Здесь p‑значение равно 0.0046 — ниже стандартного порога 0.05. Это позволяет отклонить нулевую гипотезу: между распределениями баллов двух групп есть статистически значимая разница.
Сама по себе статистика U без контекста мало что говорит. Ориентируйтесь на p‑значение, чтобы решить, значима ли разница статистически, а направление различий оценивайте по исходным данным или медианам.
Критерий Манна—Уитни в R
В R критерий Манна—Уитни выполняется функцией wilcox.test(). Я возьму тот же пример с баллами экзамена.
class_a <- c(72, 85, 90, 65, 78, 88, 95, 70, 83, 76)
class_b <- c(60, 55, 74, 68, 80, 58, 63, 71, 66, 59)
wilcox.test(class_a, class_b, alternative = "two.sided")

Критерий Манна—Уитни в R
Статистика W — это та же статистика U, просто R называет её иначе. Интерпретация как в Python: p‑значение 0.0029 ниже 0.05, значит, между группами есть статистически значимая разница.
Вы также можете увидеть предупреждение о равных значениях (ties) в данных.
Это происходит, когда два и более значения совпадают в обеих группах, что влияет на присвоение рангов. R обрабатывает это автоматически, но если совпадений много, стоит проверить, соответствуют ли данные предпосылкам теста.
Как интерпретировать результаты критерия Манна—Уитни
Нулевая гипотеза критерия Манна—Уитни состоит в том, что обе группы происходят из одного и того же распределения — то есть между ними нет различий. Ваша задача — найти доказательства против этого.
Оценка идёт по p‑значению:
- p < 0,05: вы отклоняете нулевую гипотезу. Распределения групп различаются, и разница статистически значима
- p ≥ 0,05: у вас недостаточно оснований отклонить нулевую гипотезу. Это не значит, что группы идентичны — лишь то, что данные не показывают явной разницы
Помните, критерий Манна—Уитни сравнивает распределения. Значимый результат указывает, что значения одной группы склонны иметь более высокие ранги, чем в другой, — не что среднее больше. Чтобы описать направление различий, смотрите на медианы групп, а не на средние.
Критерий Манна—Уитни vs t‑тест
Оба теста решают одну задачу — сравнение двух групп, — но делают это по‑разному, и неверный выбор повлияет на результат.
t‑тест
T‑тест сравнивает средние значения двух групп. Он основан на предположении о нормальности данных и хорошо работает, когда это верно.
Проблема — в предположении. Если данные асимметричны или выборка мала и нормальность трудно подтвердить, результаты t‑теста становятся ненадёжными. Среднее тянется к экстремальным значениям, и p‑значение отражает это.
Используйте t‑тест, когда:
- Данные распределены нормально
- Размер выборки достаточно велик
- Вы работаете с непрерывными данными без сильной асимметрии и выбросов
Критерий Манна—Уитни
Критерий Манна—Уитни сравнивает распределения, а не средние. Он ранжирует все значения обеих групп вместе и проверяет, не располагаются ли значения одной группы систематически выше другой. Поскольку он работает с рангами, выбросы и асимметрия не искажают результат так сильно.
Если данные действительно нормальны, t‑тест надёжнее выявляет различия. Критерий Манна—Уитни гибче, но вы теряете часть чувствительности.
Используйте критерий Манна—Уитни, когда:
- Данные не распределены нормально
- Вы работаете с порядковыми данными
- Выборка мала и нормальность подтвердить нельзя
- Есть выбросы, и вы не можете их удалить
Короткое сравнение обоих тестов:

Сравнение t‑теста и критерия Манна—Уитни
В случае сомнений сначала проверьте распределение. Если оно примерно нормальное — используйте t‑тест. Если нет — надёжнее критерий Манна—Уитни.
Распространённые ошибки при использовании критерия Манна—Уитни
Большинство ошибок связано с непониманием сути теста. Вот самые типичные.
Предположение, что он сравнивает средние
Это самая частая ошибка. Критерий Манна—Уитни сравнивает распределения, а не средние. Значимый результат говорит о склонности значений одной группы иметь более высокие ранги — а не о более высоком среднем. Если нужно описать разницу, сообщайте медианы, а не средние.
Игнорирование различий в форме распределений
Если у групп разные формы распределений — одна с правой асимметрией, другая симметрична, — нельзя трактовать результат как сравнение медиан. Тест отработает, но он покажет различие общих распределений, а не сдвиг центра. Проверьте распределения, прежде чем делать выводы о медианах.
Неверная интерпретация p‑значений
P‑значение ниже 0,05 означает статистически значимую разницу. Оно не говорит о её величине или практической значимости. Очень большая выборка может дать значимое p‑значение даже при крошечной реальной разнице. Если важен размер эффекта, посчитайте его отдельно.
Применение к парным данным
Критерий Манна—Уитни предназначен для двух независимых групп. Если данные парные — те же испытуемые измерены дважды или попарно сопоставлены, — нужен критерий знаковых рангов Уилкоксона.
Когда не стоит использовать критерий Манна—Уитни
Критерий Манна—Уитни подходит не всегда. В этих случаях выбирайте другие методы.
Ваши данные парные
Если одни и те же испытуемые присутствуют в обеих группах — измерения «до» и «после» или парное сопоставление, — выборки не независимы. Предпосылка критерия Манна—Уитни нарушается, и игнорирование связи между наблюдениями приводит к ненадёжным результатам. Используйте критерий знаковых рангов Уилкоксона.
У вас больше двух групп
Критерий Манна—Уитни сравнивает только две группы. Если групп три и более, используйте критерий Крускала—Уоллиса — непараметрический аналог однофакторного ANOVA, который работает с несколькими группами.
Большая выборка и нормальные данные
Главное преимущество критерия Манна—Уитни — отсутствие предположения о нормальности. Если данные нормальны и выборка достаточно велика, лучше использовать t‑тест. У него выше статистическая мощность в такой ситуации, то есть больше шансов выявить реальную разницу, если она существует.
Выводы
Критерий Манна—Уитни — отличное решение, когда данные не нормальны и t‑тест не подходит.
Он работает с рангами, а не с исходными значениями, поэтому избегает предпосылок, из‑за которых параметрические тесты ненадёжны на асимметричных или малых выборках. Это делает его хорошим инструментом для анализа реальных данных, которые редко ведут себя «как надо».
Главный урок здесь — правильный выбор теста. Универсального теста для всех наборов данных не существует. Всегда начните с проверки данных — их распределения, структуры и объёма выборки — и пусть эти характеристики определяют ваш выбор. Правильный тест — тот, что соответствует данным.
Если вы новичок в статистике или хотите углубиться в тему, наш трек Statistician in R поможет вам подготовиться к работе всего за 52 часа материалов.
FAQs
Для чего используется критерий Манна—Уитни?
Критерий Манна—Уитни применяют для сравнения двух независимых групп, когда нельзя считать, что данные имеют нормальное распределение. Он ранжирует все значения обеих групп вместе и проверяет, не располагаются ли значения одной группы систематически выше другой. Подходит как для порядковых, так и для количественных данных.
Чем критерий Манна—Уитни отличается от t‑теста?
T‑тест сравнивает средние двух групп и предполагает нормальность распределения. Критерий Манна—Уитни сравнивает распределения по рангам, поэтому такого предположения не делает. Когда данные асимметричны или выборка мала, критерий Манна—Уитни безопаснее.
Когда следует использовать критерий Манна—Уитни?
Используйте его, когда у вас две независимые группы, данные порядковые или количественные, и нормальность подтвердить нельзя. Он также хорош при малой выборке и наличии выбросов. Если данные нормальны и выборка велика, обычно лучше подойдёт t‑тест.
Что показывает p‑значение в критерии Манна—Уитни?
P‑значение ниже 0,05 означает статистически значимую разницу между распределениями двух групп. Оно не говорит о величине этой разницы и её практической значимости. Для этого нужно отдельно оценить размер эффекта и посмотреть на медианы групп.
Можно ли использовать критерий Манна—Уитни для парных данных?
Нет. Критерий Манна—Уитни предполагает независимость групп, то есть значения одной не влияют на другую. Если данные парные — например, измерения «до» и «после» у тех же участников — используйте критерий знаковых рангов Уилкоксона. Применение критерия Манна—Уитни к парным данным игнорирует связь между наблюдениями и даёт ненадёжные результаты.