Как работает Шапиро-Уилка

«Как работает Шапиро-Уилка» — вопрос из категории Статистика и теория вероятностей, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Тест Шапиро-Уилка проверяет нормальность распределения данных. Он сравнивает выборочное распределение с теоретическим нормальным, используя статистику W, основанную на корреляции между данными и соответствующими квантилями нормального распределения.

Ключевые моменты:

  • Чем ближе W к 1, тем больше данные соответствуют нормальному распределению.
  • Маленькие p-значения (<0.05) отвергают гипотезу о нормальности.
  • Эффективен для небольших выборок (n < 50).

Пример на Python:

from scipy.stats import shapiro
data = [2.3, 1.9, 2.1, 2.0, 1.8, 2.2]
stat, p = shapiro(data)
print(f"W={stat:.3f}, p={p:.3f}")
# Интерпретация: p > 0.05 — нормальность не отвергается

Ограничения:

  • Чувствителен к выбросам.
  • Для больших выборок (>5000) может давать ложные отклонения нормальности.