Собесов

Когда нужен t-тест, а когда — Манн-Уитни / bootstrap

Статистика и теорверВыбор статистических тестовСредняяMiddle

Условие

Когда применять t-тест, когда — Манн-Уитни, а когда — bootstrap? Что делать с длинными хвостами и выбросами?

Решение

t-тест

Предположения:

  • Случайные независимые выборки.
  • Распределения примерно нормальные ИЛИ выборка достаточно большая (по ЦПТ распределение среднего → нормальное).
  • (Для пуленепробиваемого) — равные дисперсии (Стьюдент) или Welch (без этого предположения).

На практике при n > 30 в каждой группе t-тест работает почти всегда — благодаря ЦПТ. Хвосты и выбросы могут увеличивать дисперсию и снижать мощность, но валидность p-value сохраняется.

Манн-Уитни U (Wilcoxon rank-sum)

Что проверяет: «вероятность, что значение из X больше значения из Y, не равна 0.5» (точнее — равенство распределений в смысле stochastic dominance).

Не требует нормальности. Чувствителен к различию средних при близких формах распределений; к различию форм — отдельный вопрос.

Полезен при:

  • Очень маленьких выборках, где ЦПТ не работает.
  • Ярко-выраженных длинных хвостах (выбросы влияют слабее, потому что используются ранги).
  • Порядковых данных (NPS, оценки 1–5).

Слабость: на разной форме распределений интерпретация «разницы средних» неприменима.

Bootstrap

Подход без предположений о распределении. Для метрики M (среднее, медиана, доля...):

  1. Многократно (B = 5000–20000 раз) ресэмплируем с заменой из обоих наборов.
  2. На каждом ресэмпле считаем M(treatment) - M(control).
  3. Эмпирически строим распределение разницы → 95%-CI.

Когда лучше bootstrap:

  • Любая метрика, особенно нестандартная (медиана, перцентили, ratio).
  • Нет аналитических формул для дисперсии (например, в ratio-метриках типа CR).
  • Хочется получать CI без допущений.

Длинные хвосты и выбросы

Это проблема для t-теста, на больших выборках смягчается. Подходы:

  • Логарифмирование (если данные положительны и smooth) — log(amount). Тогда t-тест на лог-данных корректен.
  • Винзоризация — обрезать топ-1% / нижние 1%. Снижает влияние выбросов.
  • Линеаризация / CUPED — снизить дисперсию через ковариату.
  • Ratio-метрики и delta-method — формулы для CI ratio.

Дискретные/бинарные

  • Конверсии / пропорции → z-тест разности пропорций или хи-квадрат.
  • Подсчёты (число событий) → пуассон / Negative Binomial с offset.

Выбор «по умолчанию» в A/B-аналитике

  1. Continuous, n > 1000 в группе → Welch t-test или CI через bootstrap.
  2. Bound (CR, доля) → z-test пропорций.
  3. Heavy-tailed (LTV, GMV/user) → bootstrap или CUPED + Welch.
  4. Маленькая выборка (n < 30) → Манн-Уитни или bootstrap.
  5. Несколько метрик одновременно → поправка multiple testing (Bonferroni / BH).

Подводные камни

  1. Тестировать нормальность Шапиро-Уилком. На больших выборках любое отклонение значимо — тест не нужен. Смотрите на гистограмму и QQ-plot.
  2. Сравнивать медианы Манн-Уитни. Манн-Уитни проверяет stochastic dominance, не медианы напрямую. Уточнение требуется.
  3. Считать bootstrap «безусловным». Он чувствителен к размеру выборки и выбросам тоже.
  4. Менять тест после результата. Зафиксируйте выбор до эксперимента.

Эталонный ответ

Для большинства A/B на достаточном трафике — Welch t-test или bootstrap. Для редких событий и пропорций — z-test пропорций. Манн-Уитни — для маленьких выборок или порядковых данных. С тяжёлыми хвостами — лог-преобразование, винзоризация или bootstrap. Перед тестом фиксируем дизайн, чтобы не было выборочного теста после результата.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти