29.09.2026 11 мин 114

Критерий Шапиро–Уилка

Содержание

Опрос за пару минут

Насколько вероятно, что вы нас порекомендуете?

Собрать ответы Есть бесплатный тариф
Лого WebAsk

Критерий Шапиро–Уилка — это тест на нормальность: он проверяет, можно ли считать данные выборкой из нормального распределения.

Алексей Логинов Автор статьи Алексей Логинов

Критерий Шапиро–Уилка проверяет, похожи ли данные на выборку из нормального распределения. Его запускают перед t-тестом и ANOVA, но результат сильно зависит от числа ответов: один и тот же перекос на 20 ответах тест пропускает в девяти случаях из десяти, а на 500 ловит почти всегда.

Ответы на вопрос со шкалой Лайкерта им не проверяют: на оценках по шкале он отвергает нормальность почти всегда.

Критерий предложили Сэмюэл Шапиро и Мартин Уилк: их статья вышла в журнале Biometrika в 1965 году. Таблицы коэффициентов в ней доходили до 50 наблюдений. В 1982 году Ройстон расширил метод до 2000, позже до 5000, и на его варианте сейчас работают R и библиотека scipy для Python.

Что проверяет критерий

Критерий исходит из того, что данные взяты из нормального распределения, это его нулевая гипотеза. По данным он считает статистику W, а по ней p-value.

  • p меньше 0,05. Отклонение от нормальной формы есть, и случайностью его объяснить трудно. Насколько оно велико, p не говорит.
  • p от 0,05 и выше. Оснований отвергнуть нормальность нет. Но и нормальность этим не доказана: на маленькой выборке тест может просто не увидеть отклонения.

Для W значения выстраивают по возрастанию, складывают с весами, рассчитанными для нормального распределения, и сравнивают результат с обычной суммой квадратов отклонений от среднего:

W = (Σ ai × x(i))² ÷ Σ (xi − x̄)², где x(i) это i-е по величине значение, x̄ среднее, а ai коэффициенты для нормального распределения.

У нормальных данных числитель и знаменатель почти совпадают, и значение W близко к 1. Чем сильнее перекос, тяжелее хвосты или больше выбросов, тем W меньше. Вручную W не считают: коэффициенты свои для каждого размера выборки, и программы вычисляют их по приближённым формулам.

Как читать W и p

Смотреть надо на p, потому что одно и то же значение W на разных выборках читается по-разному. W = 0,95 на 20 ответах даёт p около 0,37, и нормальность не отвергается. Те же 0,95 на 100 ответах дают p около 0,001.

WebAsk · сервис опросов Спросите свою аудиторию Готовые шаблоны, ветвления по ответам и отчёты — опрос собирается за пару минут Создать опрос

В отчёте результат записывают вместе с размером выборки: «W = 0,917, p < 0,001, n = 60». Без n читатель не поймёт, насколько чувствительным был тест.

Почему результат зависит от размера выборки

Мы смоделировали данные с одним и тем же лёгким перекосом (асимметрия 0,5) и прогнали через тест по 400 выборок каждого размера, от 10 до 5000 ответов.

График: доля выборок, где критерий Шапиро–Уилка отвергает нормальность, в зависимости от размера выборки. При одном и том же перекосе с асимметрией 0,5 это 10% при 20 наблюдениях, 43% при 100, 98% при 500 и 100% начиная с 1000. У нормальных данных около 5% при любом размере

На 20 ответах перекос замечен в 10% выборок, на 100 в 43%, на 500 в 98%, а начиная с 1000 в каждой. У нормальных данных тест ошибается примерно в 5% случаев при любом размере, это и есть уровень значимости 0,05.

Отсюда неприятный вывод. На маленьких выборках, где t-тесту нормальность нужнее всего, критерий слабее всего. На больших он замечает даже слабое отклонение, которое t-тесту уже почти не мешает: по центральной предельной теореме среднее большой выборки распределено почти нормально, даже если сами данные нет. Подробнее об этом в карточке про нормальное распределение.

Поэтому на выборках в десятки ответов p больше 0,05 ещё ничего не гарантирует, смотрите на график. А на сотнях ответов p меньше 0,05 выходит почти всегда, и такой результат сам по себе не повод отказываться от t-теста.

Как проверить нормальность по Q-Q графику

Тест отвечает только на вопрос, есть ли отклонение. Какое оно и насколько сильное, видно на Q-Q графике. Данные сортируют по возрастанию и ставят против значений, которые ожидались бы при нормальном распределении: ожидаемые откладывают по горизонтали, фактические по вертикали.

