Назад к подготовке

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%.