Почему p < 0.05 — плохой порог.
в 1925 году Рональд Фишер предложил 0.05 как удобный порог. он сам предупреждал, что это не правило. с тех пор это правило.
| тема | статистика · эксперименты · принятие решений |
| читать | ~8 минут |
| связано | вероятность · цепи Маркова · теория игр |
В 2015 году журнал Basic and Applied Social Psychology запретил публикацию p-value3. Полностью. Все статьи без p-value. Это был радикальный ответ на кризис воспроизводимости: большинство опубликованных результатов не воспроизводятся.
Что такое p-value? Это вероятность получить результат не менее экстремальный, чем наблюдаемый, при условии, что нулевая гипотеза верна. Не вероятность, что гипотеза верна. Не вероятность, что результат случаен. Именно то, что написано выше — и ничего другого.
Фишер предложил порог 0.05 в 1925 году в «Statistical Methods for Research Workers»: «удобно принять вероятность 1/20 как стандарт». Он имел в виду один из возможных порогов для конкретной задачи — не универсальный закон природы1.
| H₀ верна | H₀ неверна | |
|---|---|---|
| отвергли | ошибка I рода (α) | правильно |
| не отвергли | правильно | ошибка II рода (β) |
Ошибка первого рода (α) — отвергнуть нулевую гипотезу, когда она верна. Ложноположительный результат. «Нашли эффект, которого нет». Порог α = 0.05 означает: в 5% случаев мы будем ошибаться так.
Ошибка второго рода (β) — не отвергнуть нулевую гипотезу, когда она неверна. Ложноотрицательный результат. «Не нашли эффект, который есть». Мощность теста = 1 − β. Стандарт — 0.8.
Проблема: большинство A/B тестов настраивают α, но игнорируют β. Тест с α = 0.05 и мощностью 0.4 бесполезен — он пропускает 60% реальных эффектов. И если такой тест «находит» эффект, это с высокой вероятностью ложная находка.
Использование p < 0.05 как порога для публикации привело к тому, что литература заполнена ложноположительными результатами. — Джон Иоаннидис, «Why Most Published Research Findings Are False», 2005
Положительная предсказательная ценность теста:
Если реальных эффектов среди тестируемых гипотез мало (prevalence = 0.1), мощность 0.8 и α = 0.05:
64% «значимых» результатов — настоящие. 36% — ложные находки2. В A/B тестировании это конкретные деньги. Команда запускает фичу потому, что «тест показал +2.3% конверсии, p = 0.04». Фича не работает. Откат. Потери.
Если тестировать 20 гипотез одновременно при α = 0.05 — в среднем одна будет «значимой» по чистой случайности. Поправка Бонферрони: делить α на количество тестов. 20 тестов → порог 0.05 / 20 = 0.0025.
Cohen's d, relative uplift, CATE — вопрос не «есть ли эффект», а «насколько он большой». Статистически значимый эффект может быть экономически незначимым. +0.01% конверсии при p = 0.001 — это победа?
1. Считать размер выборки заранее. Определить минимальный детектируемый эффект (MDE). При каком реальном эффекте вам важно его найти? Считать n из α, β, MDE — до запуска теста.
2. Фиксировать горизонт теста. Не останавливать тест, как только p < 0.05. Peek problem: при постоянном мониторинге p-value блуждает. Решение — sequential testing (e-values, always-valid p-values)4.
3. Байесовский подход вместо частотного. Prior на размер эффекта из исторических данных. Posterior-распределение вместо бинарного решения. «Эффект с вероятностью 89% между +1% и +4%» лучше, чем «p = 0.04».
4. Множественные метрики. Не оптимизировать одну метрику — смотреть guardrail metrics. Если конверсия выросла, а retention упала — это победа?
p-value — инструмент. Хороший инструмент. Проблема не в нём — в автоматическом применении одного порога для всех задач без понимания механики.