Положительный тест не означает, что болезнь почти наверняка есть. Он лишь меняет вероятность, которая была до теста, а размер этого изменения зависит сразу от трёх чисел: распространённости болезни, чувствительности теста и частоты ложных тревог. Формула Байеса — это точная бухгалтерия такого пересчёта, и в этом уроке мы разберём её на реальных данных, включая настоящий спам-фильтр.

Условие меняет пространство

Пусть AA — интересующее событие, а BB — полученная информация. Условная вероятность определяется так:

P(AB)=P(AB)P(B),P(B)>0.P(A\mid B)=\frac{P(A\cap B)}{P(B)},\qquad P(B)>0.

После наблюдения BB все исходы вне BB исключаются, а вероятности оставшихся заново нормируются до единицы. Условие не добавляется к прежней вероятности как процентная поправка — оно буквально заменяет пространство, на котором мы считаем долю.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Слева прямоугольник всех исходов площади 1 с пересекающимися областями A и B и их пересечением. Справа область B растянута до нового полного пространства, и доля пересечения в нём равна P(A при условии B)
Рис. 42.1. Условие перенормирует пространство

Слева площадь всего прямоугольника равна единице, зелёным выделено ABA\cap B. Справа событие BB растянуто до нового полного пространства: доля зелёной части в нём и есть P(AB)=P(AB)/P(B)P(A\mid B)=P(A\cap B)/P(B).

Правило умножения и дерево

Из определения сразу следует правило умножения:

P(AB)=P(B)P(AB)=P(A)P(BA).P(A\cap B)=P(B)\,P(A\mid B)=P(A)\,P(B\mid A).

Дерево вероятностей делает его наглядным: вдоль ветви вероятности перемножаются, а разные ветви, ведущие к одному наблюдению, складываются. Например, 2%2\% деталей даёт станок A с браком 1%1\%, остальные 98%98\% — станок B с браком 4%4\%. Вероятность случайно взять бракованную деталь равна 0,020,01+0,980,04=0,03940{,}02\cdot0{,}01+0{,}98\cdot0{,}04=0{,}0394.

Формула Байеса

Приравняв две записи совместной вероятности, получаем формулу Байеса:

P(AB)=P(BA)P(A)P(B).P(A\mid B)=\frac{P(B\mid A)\,P(A)}{P(B)}.

Если гипотезы H1,,HkH_1,\ldots,H_k образуют разбиение, знаменатель раскрывается по формуле полной вероятности:

P(HjE)=P(EHj)P(Hj)iP(EHi)P(Hi).P(H_j\mid E)=\frac{P(E\mid H_j)\,P(H_j)}{\sum_{i}P(E\mid H_i)\,P(H_i)}.

Здесь P(Hj)P(H_j) — априорная вероятность, P(EHj)P(E\mid H_j) — правдоподобие наблюдения, P(HjE)P(H_j\mid E) — апостериорная вероятность. Формула не создаёт новых сведений: она согласованно переворачивает направление условия. Для двух гипотез удобна запись в шансах — апостериорные шансы равны априорным, умноженным на отношение правдоподобий.

Медицинский тест: ловушка базовой частоты

Обозначим болезнь DD, положительный тест ++. Чувствительность P(+D)P(+\mid D) — доля больных, которых тест находит; специфичность P(¬D)P(-\mid\neg D) — доля здоровых с отрицательным ответом. Пусть болезнь у 1%1\% людей, чувствительность 90%90\%, специфичность 95%95\%.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Сетка 10 000 человек: тонкая зелёная полоса больных с положительным тестом (90), большая красная полоса здоровых с ложным положительным (495), золотая полоса пропущенных больных (10) и голубое большинство здоровых с отрицательным тестом; подпись, что после плюса болезнь лишь у 15,4 процента
Рис. 42.2. Естественные частоты: 10 000 человек

Среди 1000010\,000 человек 100100 больны (9090 поймано, зелёные) и 99009900 здоровы (495495 ложных тревог, красные). Красная полоса ложных тревог намного шире зелёной: после положительного теста болезнь лишь у 90/(90+495)=15,4%90/(90+495)=15{,}4\%.

Тест точен, а вероятность болезни после «плюса» — всего 15,4%15{,}4\%. Причина не в дефекте формулы, а в огромной исходной группе здоровых: даже малый процент ложных тревог даёт больше положительных, чем весь пул больных.

