сад расходящихся троп.
Сначала вспомним, что вообще гарантирует p. Это вероятность увидеть такой результат (или ярче), если эффекта нет. Порог 0.05 значит: при пустой гипотезе мы ошибочно закричим «нашли!» в одном случае из двадцати. Один тест — один шанс ошибиться из двадцати, честно. Беда начинается, когда тестов незаметно становится много.
приём первый · перебрать метрики
Меряешь не одну метрику, а двадцать: клики, время на странице, возвраты, глубина, конверсия в каждом шаге. Эффекта нет ни в одной — но каждая проверка независимо ошибается с вероятностью 5%. Шанс, что хоть одна случайно выстрелит, уже совсем другой.
Это классика, увековеченная комиксом xkcd: учёные проверяют, вызывают ли желейки прыщи. Зелёные — p<0.05! Газета выходит с заголовком «зелёные желейки связаны с прыщами», а двадцать других цветов, где ничего не нашли, тихо остаются за кадром.[1]
приём второй · подглядывать и доливать
Запустил A/B и смотришь каждый день: «уже значимо? нет — подожду ещё». А останавливаешь ровно в тот день, когда наконец загорелось зелёное. Кажется невинным — ты же просто дожидался данных. Но это подглядывание (peeking, optional stopping), и оно раздувает ошибку само по себе: p-value по ходу набора блуждает случайно, и рано или поздно само нырнёт под 0.05, даже когда эффекта нет. Ты дожидаешься не правды — ты дожидаешься удобной флуктуации.[2]
приём третий · развилки, даже без злого умысла
Самый тонкий приём — и оттого самый опасный. Даже если ты честно поставил один тест и заглянул в данные один раз, обмануться всё равно можно. Потому что по дороге ты принял десяток мелких решений, подсказанных самими данными: какой выброс счесть аномалией, где провести границу групп, объединять ли две недели или взять одну, логарифмировать ли скошенную метрику. Каждое такое решение — развилка.
Эндрю Гельман и Эрик Локен назвали это садом расходящихся троп: даже единственный анализ скрыто содержит проблему множественных сравнений, потому что будь данные другими, ты свернул бы иначе.[3] Ты прошёл по одной тропинке сада, но веток было много — и значимость, найденная на этой тропе, учитывает только её, а не весь сад. Это не подтасовка: так ошибаются и добросовестные исследователи, искренне уверенные, что сделали одну честную проверку.
Анализ чист, только если ты сделал бы его точно так же при любых других данных. Если данные вели тебя за руку — развилок было много, даже когда тест один.
что общего · свобода ломает гарантию
Три приёма — одна болезнь под названием степени свободы исследователя. Пятипроцентная защита p верна ровно для одной заранее зафиксированной проверки. Любая гибкость — выбор метрики, момента остановки, обработки, среза — превращает один тест в скрытую россыпь тестов, и реальная доля ложных тревог взлетает с обещанных 5% куда выше.
Лечится это не формулой, а дисциплиной — причём до того, как ты увидел данные. Предрегистрация: заранее напиши, какую метрику и какой тест смотришь, когда останавливаешься, что считаешь выбросом, — и держись плана. Поправки на множественность (Бонферрони, FDR) ужесточают порог под число проверок. Разделяй разведку и подтверждение: рой данные сколько угодно, но гипотезу, рождённую в рытье, проверяй заново на свежих данных. Суть одна — заранее лишить себя развилок, на которых так легко обмануться.[4]
Мораль, которую стоит унести: значимость — не печать истины, а узкое обещание про один-единственный тест. Чем больше свободы ты дал себе после того, как заглянул в данные, тем меньше это обещание стоит. Хочешь, чтобы p что-то значил, — реши всё до того, как посмотришь.