Критерий Вилкоксона — это ранговый тест для связанных выборок: он проверяет, есть ли сдвиг между двумя замерами на одних и тех же людях.
Критерий Вилкоксона нужен, когда одних и тех же людей измеряют дважды: до обучения и после, на старой версии интерфейса и на новой. Он берёт разность в каждой паре и учитывает направление сдвига вместе с его величиной, но через ранги, поэтому годится для оценок по шкале.
Полное название метода: критерий знаковых рангов Вилкоксона. Фамилию пишут и как Уилкоксон, статистику обозначают буквой T. Фрэнк Вилкоксон описал его в статье 1945 года. В той же статье был второй метод, для двух независимых групп, его позже развили Манн и Уитни. Если нужен «критерий Вилкоксона» для двух разных групп, это критерий Манна–Уитни.
Когда замеров три и больше, вместо него берут критерий Фридмана.
Когда он нужен
Данные связаны попарно: у каждого значения из первого замера есть пара во втором.
- До и после. Самооценка навыка до обучения и через месяц, удовлетворённость сервисом до изменений и после.
- Две версии у одного человека. Каждый респондент оценил и старый дизайн, и новый.
- Подобранные пары. Сотрудника пилотного отдела сравнивают с похожим коллегой из соседнего: тот же стаж, та же должность.
Когда замеров три и больше, нужен критерий Фридмана, о нём ниже. На числовых данных без выбросов работает и парный t-тест, но с оценками по шкале и разностями с длинным хвостом Вилкоксону спокойнее: ему не нужна нормальность разностей.
Как считается T
В примере 18 сотрудников дважды оценили от 1 до 10, насколько уверенно работают с CRM: до обучения и через две недели после.
Насколько вероятно, что вы порекомендуете нас коллеге?
Вот и всё — такой опрос собирается за пару минут, а индекс WebAsk считает сам.
Выбрать шаблонУ 11 человек оценка выросла, у четверых снизилась, у троих осталась прежней, медиана поднялась с 5 до 6. Разница есть, но на 18 людях её мог дать и случай. Критерий считают в четыре шага:
- Считают разности. У каждого сотрудника «после минус до»: +2, +1, −1, 0 и так далее.
- Убирают нули. У троих ничего не изменилось, они в расчёт не входят. Остаётся 15 пар.
- Ранжируют модули. Знак пока откладывают и выстраивают разности по размеру. Одинаковые делят места поровну: разностей ±1 семь, они занимают места с 1-го по 7-е и получают ранг 4.
- Складывают ранги по знаку. У положительных разностей сумма W+ = 98, у отрицательных W− = 22. Меньшая из сумм и есть T = 22.
Если бы обучение ничего не меняло, суммы у плюсов и минусов вышли бы примерно поровну, по 60: это половина от 1 + 2 + … + 15 = 120. Чем меньше T, тем сильнее перевес одной стороны. По таблице критических значений для 15 пар разница значима на уровне 0,05, когда T не больше 25. У нас 22, p = 0,03.
Таблицы рассчитаны на небольшие выборки. Когда пар несколько десятков, T переводят в z через нормальное приближение с поправкой на одинаковые разности, и программы считают p сами.
Как читать результат
- p-value. p = 0,03: будь обучение бесполезным, перевес плюсов такой силы встречался бы примерно в трёх выборках из ста.
- Размер эффекта. Его удобно считать как ранговую бисериальную корреляцию: (W+ − W−) ÷ (W+ + W−) = (98 − 22) ÷ 120 = 0,63. Ноль означает, что перевеса нет, единица, что все сдвиги в одну сторону.
- Медиана разностей. Здесь +1 балл: обычный сотрудник стал оценивать себя на балл выше. Для отчёта это главное число: «T = 22» руководителю ничего не скажет, а «плюс балл» скажет.
Критерий знаков и критерий знаковых рангов
Названия похожи, методы разные. Критерий знаков смотрит только, у скольких выросло и у скольких упало: 11 против 4. Насколько выросло, он не видит, поэтому на тех же данных даёт p = 0,12 и разницы не находит. Вилкоксон учитывает, что рост доходил до 3–4 баллов, а падения не превышали двух, и разницу замечает.
В симуляции разности в среднем сдвинуты на 0,6 балла. На 20 парах Вилкоксон замечал сдвиг в 32% выборок, критерий знаков в 21%. Чтобы замечать его в четырёх случаях из пяти, Вилкоксону нужно около 65 пар, критерию знаков больше 80. Парный t-тест на таких ровных данных идёт почти вровень с Вилкоксоном, а на разностях с выбросами отстаёт.
Три замера и больше: критерий Фридмана
Если уверенность мерили до обучения, сразу после и через полгода, пары превращаются в тройки. Для них есть критерий Фридмана, его в 1937 году предложил Милтон Фридман, тот самый экономист и будущий нобелевский лауреат. Логика похожая: три оценки каждого сотрудника ранжируют между собой, от меньшей к большей, а потом складывают ранги по замерам. Если обучение ни на что не влияло, суммы у всех трёх замеров выйдут примерно равными.
Если разница нашлась, пока неизвестно, между какими замерами. Это проверяют попарно тем же Вилкоксоном, а каждый p умножают на число пар (поправка Бонферрони). В R для этого есть функция friedman.test, в Python friedmanchisquare из модуля scipy.stats.
Чего критерий не показывает
- Причину изменения. Без контрольной группы рост мог случиться и без обучения: за две недели люди просто привыкают к CRM. Чтобы отделить эффект обучения, нужно сравнение с теми, кто его не проходил: как такое устроить, разобрано в карточке про экспериментальное исследование.
- Кто именно изменился. Это видно по строкам в данных, T их сворачивает в одно число.
- Сдвиг медианы в строгом смысле. Формально критерий проверяет, лежат ли разности симметрично вокруг нуля. О сдвиге медианы можно говорить, если сами разности распределены без сильного перекоса.
Частые ошибки
- Два замера сравнивают как независимые группы. Если отдать «до» и «после» в Манна–Уитни, пары теряются: разброс между людьми заглушает сдвиг у каждого, и тест слепнет.
- Ответы нельзя сопоставить. Анонимная анкета до и анонимная после дают две кучи ответов без пар. Код респондента закладывают до первой волны, потом его уже не добавить.
- Нули молча выбрасывают. Сколько человек не изменились, пишут в отчёте: 3 из 18 это тоже результат.
- Пять пар и меньше. При пяти ненулевых разностях p ниже 0,05 не получить в принципе, даже если все сдвинулись в одну сторону: минимально возможный p равен 0,0625.
Как это сделано в WebAsk
Труднее всего в таком опросе склеить ответы одного человека из двух замеров. Для этого в WebAsk есть скрытые переменные: в ссылку на опрос добавляют код сотрудника, например ?id=1024, и тот же код уходит во вторую волну. Код лучше выдать заранее вместо фамилии, тогда ответы остаются обезличенными.
Код сохраняется вместе с ответом: он виден во вкладке «Результаты» → «Ответы», по нему работает фильтр. Ответы обеих волн скачивают в XLSX или CSV, соединяют по коду и считают критерий:
- SPSS. Analyze → Nonparametric Tests → Related Samples, в настройках отметить Wilcoxon matched-pair signed-rank.
- R. Функция
wilcox.testс параметромpaired = TRUE. - Python. Функция
scipy.stats.wilcoxon: оценки до и после передают двумя списками в одном порядке.
Коротко
- Критерий Вилкоксона сравнивает два замера у одних и тех же людей по рангам разностей и обходится без нормальности.
- T это меньшая из двух сумм рангов, у плюсов и у минусов. Чем она меньше, тем увереннее сдвиг.
- Нулевые разности отбрасывают, а их число указывают в отчёте.
- Критерий знаков проще, но видит только направление и на тех же данных находит сдвиг заметно реже.
- Для двух разных групп нужен Манн–Уитни, для трёх и больше замеров критерий Фридмана.
- Пары надо уметь сопоставить: код респондента закладывают до первого замера.
Вопросы и ответы
Что такое критерий Вилкоксона?
Непараметрический критерий для связанных выборок, когда одних и тех же людей измеряют дважды, например до и после обучения. Он ранжирует разности в парах по модулю и сравнивает суммы рангов положительных и отрицательных сдвигов. Полное название: критерий знаковых рангов Вилкоксона, статистика обозначается T.
Как рассчитать T-критерий Вилкоксона?
Для каждой пары считают разность и выкидывают нулевые. Оставшиеся разности упорядочивают по модулю и нумеруют местами, совпавшим достаётся среднее место. Потом места плюсов складывают отдельно от мест минусов, и меньшая сумма даёт T: в примере 98 и 22, значит T = 22.
Как интерпретировать значения критерия Вилкоксона?
Чем меньше T, тем сильнее перевес одной стороны. T сравнивают с критическим значением из таблицы для своего числа пар: для 15 пар на уровне 0,05 это 25, значит T = 22 говорит о значимом сдвиге. Программы сразу дают p: если он меньше 0,05, разница между замерами значима.
Чем критерий Вилкоксона отличается от критерия Манна–Уитни?
Вилкоксон знаковых рангов сравнивает два замера у одних и тех же людей, Манн–Уитни две независимые группы. Путаница идёт от истории: Вилкоксон в 1945 году предложил оба метода, а критерий суммы рангов Вилкоксона и Манн–Уитни дают одно и то же.
Чем критерий знаковых рангов отличается от критерия знаков?
Критерий знаков учитывает только направление изменения: выросло или упало. Критерий знаковых рангов Вилкоксона учитывает ещё и величину сдвигов через их ранги, поэтому на тех же данных чаще замечает настоящий эффект. В примере с 18 сотрудниками критерий знаков дал p = 0,12, Вилкоксон p = 0,03.
Сколько пар нужно для критерия Вилкоксона?
Формально хватит шести ненулевых пар, при пяти и меньше p ниже 0,05 не получить в принципе. Но чтобы заметить умеренный сдвиг, нужны десятки пар: в нашей симуляции сдвиг на 0,6 балла Вилкоксон находил в четырёх случаях из пяти, только начиная примерно с 65 пар.
Как посчитать критерий Вилкоксона?
В SPSS это Nonparametric Tests → Related Samples, в R функция wilcox.test с paired = TRUE, в Python scipy.stats.wilcoxon. Готовой функции в Excel нет, T можно посчитать по шагам вручную. Ответы двух волн опроса из WebAsk выгружают и соединяют по коду респондента.
Опубликовано 29 сентября 2026


