Тестирование не является событием. У нас есть тест на рак, который отделен от случая фактического наличия рака. Есть тест на спам, отдельно от случая фактического наличия спам-сообщения.

Тесты несовершенны. Тесты обнаруживают вещи, которые не существуют (ложноположительный результат), а вещи, которые существуют, отсутствуют (ложно-отрицательный результат). Люди часто используют результаты тестов, не исправляя ошибки теста.

Ложноположительные срабатывания искажают результаты. Предположим, мы ищем что-то действительно редкое (1 на миллион). Также при хорошем тесте, скорее всего, положительный результат действительно является ложным срабатыванием на кого-то в 999.999.

Люди предпочитают натуральные числа. Говорить “100 из 10 000” вместо “1%” помогает людям работать над числами с меньшим количеством ошибок, особенно с множественными процентами (“Из этих 100, 80 получится положительным”, а не “80% от 1% – положительным”).

Также наука является тестом. С философской точки зрения научные эксперименты являются “потенциально несовершенными тестами”, и к ним следует относиться соответствующим образом. Есть тест на химическое вещество, или явление, и есть событие самого явления. Существует вероятность ошибок, которые необходимо учитывать в наших тестах и измерительном оборудовании.

Теорема Байеса преобразует результаты ваших тестов в истинную вероятность события. Например, это возможно:

Исправить ошибки измерения. При условии, что вы знаете реальные вероятности и вероятность ложного срабатывания, а также ложного срабатывания, вы можете исправить ошибки измерения.

Относительно реальной вероятности к вероятности измеренного теста. Учитывая результаты теста на маммограмме и известную степень погрешности, можно предсказать реальную вероятность того, что рак дал положительный результат теста. Технически говоря, Вы можете найти Pr(H|E), вероятность того, что гипотеза H верна, учитывая тест E, начиная с Pr(E|H), вероятность того, что тест появится, когда гипотеза верна.

Анатомия теста

В данной статье описывается сценарий тестирования на рак:

bayes table

У 1% из них рак молочной железы (и, следовательно, у 99% нет).

80% маммограмм обнаруживают рак молочной железы, когда он присутствует (и, следовательно, 20% его пропускают).

9,6% маммограмм выявляют рак молочной железы, когда его нет (и поэтому 90,4% правильно возвращают отрицательный результат).

Поставьте в таблицу, шансы выглядят следующим образом:

Как же нам это прочитать?

У 1% людей рак

Если у тебя уже есть рак, ты в первой колонке. Вероятность 80%, что тест положительный. Есть 20% вероятность, что тест отрицательный.

Если у тебя нет рака, ты во второй колонке. Есть 9,6% шанс, что тест положительный, и 90,4%, что тест отрицательный.

Насколько точным является тест?

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

Вот что я думаю:

Хорошо, мы получили положительный результат. Это значит, что мы где-то в первом ряду стола. Давайте не будем ничего предполагать – это может быть истинное положительное или ложное срабатывание.

Шансы на истинное положительное = вероятность заболевания раком * тест на вероятность взял его = 1% * 80% = .008

Шансы на ложноположительный результат = шанс не заболеть раком * вероятностный тест все равно его прошел = 99% * 9.6% = 0.09504

Стол такой:

bayes table computed

И какой был вопрос? О да: каковы шансы, что у нас действительно будет рак, если мы получим положительный результат. Вероятность события – это количество способов, которыми оно может произойти, учитывая все возможные результаты:

\displaystyle{ \text{Probability} = \frac{\text{desired event}}{\text{all possibilities}} }

Возможность получения реального и положительного результата – 0,008. Шанс получения любого положительного результата – это шанс истинного положительного плюс шанс ложного положительного (.008 + 0.09504 = .10304).

Таким образом, наша вероятность развития рака составляет .008/.10304 = 0.0776, или около 7.8%.

