Bayessian vs Frequient A/B testing [презентация]
Видео на Youtube: Александр Сахнов — Почему вам не стоит использовать байесовское A/B-тестирование
Нашел вначале шикарную презентацию от X5 по сравнению байесовского и частотного подхода к применению A/B тестов, потом нашел само видео)
Есть код на Python, можно сравнить методы на данных и посмотреть, как использовать.
Опровергаются различные мифы по поводу байесовского тестирования (про Peeking Problem, большую чувствительность, множественное тестирование) В начале идет описание частотного A/B тестирования и пайплайн проведения:
1. Фиксирование допустимых вероятностей ошибок первого и второго рода 2. Фиксирование ожидаемого результата 3. Оцениваем по истории дисперсии 4. Оцениваем необходимый размер групп 5. Проводим эксперимент 6. Собираем данные и вычисляем p-value 7. Оцениваем результат
Говорится о сложности интерпретации p-value. Вводится статистика, у которого какое-то предельное распределение. По реализации выборки мы считаем реализацию статистики и смотрим куда попала. Про это я писал у себя в посте. Бизнесу нужно принять бинарное решение (внедряем / не внедряем).
Затем описывается пайплайн байесовского A/B тестирования:
1. Определение априорных распределений (для неизвестных для нас параметров). Далее мы переходим к апостериорному распределению с помощью правдоподобий и теоремы Байеса 2. Определение размера групп. Размер групп можем взять из частотного метода 3. Проведение эксперимента 4. Собираем данные и что-то вычисляем 5. Оцениваем результат
Частотный подход: Какая вероятность получить такое или более экстремальное значение статистики при верности H0? Байесовский подход: Какая вероятность, что среднее уменьшилось / увеличилось по совместному апостериорному распределению?
Далее оцениваются ошибки первого и второго рода в частотном и байесовском методе. Мы можем задавать априорное распределение через uninformative prior, тогда оба метода показывают одинаковые результаты в симуляциях. Использование дополнительных знаний через prior не позволило на симуляциях контролировать ошибки первого и второго рода.
В частотном A/B-тесте у всех одни и те же результаты, но в Байесе все зависит от априорных знаний. Если два аналитика зададут разные априоры, они могут получить разные выводы по одному и тому же тесту! Представьте, что в A/B платформе такое внедряется — один продакт видит значимый эффект, а другой — нет. Как принимать решения?
Байесовские методы позволяют решать различные задачи. Например, многорорукие бандиты, EM-алгоритмы и многое другое.
🐳 Наберется 100 реакций, в следующем посте буду писать про байесовское тестирование более подробно А вы используете байесовские методы? Если да, то какие? Пишите в комментариях.