Два Q-Q графика по 60 наблюдений. Нормальные данные ложатся вдоль прямой: W равно 0,993, p равно 0,99. Данные, скошенные вправо, образуют дугу: слева точки выше линии, справа уходят вверх, W равно 0,917, p меньше 0,001

  • Точки вдоль прямой. Данные близки к нормальным.
  • Дуга. Данные скошены. Если концы загибаются вверх, как на правом графике, хвост тянется вправо: так обычно выглядят время заполнения анкеты и суммы покупок.
  • Буква S. Хвосты тяжелее или легче нормальных: крайних значений больше или меньше, чем должно быть.
  • Одна-две точки далеко от линии на краю. Похоже на выбросы. Сначала проверьте, не опечатка ли это.

Шкала от 1 до 5 проверку не пройдёт

На оценках по шкале критерий почти всегда отвергает нормальность, даже когда ответы лежат ровным колоколом.

Столбики 200 ответов по шкале от 1 до 5: 10, 40, 90, 45 и 15 ответов. Форма близка к нормальной кривой с тем же средним и разбросом, но критерий Шапиро–Уилка даёт W равно 0,901, p меньше 0,001

В примере 200 ответов распределены почти симметрично (асимметрия 0,02), а W = 0,901 и p < 0,001. Дело в том, что нормальное распределение непрерывное, а здесь всего пять значений и десятки одинаковых ответов на каждом. Чем больше ответов, тем увереннее тест это замечает.

Поэтому ответы на один вопрос со шкалой Лайкерта на нормальность не проверяют. Метод выбирают по типу шкалы: она порядковая, значит, для сравнения двух групп подойдёт критерий Манна–Уитни. Другое дело индекс из суммы десяти вопросов: у него десятки возможных значений, и проверка там имеет смысл.

Что делать, если нормальность отвергнута

  • Сначала посмотреть на график. Q-Q график и гистограмма покажут, в чём дело: перекос, хвосты или пара выбросов.
  • Прикинуть размер групп. Если в каждой группе сотни ответов, а перекос умеренный, t-тест и ANOVA обычно справляются.
  • Маленьким группам и порядковым данным нужен ранговый критерий. Манна–Уитни для двух независимых групп, знаковых рангов Уилкоксона для одних и тех же людей до и после, Краскела–Уоллиса для трёх групп и больше.
  • Длинный правый хвост часто лечит логарифм. Время заполнения и суммы покупок после него нередко становятся почти симметричными. Проверку повторяют на преобразованных данных, а в отчёте оговаривают, что t-тест на логарифмах сравнивает средние геометрические.
  • Рядом со средним дать медианы и межквартильный размах. Для скошенных данных они описывают группу честнее среднего.

Шапиро–Уилк и другие тесты нормальности

  • Колмогоров–Смирнов. Сравнивает накопленные доли в данных с теми, что дало бы нормальное распределение, и берёт самое большое расхождение. Если среднее и разброс оценивают по тем же данным, нужна поправка Лиллиефорса. SPSS показывает этот тест уже с ней.
  • Андерсон–Дарлинг. Похож на Колмогорова–Смирнова, но внимательнее к хвостам.
  • Д’Агостино–Пирсон. Складывает две проверки, по асимметрии и по эксцессу. Их можно посмотреть и по отдельности, тогда видно, что не так: перекос или хвосты.

Разали и Ва в 2011 году сравнили на смоделированных данных четыре теста: Шапиро–Уилка, Колмогорова–Смирнова, Лиллиефорса и Андерсона–Дарлинга. Самым мощным оказался Шапиро–Уилк, следом с небольшим отставанием шёл Андерсон–Дарлинг, Колмогоров–Смирнов замкнул список. Мощнее значит, что при том же размере выборки тест чаще замечает настоящее отклонение. Так что на выборках до нескольких тысяч с него и начинают.

Частые ошибки

  • Все ответы проверяют одной кучей. Для t-теста по двум группам нормальность нужна в каждой группе, для парного t-теста у разностей «после минус до», для ANOVA и регрессии у остатков. Две нормальные группы с разными средними вместе могут дать двугорбое распределение, и тест его забракует.
  • p больше 0,05 принимают за доказательство нормальности. В нашей модели на 20 ответах скошенные данные проходили проверку в 90% случаев.
  • Бросают t-тест на большой выборке из-за p меньше 0,05. На 1000 ответах тест бракует даже лёгкий перекос, который t-тесту уже не страшен.
  • Шкалу от 1 до 5 гоняют через тест. Она его почти никогда не проходит, и метод для неё выбирают по типу данных.
  • Выборка больше 5000. R такую не примет, scipy посчитает, но предупредит, что p может быть неточным. На таких объёмах надёжнее смотреть на график.

