Bayes theorem для diagnostic test с base rate
Есть disease prevalence 1% и diagnostic test с 5% error rate. Если test result positive, как посчитать вероятность, что человек действительно болен, и где чаще всего ошибаются?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Нужно считать P(disease | positive) через Bayes: sensitivity * prevalence делится на все положительные результаты теста, включая false positives среди здоровых людей.
Полный разбор
Обозначим D - человек болен, + - тест положительный. Если prevalence P(D)=0.01, sensitivity P(+|D)=0.95 и false positive rate P(+|not D)=0.05, то:
P(D|+) = P(+|D)P(D) / (P(+|D)P(D) + P(+|not D)P(not D)).
Подстановка дает 0.95 * 0.01 / (0.95 * 0.01 + 0.05 * 0.99), то есть около 16.1%. Интуитивно это низко из-за base-rate effect: здоровых людей намного больше, поэтому даже небольшой false positive rate создает много ложноположительных результатов.
Типовая ошибка - забыть умножить sensitivity на prevalence или принять 95% accuracy/sensitivity за P(disease|positive). В интервью важно явно проговорить, какая именно error rate дана: false positive/false negative, symmetric error или общая accuracy. Если формулировка неоднозначная, это надо уточнить.
Теория
Bayes theorem переворачивает условную вероятность, но обязательно учитывает prior/base rate. В imbalanced задачах posterior может быть намного ниже test sensitivity.
Типичные ошибки
- Ответить 95%, перепутав P(+|D) и P(D|+).
- Забыть false positives среди здорового большинства.
- Не уточнить, что означает "5% error rate".
Как отвечать на собеседовании
- Сначала задай обозначения D и +, затем выпиши знаменатель как сумму true positive и false positive mass.
- После формулы дай sanity check: болезнь редкая, поэтому posterior не может автоматически быть 95%.