[Из песочницы] Простое объяснение теоремы Байеса

geek.png

Подробно теорема Байеса излагается в отдельной статье. Это замечательная статья, но в ней 15 000 слов. В этом же переводе статьи от Kalid Azad кратко объясняется самая суть теоремы — для тех, кто впервые знакомится с ней, как и я сам.

  • Результаты исследований и испытаний — это не события. Существует метод диагностики рака, а есть само событие — наличие заболевания. Алгоритм проверяет, содержит ли письмо спам, но событие (на почту действительно пришел спам) нужно рассматривать отдельно от результата его работы.
  • В результатах испытаний бывают ошибки. Часто наши методы исследований выявляют то, чего нет (ложноположительный результат), и не выявляют то, что есть (ложноотрицательный результат).
  • С помощью испытаний мы получаем вероятности определенного исхода. Мы слишком часто рассматриваем результаты испытания сами по себе и не учитываем ошибки метода.
  • Ложноположительные результаты искажают картину. Предположим, что вы пытаетесь выявить какой-то очень редкий феномен (1 случай на 1000000). Даже если ваш метод точен, вероятнее всего, его положительный результат будет на самом деле ложноположительным.
  • Работать удобнее с натуральными числами. Лучше сказать: 100 из 10000, а не 1%. При таком подходе будет меньше ошибок, особенно при умножении. Допустим, нам нужно дальше работать с этим 1%. Рассуждения в процентах неуклюжи: «в 80% случаев из 1% получили положительный исход». Гораздо легче информация воспринимается так: «в 80 случаях из 100 наблюдали положительный исход».
  • Даже в науке любой факт — это всего лишь результат применения какого-либо метода. С философской точки зрения научный эксперимент — это всего лишь испытание с вероятной ошибкой. Есть метод, выявляющий химическое вещество или какой-нибудь феномен, и есть само событие — присутствие этого феномена. Наши методы испытаний могут дать ложный результат, а любое оборудование обладает присущей ему ошибкой.


Tеорема Байеса превращает результаты испытаний в вероятность событий.

  • Если нам известна вероятность события и вероятность ложноположительных и ложноотрицательных результатов, мы можем исправить ошибки измерений.
  • Теорема соотносит вероятность события с вероятностью определенного исхода. Мы можем соотнести Pr (A|X): вероятность события А, если дан исход X, и Pr (X|A): вероятность исхода X, если дано событие А.


Разберемся в методе


В статье, на которую дана ссылка в начале этого эссе, разбирается метод диагностики (маммограмма), выявляющий рак груди. Рассмотрим этот метод подробно.

  • 1% всех женщин болеют раком груди (и, соответственно, 99% не болеют)
  • 80% маммограмм выявляют заболевание, когда оно действительно есть (и, соответственно, 20% не выявляют)
  • 9,6% исследований выявляют рак, когда его нет (и, соответственно, 90,4% верно определяют отрицательный результат)


Теперь оформим такую таблицу:

Болеют (1%) Не болеют (99%)
Положительный результат метода
80% 9,6%
Отрицательный результат метода
20%
90,4%


Как работать с этим данными?

  • 1% женщин болеют раком груди
  • если у пациентки выявили заболевание, смотрим в первую колонку: есть 80% вероятность того, что метод дал верный результат, и 20% вероятность того, что результат исследования неправильный (ложноотрицательный)
  • если у пациентки заболевание не выявили, смотрим на вторую колонку. С вероятностью 9,6% можно сказать, что положительный результат исследования неверен, и с 90,4% вероятностью можно сказать, что пациентка действительно здорова.


Насколько метод точен?


Теперь разберем положительный результат теста. Какова вероятность того, что человек действительно болен: 80%, 90%, 1%?

Давайте подумаем:

  • Есть положительный результат. Разберем все возможные исходы: полученный результат может быть как истинным положительным, так и ложноположительным.
  • Вероятность истинного положительного результата равна: вероятность заболеть, умноженная на вероятность того, что тест действительно выявил заболевание. 1% * 80% = .008
  • Вероятность ложноположительного результата равна: вероятность того, что заболевания нет, умноженная на вероятность того, что метод выявил заболевание неверно. 99% * 9.6% = .09504


Теперь таблица выглядит так:

Болеют (1%) Не болеют (99%)
Положительный результат метода
Истинный положительный:
1% * 80% = .008
Ложноположительный:
99% * 9.6% = .09504
Отрицательный результат метода
Ложноотрицательный:
1% * 20% = .002
Истинный
отрицательный:
99% * 90,4% = .89496


Какова вероятность, что человек действительно болен, если получен положительный результат маммограммы? Вероятность события — это отношение количества возможных исходов события к общему количеству всех возможных исходов.

вероятность события = исходы события / все возможные исходы

Вероятность истинного положительного результата — .008. Вероятность положительного результата — это вероятность истинного положительного исхода + вероятность ложноположительного.