::::

Потрогай Байес

10 000 человек: базовая частота и ценность теста

Загружается живая иллюстрация…

Двигайте распространённость болезни и качество теста и следите за клетками: зелёные — верно найденные больные, красные — ложные тревоги. Для редкой болезни красных намного больше зелёных, и ценность «плюса» мала. Затем добавьте один процентный пункт специфичности — для редкой болезни он часто полезнее такого же прироста чувствительности, потому что применяется к огромной группе здоровых.

Байес на настоящих данных: спам-фильтр

Тот же механизм работает в спам-фильтре. Возьмём реальный корпус SMS: доля спама P(спам)=0,13P(\text{спам})=0{,}13. Каждое слово письма — это наблюдение, а его отношение правдоподобий P(словоспам)/P(словоне спам)P(\text{слово}\mid\text{спам})/P(\text{слово}\mid\text{не спам}) — множитель для шансов. Слова накапливаются, множители перемножаются.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Две траектории вероятности спама против числа прочитанных слов. Красная линия при словах free, win, txt, claim поднимается от 0,13 почти к единице; зелёная линия при словах sorry, love, home, lol опускается почти к нулю
Рис. 42.3. Байес на настоящих SMS

Реальные отношения правдоподобий из корпуса SMS. Слова «free» (×19\times19), «win» (×49\times49), «txt» (×72\times72), «claim» (×703\times703) поднимают вероятность спама от 0,130{,}13 почти к единице; «sorry», «love», «home», «lol» с множителями меньше единицы тянут её к нулю.

::::

Порог решения — не порог истины

Даже верно посчитанная вероятность не диктует действие. При P(D+)=15,4%P(D\mid+)=15{,}4\% разумно назначить дешёвый подтверждающий анализ, но не начинать рискованное лечение. Решение зависит от цены ложной тревоги и цены пропуска — это разделение прогноза и действия станет центральным в уроке о функции потерь.

Повторный тест тоже требует осторожности. Если два результата условно независимы при фиксированном состоянии здоровья, их отношения правдоподобий перемножаются. Но анализы одной лаборатории могут делить систематическую ошибку, а повторный снимок — тот же артефакт; тогда простое перемножение множителей завышает уверенность.

Несколько причин одного наблюдения

Формула полной вероятности особенно нужна, когда у наблюдения несколько причин. Сигнал датчика дыма может вызвать пожар, пар, пыль или неисправность; после срабатывания веса причин обновляются, но их сумма остаётся единицей. Так же устроена классификация: каждый класс — гипотеза, признаки — наблюдения. Порождающие классификаторы из урока 54 моделируют p(xy)p(x\mid y) и доли классов, а затем применяют Байеса.

Русская линия ведёт к А. А. Маркову. Именно он показал, что теорию вероятностей можно строить и для зависимых событий, введя цепи, где будущее зависит от настоящего через условные вероятности. Условная вероятность из этого урока — первый кирпич марковских цепей, на которых держатся модели языка, погоды и очередей.

Проверка здравым смыслом

Перед вычислением полезны три быстрые проверки. Апостериор обязан лежать между нулём и единицей. Если положительный тест чаще встречается у больных, он должен увеличивать вероятность болезни относительно prior, а не уменьшать. И при почти нулевой базовой частоте даже хороший тест не обязан давать высокий апостериор. Наконец, меняя местами P(AB)P(A\mid B) и P(BA)P(B\mid A), всегда проговаривайте словами, кто дан, а кто спрашивается: именно небрежная перестановка условий и рождает ошибки. Когда же неизвестен не исход, а сам параметр модели, тот же байесовский пересчёт применяют к целому распределению значений — это разберёт урок об апостериорном распределении.

Что запомнить про Байеса

Условная вероятность перенормирует пространство исходов на событие-условие, а формула Байеса переворачивает направление условия, не создавая новых сведений. В форме шансов наблюдение — это множитель, и множители независимых наблюдений перемножаются: так работает и медицинский тест, и наивный спам-фильтр. Главная ловушка — базовая частота: при редком событии даже точный тест даёт много ложных тревог, и апостериор зависит от популяции. Поэтому перед вычислением всегда полезно нарисовать абсолютные количества и словами назвать, что дано, а что спрашивается. Дальше мы увидим, как небрежная перестановка условий рождает ошибку прокурора.

Задачи