Нужно ли фиксировать уровень значимости в тест?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Уровень значимости в A/B тестировании: нужно ли его фиксировать?
Да, уровень значимости (significance level, alpha) обязательно должен быть зафиксирован ДО запуска теста. Это один из фундаментальных принципов корректного A/B тестирования.
Что такое уровень значимости?
Уровень значимости (alpha, α) — это вероятность получить ложноположительный результат (Type I Error), когда мы отклоняем нулевую гипотезу, хотя она на самом деле верна.
Стандартные значения:
- α = 0.05 (5%) — самый распространённый выбор в индустрии
- α = 0.01 (1%) — для более консервативных тестов
- α = 0.10 (10%) — редко, обычно только для exploratory анализа
Почему уровень значимости нужно фиксировать заранее?
1. Предотвращение p-hacking
Если не зафиксировать alpha заранее, возникает искушение подбирать результаты под нужный вывод.
2. Контроль false positive rate
Зафиксированный alpha позволяет гарантировать, что в долгосрочной перспективе только 5% тестов (при α = 0.05) будут давать ложноположительные результаты.
3. Статистическая корректность
Все теоретические основы Frequentist статистики построены на том, что alpha фиксирован заранее. Если менять его post-hoc, нарушается вся логика вывода.
Когда нужно фиксировать alpha?
ВСЕГДА, но на разных этапах:
1. При проектировании теста (pre-test)
- ДО запуска теста нужно определить:
- Уровень значимости (α = 0.05)
- Мощность теста (power = 0.80 или 0.90)
- Минимальный эффект, который хотите обнаружить (MDE - Minimum Detectable Effect)
- Необходимый размер выборки (sample size)
Это проделывается с помощью power analysis:
from statsmodels.stats.power import tt_ind_solve_power
alpha = 0.05
power = 0.90
effect_size = 0.15
sample_size = tt_ind_solve_power(
effect_size=effect_size,
nobs1=None,
alpha=alpha,
power=power,
ratio=1.0,
alternative="two-sided"
)
2. Во время теста (in-test)
- Смотреть результаты можно, но НЕ принимать решения до запланированного периода
- Это предотвращает раннюю остановку (stopping rules должны быть определены заранее)
- Если нужна ранняя остановка (critical error), это решение должно быть принято независимо от p-value
3. При завершении теста (post-test)
- Финальный p-value вычисляется на полном dataset
- Сравнивается с зафиксированным alpha
- Результат: отклонить или не отклонить нулевую гипотезу
Практический пример
Сценарий: тестируем новый design кнопки добавить в корзину
План (ДО запуска):
- α = 0.05
- power = 0.80
- ожидаемый lift = 10% в conversion rate
- текущий conversion rate = 5%, target MDE = 0.5pp
- Нужно: 10,000 пользователей в каждой группе, 2 недели
Результаты (ПОСЛЕ 2 недель):
- Контроль: 5.2% conversion
- Тест: 5.7% conversion
- p-value = 0.048
- Вывод: p-value < 0.05, признаём результат статистически значимым
Множественные сравнения (Multiple Testing Problem)
Если вы смотрите на несколько метрик одновременно, нужна коррекция:
5 метрик × α = 0.05 → реальный alpha ≈ 0.23 (очень высоко)
alpha_corrected = 0.05 / 5 = 0.01 для каждой метрики
Важные исключения и нюансы
1. Sequential Testing (Peek at Data) Если вы хотите смотреть на результаты и делать раннюю остановку, используйте:
- Bayesian A/B testing
- Sequential analysis с pre-defined stopping boundaries (SPRT)
- Эти методы требуют коррекции alpha для контроля false positive rate
2. Exploratory vs Confirmatory
- Confirmatory: alpha фиксирована строго (0.05)
- Exploratory: можно быть мягче, но потом нужна валидация на новых данных
3. Bayesian подход В Bayesian A/B testing можно отказаться от фиксированного alpha, но нужно определить prior distribution и stopping rule
Антипаттерны
- Смотреть на p-value и менять alpha в зависимости от результата
- Запускать тест без power analysis
- Останавливать тест рано, потому что результаты хорошие
- Анализировать несколько метрик без коррекции
- Использовать alpha = 0.10 просто потому, что данные немного поддерживают результат
Выводы
Да, уровень значимости ОБЯЗАТЕЛЬНО должен быть зафиксирован ДО запуска теста. Это основной механизм контроля ошибок Type I и защиты от p-hacking. Стандартное значение α = 0.05 работает в подавляющем большинстве случаев. Фиксация alpha вместе с power analysis позволяет спроектировать тест, который даст надёжные результаты и обоснованные выводы для принятия решений.