Интересно – положительный результат маммограммы означает только то, что у вас есть 7,8% вероятность развития рака, а не 80% (предполагаемая точность теста). Поначалу это может показаться странным, но в этом есть смысл: тест дает ложноположительный результат в 9.6% случаев (достаточно высокий), поэтому в данной популяции будет много ложноположительных результатов. Из-за редкого заболевания большинство положительных результатов теста будут неверными.

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

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

Мы можем превратить процесс, описанный выше, в уравнение, которое является теорией Байеса. Оно позволяет нам взять результаты тестирования и исправить “асимметрию”, введенную ложными срабатываниями. У вас есть реальная возможность получить событие. Вот уравнение:

а вот ключ дешифровки, чтобы прочитать его:

bayes theorem colorized equation

Pr(H|E) = Шанс заболеть раком (H) положительный тест (E). Это то, что мы хотим знать: Насколько вероятен рак с положительным результатом? В нашем случае это было 7,8%.

Pr(E|H) = Шанс положительного результата теста (E), так как у вас был рак (H). Это вероятность истинно положительного результата, в нашем случае 80%.

Pr(H) = Шанс иметь рак (1%).

Pr(не H) = Шанс не болеть раком (99%).

Pr(E|not H) = Шанс положительного результата теста (E), так как у вас не было рака (не H). Это ложноположительный результат, в нашем случае 9,6%.

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

\displaystyle{\Pr(\mathrm{H}|\mathrm{E}) = \frac{\Pr(\mathrm{E}|\mathrm{H})\Pr(\mathrm{H})}{\Pr(\mathrm{E})}}

Pr(E) говорит нам о возможности получения положительного результата, либо истинно положительного в популяции опухоли (1%), либо ложноположительного в популяции без опухоли (99%). Действует как взвешивающий фактор, корректируя вероятности в сторону наиболее вероятного результата.

Забывание считать ложноположительные результаты – вот что делает низкую вероятность развития рака в 7,8% (при положительном результате теста) контринтуитивно понятной. Спасибо, нормализующая константа, за то, что поставили нас на правильный путь!

Интуитивное понимание: Освещать Свет

В нем упоминается интуитивное понимание того, как пролить свет через ваше реальное население и получить пробную популяцию. Аналогия имеет смысл, но для этого требуется несколько тысяч слов :).

Подумайте о реальном населении. Вы делаете некоторые тесты, которые “проливают свет” через эту реальную популяцию, и создаете некоторые результаты тестов. Если свет абсолютно точный, то вероятности теста и реальные вероятности совпадают. Каждый, кто тестирует положительный результат, на самом деле является “положительным”. Каждый, кто делает отрицательный тест, на самом деле является “отрицательным”.

Но это реальный мир. Тесты – это плохо. Иногда люди с раком не приходят на тесты, и наоборот.

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

Байесовская фильтрация спама

Интеллектуальное применение Байес Теорема – фильтрация спама. У нас есть

Событие А: Сообщение – спам.

Тест X: Сообщение содержит некоторые слова (X).

Вставлено в более читабельную формулу (из Википедии):

\displaystyle{\Pr(\mathrm{spam}|\mathrm{words}) = \frac{\Pr(\mathrm{words}|\mathrm{spam})\Pr(\mathrm{spam})}{\Pr(\mathrm{words})}}

Байесовская фильтрация позволяет предсказать возможность того, что сообщение действительно является спамом, учитывая “результаты тестирования” (наличие некоторых слов). Конечно, такие слова, как “виагра”, чаще встречаются в спам-сообщениях, чем обычные.

Фильтрация спама по чёрному списку несовершенна – слишком ограничительна, а ложных срабатываний слишком много. Но Байесовская фильтрация предлагает нам золотую середину – мы используем вероятности. Анализируя слова сообщения, мы можем вычислить вероятность того, что это спам (а не принятие решения “да/нет”). Вероятность того, что сообщение является спамом, составляет 99.9%. По мере обучения фильтра все большему количеству сообщений, обновляйте шансы определенных слов, приводящих к возникновению спамовых сообщений. Расширенные байесовские фильтры могут проверять несколько слов в строке, как и другую точку данных.