(.008 + 0.09504 = .10304)

Итак, вероятность заболевания при положительном результате исследования рассчитывается так: .008/.10304 = 0.0776. Эта величина составляет около 7.8%.

То есть положительный результат маммограммы значит только то, что вероятность наличия заболевания — 7,8%, а не 80% (последняя величина — это лишь предполагаемая точность метода). Такой результат кажется поначалу непонятным и странным, но нужно учесть: метод дает ложноположительный результат в 9,6% случаев (а это довольно много), поэтому в выборке будет много ложноположительных результатов. Для редкого заболевания большинство положительных результатов будут ложноположительными.

Давайте пробежимся глазами по таблице и попробуем интуитивно ухватить смысл теоремы. Если у нас есть 100 человек, только у одного из них есть заболевание (1%). У этого человека с 80% вероятностью метод даст положительный результат. Из оставшихся 99% у 10% будут положительные результаты, что дает нам, грубо говоря, 10 ложноположительных исходов из 100. Если мы рассмотрим все положительные результаты, то только 1 из 11 будет верным. Таким образом, если получен положительный результат, вероятность заболевания составляет 1/11.

Выше мы посчитали, что эта вероятность равна 7,8%, т.е. число на самом деле ближе к 1/13, однако здесь с помощью простого рассуждения нам удалось найти приблизительную оценку без калькулятора.

Теорема Байеса


Теперь опишем ход наших мыслей формулой, которая и называется теоремой Байеса. Эта теорема позволяет исправить результаты исследования в соответствии с искажением, которое вносят ложноположительные результаты:

$$display$$Pr (A|X) = \frac{Pr (X|A) Pr (A)}{Pr (X|A) Pr (A) Pr (X|not A) Pr (not A)}$$display$$


  • Pr (A|X) = вероятность заболевания (А) при положительном результате (X). Это как раз то, что мы хотим знать: какова вероятность события в случае положительного исхода. В нашем примере она равна 7,8%.
  • Pr (X|A) = вероятность положительного результата (X) в случае, когда больной действительно болен (А). В нашем случае это величина истинных положительных — 80%
  • Pr (A) = вероятность заболеть (1%)
  • Pr (not A) = вероятность не заболеть (99%)
  • Pr (X|not A) = вероятность положительного исхода исследования в случае, если заболевания нет. Это величина ложноположительных — 9,6%.


Можно сделать заключение: чтобы получить вероятность события, нужно вероятность истинного положительного исхода разделить на вероятность всех положительных исходов. Теперь мы можем упростить уравнение:

$$display$$Pr (A|X) = \frac{Pr (X|A)Pr (A)}{Pr (X)}$$display$$


Pr (X) — это константа нормализации. Она сослужила нам хорошую службу: без нее положительный исход испытаний дал бы нам 80% вероятность события.
Pr (X) — это вероятность любого положительного результата, будет ли это настоящий положительный результат при исследовании больных (1%) или ложноположительный при исследовании здоровых людей (99%).

В нашем примере Pr (X) — довольно большое число, потому что велика вероятность ложноположительных результатов.

Pr (X) создает результат 7,8%, который на первый взгляд кажется противоречащим здравому смыслу.

Смысл теоремы


Мы проводим испытания, чтоб выяснить истинное положение вещей. Если наши испытания совершенны и точны, тогда вероятности испытаний и вероятности событий совпадут. Все положительные результаты будут действительно положительными, а отрицательные — отрицательными. Но мы живем в реальном мире. И в нашем мире испытания дают неверные результаты. Теорема Байеса учитывает искаженные результаты, исправляет ошибки, воссоздает генеральную совокупность и находит вероятность истинного положительного результата.

Спам-фильтр


Теорема Байеса удачно применяется в спам-фильтрах.

У нас есть:

  • событие А — в письме спам
  • результат испытания — содержание в письме определенных слов:

$$display$$Pr (spam|words) = \frac{Pr (words|spam) Pr (spam)}{Pr (words)}$$display$$


Фильтр берет в расчет результаты испытаний (содержание в письме определенных слов) и предсказывает, содержит ли письмо спам. Всем понятно, что, например, слово «виагра» чаще встречается в спаме, чем в обычных письмах.

Фильтр спама на основе черного списка обладает недостатками — он часто выдает ложноположительные результаты.

Спам-фильтр на основе теоремы Байеса использует взвешенный и разумный подход: он работает с вероятностями. Когда мы анализируем слова в письме, мы можем рассчитать вероятность того, что письмо — это спам, а не принимать решения по типу «да/нет». Если вероятность того, что письмо содержит спам, равна 99%, то письмо и вправду является таковым.

Со временем фильтр тренируется на все большей выборке и обновляет вероятности. Так, продвинутые фильтры, созданные на основе теоремы Байеса, проверяют множество слов подряд и используют их в качестве данных.

Дополнительные источники:

© Geektimes