Теорема Байеса и условная вероятность
Байес на собесе - проверка, умеешь ли ты пересчитать вероятность, когда пришли новые данные. Формы две и обе дежурные: задача про редкую болезнь, которую считают руками на бумаге, и байесовский A/B-тест, про который надо объяснить, зачем он бизнесу.
Типовые формулировки: «тест на болезнь точен на 99 процентов, человек получил плюс - какова вероятность, что он болен?», «чем байесовский A/B удобнее обычного?», «что такое prior и откуда его брать?».
// Слово prior, сказанное к месту, почти всегда плюс балл: оно показывает, что ты думаешь о том, как часто событие бывает вообще, ещё до всяких измерений.
Три слова, из которых собран Байес
Рабочая запись формулы: posterior ∝ likelihood × prior. Значок ∝ читается «пропорционально»: правая часть задаёт форму ответа, а общий множитель, который подгоняет сумму вероятностей под единицу, дописывают в конце, и на выводы он не влияет.
Prior - во что ты верил до данных. «Болезнь бывает у одного человека из ста» - это prior. Likelihood - насколько наблюдение правдоподобно при каждом варианте: «если человек болен, тест кричит „да“ в 99 случаях из 100». Posterior - пересчитанная вера после того, как данные увидены: «человек получил плюс, какова теперь вероятность, что он болен».
// Вся байесовская статистика крутит эти три слова по кругу: было мнение, пришли данные, стало новое мнение, которое становится prior для следующей порции данных.
- параметр
- число, которое мы оцениваем по данным: настоящая конверсия сайта, доля больных
- распределение
- какие значения величина принимает и с какими шансами
Задача про редкую болезнь: почему 99 превращается в 17
Условие: болезнь есть у 1 процента людей; тест находит больного в 99 случаях из 100 (это называют чувствительностью) и правильно оправдывает здорового в 95 случаях из 100 (специфичность). Человек получил положительный результат. Вероятность, что он действительно болен, - около 17 процентов.
Считается на пальцах, без формул. Возьми 10 000 человек. Больных среди них 100, тест найдёт 99. Здоровых 9 900, и на пяти процентах из них тест ошибётся - это 495 ложных плюсов. Всего плюсов 594, настоящих среди них 99, то есть примерно каждый шестой.
// Дело не в плохом тесте, а в том, что здоровых в сто раз больше: редкая ошибка на огромной группе даёт больше срабатываний, чем точное попадание на маленькой. Отсюда рабочая привычка - прежде чем радоваться точности, спросить, как часто событие вообще случается.
Частотник и байесовец: спор про то, что вообще случайно
Частотный взгляд: параметр - фиксированное неизвестное число, случайны данные. Все гарантии метода описывают, как он поведёт себя, если эксперимент повторить много раз. Байесовский взгляд: параметр сам имеет распределение, и данные его сужают.
Отсюда разница в чтении интервалов, на которой валятся чаще всего. Доверительный интервал (ДИ) частотника нельзя читать как «параметр лежит здесь с вероятностью 95 процентов», хотя читают так все: эти 95 процентов относятся к процедуре построения, а не к конкретному интервалу на твоём графике. Байесовский credible interval читается именно по-человечески - параметр внутри с вероятностью 95 процентов.
// Prior - не жульничество, а способ внести то, что ты и так знаешь: прошлые конверсии не дадут оценке улететь на выборке в двести человек. И чем больше данных, тем меньше он значит: likelihood перевешивает почти любой разумный prior.
Байес в бою: A/B без тяжёлой математики
Байесовский A/B отвечает на тот вопрос, который бизнес и задаёт: с какой вероятностью вариант B лучше A и сколько мы в среднем потеряем, если ошибёмся с выбором. Обе цифры понятны без переводчика.
Считать это можно почти в уме, если prior подобран удачно. Для доли - конверсии - берут распределение Beta: у него два параметра, и пересчёт после эксперимента сводится к сложению. К первому параметру прибавь число успехов, ко второму число неудач - апостериорное распределение готово. Такой prior называют сопряжённым: данные меняют его числа, но не меняют форму, поэтому численные методы вроде MCMC (Markov chain Monte Carlo) для обычной конверсии не нужны.
// Та же идея в миниатюре - сглаживание Лапласа: добавь к счётчикам по единице, и доля перестанет скакать от нуля к единице на трёх наблюдениях.
Как отвечать: «Чем байесовский A/B удобнее классического?»
Он отвечает на вопрос бизнеса напрямую: с какой вероятностью B лучше A и сколько мы ожидаемо потеряем, если выберем неверно. Классический тест такого не говорит, он говорит только, насколько наблюдаемая разница удивительна в мире, где разницы нет. Смотреть на результаты можно по мере накопления данных, без жёстко зафиксированной заранее длительности, а знание прошлых конверсий вносится через prior и стабилизирует маленькие выборки. Цена честная: prior надо выбрать и проверить, не он ли тащит вывод. И вероятность девяносто пять процентов, что B лучше, ничего не говорит о том, насколько лучше: величину я смотрю по credible interval разницы.
Названы выгода, механика и честная цена, а не только плюсы. Отдельно разведены «B вероятно лучше» и «B лучше вот настолько» - на этой границе кандидат обычно и плывёт.
На чём валят
- −«Тест точен на 99 процентов» и «получивший плюс болен с вероятностью 99 процентов» - разные утверждения: при редкой болезни правильный ответ около 17 процентов.
- −Читать частотный доверительный интервал как байесовский credible interval: 95 процентов там про процедуру построения, а не про конкретный интервал.
- −Взять prior из головы и не проверить, изменится ли вывод при другом, столь же разумном prior.
- −Прочитать P(B>A)=0.95 как «эффект большой»: вероятность направления молчит о величине эффекта.
- −Забыть, что prior тем незаметнее, чем больше данных: спор о нём осмыслен на сотнях наблюдений и почти бессмыслен на сотнях тысяч.
Проверьте себя
Пять вопросов из банка по этой подтеме. Всего их 13, остальные разбираются в тренажёре.
- В чём ключевое отличие MAP-оценки от полного байесовского вывода?A)MAP опирается на likelihood, а полный байесовский вывод его игнорируетB)MAP — точечный максимум posterior; полный вывод хранит всё распределениеC)MAP точнее полного вывода, но заметно медленнее считаетсяD)Различие проявляется при равномерном априорном prior
показать ответ и разбор
+B)MAP — точечный максимум posterior; полный вывод хранит всё распределение// разбор: MAP сжимает posterior в одну точку: теряется неопределённость, оценка не инвариантна к репараметризации, а при равномерном prior совпадает с ML. Полный вывод интегрирует по параметрам — предсказания честно «размазаны» по всем правдоподобным моделям. Связь с ML-практикой: L2-регуляризация = MAP с гауссовским prior.
- В байесовском выводе как связаны prior, likelihood и posterior?A)Posterior — это просто prior, умноженный на нормировочную константу; данные (likelihood) на него вообще никак не влияют совсемB)Posterior ∝ likelihood × prior: апостериорное — правдоподобие данных, взвешенное априорным убеждением, затем нормируютC)Likelihood заменяет собой prior после первого же наблюдения, и prior дальше в выводе не участвуетD)Posterior в точности равен likelihood, а prior используется в формуле Байеса для красоты записи выражения
показать ответ и разбор
+B)Posterior ∝ likelihood × prior: апостериорное — правдоподобие данных, взвешенное априорным убеждением, затем нормируют// разбор: Теорема Байеса: posterior ∝ likelihood × prior (с нормировкой на маргинальное правдоподобие). Апостериорное распределение параметра — компромисс между тем, что говорят ДАННЫЕ (likelihood), и априорным убеждением (prior): при малых данных сильнее тянет prior, при больших likelihood доминирует, а prior «размывается». Prior не константа и не декорация, а likelihood его не отменяет — они перемножаются.
- Чем байесовский credible interval концептуально отличается от частотного confidence interval?A)Это по сути одно и то же с точностью до названия; интерпретация у credible и confidence интервалов совпадаетB)Credible interval уже confidence interval при том же уровне доверия, поэтому его предпочитают в аналитических отчётахC)Confidence interval даёт прямую вероятность попадания истинного параметра внутрь, а credible — нет; на самом деле всё ровно наоборот, чем принято думатьD)Credible: «параметр внутри с вероятностью 95%» (при заданном prior); confidence: 95% таких интервалов при повторах накроют параметр
показать ответ и разбор
+D)Credible: «параметр внутри с вероятностью 95%» (при заданном prior); confidence: 95% таких интервалов при повторах накроют параметр// разбор: Интерпретации разные. Байесовский credible interval — прямое вероятностное утверждение о параметре: «при данных и prior параметр лежит здесь с вероятностью 95%». Частотный confidence interval — утверждение о ПРОЦЕДУРЕ: если повторять эксперимент много раз, 95% построенных интервалов накроют фиксированный (неслучайный) параметр; про конкретный интервал так сказать нельзя. Они не тождественны и не обязаны быть уже/шире; credible зависит от prior.
- Оцениваем конверсию (долю успехов) байесовски и хотим удобные вычисления. Какой prior естественен?A)Beta-распределение: сопряжено к биномиальному, поэтому posterior тоже Beta — обновление сводится к прибавлению успехов/неудачB)Нормальное распределение: именно оно сопряжено к биномиальному и даёт удобную замкнутую формулу апостериорного распределения для долиC)Prior для оценки доли не нужен — конверсию считают частотно, а байесовский подход к оценке доли неприменимD)Равномерное на всей вещественной оси — корректное априорное распределение для вероятности успеха в биномиальной модели
показать ответ и разбор
+A)Beta-распределение: сопряжено к биномиальному, поэтому posterior тоже Beta — обновление сводится к прибавлению успехов/неудач// разбор: Для доли/вероятности успеха (биномиальная модель) сопряжённый prior — Beta(α, β): апостериорное тоже Beta, и обновление тривиально — Beta(α + успехи, β + неудачи). Это делает байесовскую оценку конверсии удобной и интерпретируемой (α, β как «псевдо-наблюдения»), а Beta(1,1) — равномерное на [0,1]. Нормальное не сопряжено к биному, равномерное «на всей оси» некорректно (вероятность в [0,1]), а prior здесь как раз полезен (например, при малых выборках).
- Болезнь есть у 1% населения. Тест ловит её в 99% случаев и ошибается на здоровых в 5%. Тест положительный — какова примерно вероятность болезни?A)около 17%B)около 99%C)около 95%D)около 50%
показать ответ и разбор
+A)около 17%// разбор: Считаем на 10 000 человек: больных 100, тест поймает ~99; здоровых 9900, ложных срабатываний ~495. Положительных всего ~594, из них больны 99: 99/594 ≈ 17%. Редкость болезни (низкий приор) перевешивает точность теста — суть теоремы Байеса и ошибки пренебрежения базовой частотой. Тот же эффект — у алёртов файрвола и детекторов фрода.
дальше
Теорию прочитали. Навык ставится повторением
В Сеньорчике эта подтема идёт в ежедневных сессиях: движок возвращает её, пока ответы не станут уверенными, и ведёт прогресс отдельно по каждой подтеме. Теория внутри тоже бесплатна, лимит только на количество вопросов в день.