Sunday, December 28, 2014

Решение задач на условные вероятности, понятное школьнику

Решение задач на условные вероятности, понятное школьнику


Задача, повсюду встречающаяся (в быту, при принятии решений, в оценках, суждениях), и в которой люди делают стандартную ошибку (биас); это тот случай где интуиция нас подводит. Проблему поднял и описал Д. Кахнеман (Нобелевская премия в экономике 2002 совместно со В.Смитом) в 1973 году в совместной работе с А. Тверским.

Предлагаю решать её моим "древесно-программистским" способом, описанным здесь, менее подверженным ошибкам чем подстановкой в "каноническую" формулу Баеса приоров, постериоров, ожиданий или нормализационных членов (скорее всего неизвестным тем, кто не учил статистику в университете).
"Древесный" же способ/формализм интуитивен (особенно программистам), не зависит от порядка ветвения, что будет продемонстрировано ниже, решая задачу 3-мя способами, и даже не различая между 2-мя семантически разными задачами, кажущимися нам различными, показанными Кахнеманом.

Итак, сама задача. Используем оригинальные условия, применённые Кахнеманом, хотя такси можно заменить на людей, цвета - на пол, доход, социальное положение или национальность, ну вы поняли.

85% такси в городе принадлежит одной компании, (назовём её Зелёные), и 15% - другой (Синие).
Произошла авария, нарушитель скрылся.
Свидетель утверждает, что видел такси Синих.
Суд определил надёжность оценки при освещённости и условиях той ночи, она составляет 80%, т.е. 20% людей по статистике в подобных условиях ошибаются.
Какова вероятность что нарушитель был из компании Синих?

(Наиболее частый ответ, даже включая людей, учивших статистику - 80%. Ответ неправильный).

Рисуем дерево со всеми комбинациями (чисто комбинаторно: все сочетания, как все "if-else" в программировании), на конечных веточках впишем то, что видят свидетели:
               

                           |----80%----> Green
        |----85%----> Green|
        |                  |-----20%---> Blue
        |
------|
        |
        |                  |----80%---> Blue
        |----15%---> Blue  |
                           |----20%---> Green

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

Отметим две веточки справа с "Blue", отметая другие возможности. Мы "обрезаем" дерево и оставляем только то что известно. Свидетель же не говорил, что такси Зелёное. Можно для наглядности вычеркнуть пербую и ветвёртую вертикальные веточки, оставив две средние.
Это, кстати, наш Sample space, [S]={20%---> Blue, 80%---> Blue}.
Но не будем об этом, и не будем говорить о нормировке, которой запутывали нас на статистике!
Теперь мы работаем с этим подмножеством возможностей, состоящим из 2х веточек.

Обрезание дерева (можно зачеркивать):

                           |--
        |----85%----> Green|
        |                  |-----20%---> Blue
        |
------|
        |
        |                  |----80%---> Blue
        |----15%---> Blue  |
                           |--

Заметим, что все проценты у нас были расписаны, т.е. когда мы стирали ветки - мы не теряли информацию (80 и 20 дают 100). В других задачах, возможно, при стирании числа нужно было переписать его дополнение (до 100%) на все соседние ветви (в нашем случае - одна единственная соседняя ветка).

На этом этапе также можно написать суммарный процент доли веточек, пройдя от корня дерева по всем путям и умножив проценты по всему пути, но мы это сделаем в конце.

Итак, последнее, что нас спрашивают?
"Какова вероятность что нарушитель был из компании Синих".

Это нижняя ветвь. Возьмём долю всех веточек находящихся на этой подветви {15%---> Blue --- 80%--> Blue}, т.е. единственный случай, ко всему Sample space, оговорённому выше
{85%----> Green---20%---> Blue, 15%---> Blue --- 80%--> Blue}:

<Ответ задачи> = {15%*80%}/{85%*20% + 15%*80%}=0.15*0.8/(0.85*0.2+0.15*0.8)=0.41379310344 = ~ 41%


Можно было сразу вписать в дерево 0.85*0.20=0.17, и 0.15*0.80=0.12:
                           |--
        |----85%----> Green|
        |                  |-----20%---> Blue  (0.17)
        |
------|
        |
        |                  |----80%---> Blue (0.12)
        |----15%---> Blue  |
                           |--

<Ответ задачи> = 0.12/(0.17+0.12)= ~ 41%

Другой вариант решения приводит к тому же результату. Но в этом разбиении нужно помнить, что цвета справа - это реальные цвета, а не то что сказал свидетель. В скобках запишем цвета, указанные свидетелем.

                            |----85%----> actually Green (he said Green)
        |----80%----> Right |
        |                   |-----15%---> actually Blue (he said Blue)
        |
------|
        |
        |                   |----85%---> actually Green (he said  Blue)
        |----20%---> Wrong  |
                            |----15%--->  actually Blue (he said Green)



...

                            |--
        |----80%----> Right |
        |                   |-----15%---> actually Blue (he said Blue) (0.12)
        |
------|
        |
        |                   |----85%---> actually Green (he said  Blue) (0.17)
        |----20%---> Wrong  |
                            |--

<Ответ задачи> = 0.12/(0.17+0.12)= ~ 41%


Более краткий "стринговый" метод для решения:
prior (any!)
G85
B15
расписываем событие, добавляя в стринг в конец:
G85-G80
G85-B20
B15-B80
B15-G20
считаем веса (здесь считаем для всех, хотя можно сэкономить и считать после следующего обрезания ветвей, или ненужных стрингов):
G85-G80 0.68
G85-B20 0.17
B15-B80 0.12
B15-G20 0.03

убирание невозможных ситуаций (оставляем только стринги кончающиеся на B, согласно свидетельству):
G85-B20 0.17
B15-B80 0.12

нас интересует вероятность только реально (слева) B (по отношению ко всем сочетаниям из возможных):
<Ответ задачи> = 0.12/(0.17+0.12)= ~ 41%


Напоследок приведём задачу с тем же результатом, но сформулированную по-другому. Кахнеман в своей книге ("Thinking fast and slow") обращает внимание, что люди обычно не ошибаются при такой формулировке:

Две компании имеют одинаковое количество машин.
85% аварий случается у компании Зеленых.
Свидетель утверждает что наезд был машиной компании Синих.
Известно, что 80% свидетелей ошибаются в подобных ситуациях.
Какова вероятность что машина компании Синих?

Расписав деревья, можно показать, что ответ не зависит от порядка записи (как выше) и деревья будут такими же как и для первой задачи.
Правильный ответ тот же: 0.12/(0.12+0.19) = 0.41379310344 = ~ 41%

Надеюсь, этот метод кому-то поможет. Его можно преподавать даже школьникам.


Литература:
D. Kahneman "Thinking, fast and slow"
A. Tversky, D. Kahneman, "Evidential impact of base rates, in Judgement under uncertainty: Heuristics and biases"
Kahneman, D. & Tversky, A. - несколько работ (см. список литературы http://en.wikipedia.org/wiki/Daniel_Kahneman), не будем перечислять их здесь