Как это сделано в WebAsk

Встроенного теста на нормальность в WebAsk нет. Зато в отчёте видно, как распределились ответы на вопрос, а фильтр по вопросу-разрезу покажет это для каждой группы отдельно. Длинный хвост или выброс часто заметны уже здесь, до всякого теста. Для расчёта ответы выгружают в XLSX, CSV или SPSS.

Дальше проверка занимает одну строку или пару кликов:

  • SPSS. Analyze → Descriptive Statistics → Explore, в окне Plots отметить Normality plots with tests. Программа покажет Шапиро–Уилка, Колмогорова–Смирнова с поправкой Лиллиефорса и Q-Q график.
  • R. Функция shapiro.test(x).
  • Python. Функция scipy.stats.shapiro(x) из библиотеки scipy.

Если проверка показала, что t-тест годится, его можно посчитать в калькуляторе t-теста WebAsk.

Коротко

  • Критерий Шапиро–Уилка проверяет, похожи ли данные на нормальное распределение. p меньше 0,05 значит, что нормальность отвергнута.
  • У нормальных данных W близко к 1, но читать надо p: порог W зависит от размера выборки.
  • На десятках ответов тест слабый и пропускает перекос, на сотнях и тысячах ловит отклонения, которые t-тесту не мешают.
  • Тест дополняют Q-Q графиком: он показывает, какое отклонение и насколько оно сильное.
  • Шкалу от 1 до 5 на нормальность не проверяют, метод выбирают по типу шкалы.
  • Нормальность проверяют в каждой группе или у остатков, а не по всем ответам сразу.
Что такое дескриптивный анализ и как его провести Как собрать шкалу Лайкерта, которую потом можно посчитать

Вопросы и ответы

Что такое критерий Шапиро–Уилка?

Это статистический тест, который проверяет, взяты ли данные из нормального распределения. Он считает статистику W и p-value: при p меньше 0,05 нормальность отвергают. Критерий работает на выборках от 3 до 5000 наблюдений и по мощности обычно обходит Колмогорова–Смирнова.

Как интерпретировать результат теста Шапиро–Уилка?

Если p от 0,05 и выше, оснований отвергать нормальность нет, но это не доказательство: на маленькой выборке тест может не заметить отклонения. Если p меньше 0,05, форма данных отличается от нормальной. Насколько сильно, покажет Q-Q график, ведь на сотнях ответов тест замечает и несущественные отклонения.

Что означает W в критерии Шапиро–Уилка?

W это статистика критерия, число от 0 до 1. Чем ближе W к 1, тем больше данные похожи на нормальные. Порог W зависит от размера выборки: W = 0,95 на 20 наблюдениях нормальность не отвергает, а на 100 отвергает. Поэтому выводы делают по p.

Для какого размера выборки подходит критерий Шапиро–Уилка?

Современные версии работают на выборках от 3 до 5000 наблюдений, исходный вариант 1965 года был рассчитан до 50. На десятках наблюдений тест слабый и пропускает умеренный перекос, на сотнях и тысячах отвергает нормальность даже при небольших отклонениях.

Чем критерий Шапиро–Уилка отличается от Колмогорова–Смирнова?

Шапиро–Уилк построен специально для проверки нормальности и при том же размере выборки чаще замечает отклонение. Колмогоров–Смирнов сравнивает данные с любым заданным распределением, а для проверки нормальности с параметрами из самих данных ему нужна поправка Лиллиефорса. Если нужен один тест, обычно берут Шапиро–Уилка.

Что делать, если данные не распределены нормально?

Посмотреть на Q-Q график и на размер групп. При сотнях ответов в группе и умеренном перекосе t-тест обычно работает. Для маленьких групп и порядковых шкал берут ранговые критерии: Манна–Уитни для двух групп, Краскела–Уоллиса для трёх и больше. Длинный правый хвост часто убирает логарифмирование.

Как посчитать критерий Шапиро–Уилка?

В R это функция shapiro.test, в Python scipy.stats.shapiro, в SPSS пункт Explore с отметкой Normality plots with tests. В Excel встроенной функции нет, нужна надстройка. Ответы опроса из WebAsk для расчёта выгружают в XLSX, CSV или SPSS.

1
Опрос за пару минут

Насколько вероятно, что вы нас порекомендуете?

Собрать ответы Есть бесплатный тариф

Смотрите также

Глоссарий по буквам

Ищут чаще всего: Анкета Респондент Стандартное отклонение NPS TTR Experimental Research