Думай «почему?». Причина и следствие как ключ к мышлению — страница 24 из 82

Эти три связки — цепи, вилки и коллайдеры — подобны замочным скважинам в двери, разделяющей первый и второй уровни Лестницы Причинности. Заглянув в них, мы можем увидеть секреты причинного процесса, который породил наблюдаемые нами данные. Каждая символизирует определенный принцип причинно-следственной связи и оставляет след в виде зависимости и независимости данных друг от друга при определенных условиях. В публичных лекциях я часто называю их дарами богов, поскольку они позволяют тестировать причинно-следственную модель, открывать новые модели, оценивать эффекты интервенции и многое другое. Тем не менее, взятые в отдельности, они позволяют лишь мельком взглянуть на ситуацию. Нам нужен ключ, который полностью откроет дверь и позволит выйти на второй уровень. Этот ключ, о котором мы узнаем из главы 7, включает все три связки и называется d-разделением. Его концепция позволяет нам увидеть, какого рода зависимости можно ожидать в данных при разных шаблонах и путях в модели причинно-следственных связей. Такая фундаментальная связь между причинами и вероятностями составляет основной вклад байесовских сетей в науку о причинном выводе.

Где мой чемодан? От Ахена до Занзибара

Пока я сделал акцент только на одном аспекте байесовских сетей, а именно на диаграмме и стрелках, которые в идеале ведут от причины к следствию. В самом деле, эта диаграмма — двигатель байесовской сети. Но для любого двигателя требуется топливо. В данном случае это таблица условных вероятностей.

По-другому это можно выразить так: диаграмма описывает отношение вероятностей в качественном виде, но если нужны количественные ответы, то необходимы и количественные вводные. В байесовской сети нужно определить условную вероятность каждого узла с учетом его «родителей» (вспомним, что «родительские узлы» ведут к «дочерним»). Это прямые вероятности, P (подтверждение | гипотеза).

В случае когда А — корневой узел и на него не указывают стрелки, надо просто определить априорную вероятность для каждого состояния А. В нашей второй сети болезнь (D) → обследование (T) D — корневой узел. Таким образом, мы определили априорную вероятность того, что пациентка больна (1/700 в нашем примере), и того, что она не больна (699/700 в нашем примере).

Описывая A как корневой узел, мы на самом деле не подразумеваем, что у A нет предшествующих причин. Вряд ли какая-то переменная имеет право на такой статус. На самом деле мы имеем в виду, что любые предыдущие причины A могут быть адекватно обобщены в априорной вероятности P (A) того, что A верно. Так, в случае с болезнью и обследованием семейный анамнез может быть причиной заболевания. Но до тех пор, пока мы уверены, что семейный анамнез не повлияет на переменную обследование (как только мы узнаем статус болезни), нет необходимости представлять ее как узел на графике. Однако, если существует причина заболевания, которая также напрямую влияет на обследование, то эта причина должна быть явно представлена на диаграмме.

В случае если у A есть родитель, она должна «послушать» его, прежде чем определиться с собственным состоянием. В примере с маммографией родителем обследования (T) была болезнь (D). Мы можем показать этот процесс «слушания» в таблице 2 × 2 (табл. 2). Скажем, если T «слышит», что D = 0, то в 88 % случаев T будет равно 0 (T=0), в 12 % — 1 (T = 1). Обратите внимание на то, что во второй части таблицы содержится та же информация, которую предоставил Консорциум по надзору за раком груди: доля ложноположительных результатов (правый верхний угол) — 12 %, а чувствительность — 73 %. Значения в двух оставшихся клетках дополняют сумму до 100 %.


Таблица 2. Простая таблица условной вероятности


По мере того как мы переходим к более сложным сетям, таблица условной вероятности тоже становится сложнее. Скажем, если у нас есть узел с двумя родителями, в таблице условной вероятности необходимо учитывать четыре возможных состояния обоих родителей. Давайте разберем конкретный пример, который предложили Стефан Конради и Лайонел Джофф из BayesiaLab, Inc. Это сценарий, знакомый всем путешественникам. Мы назовем его «Где мой чемодан?».

Предположим, вы только что приземлились в Занзибаре, сделав очень быструю пересадку в Ахене, и ждете, пока ваш чемодан появится на багажной карусели. Другие пассажиры уже получают багаж, но вы все ждете… ждете… и ждете… Каковы шансы на то, что ваш чемодан действительно сделал пересадку в Ахене на рейс до Занзибара? Ответ зависит, конечно, от того, сколько вы уже ждете. Если сумки только появились на ленте, возможно, стоит потерпеть и подождать еще. Но если прошло много времени, перспективы ухудшаются. Мы выразим повод для переживаний количественно, сделав диаграмму причинности (рис. 16).


Рис. 16. Диаграмма причинности для примера с чемоданом в аэропорту


Эта диаграмма иллюстрирует интуитивную идею о том, что у появления чемодана на ленте багажной карусели есть две причины. Для начала он должен находиться в самолете — в противном случае он точно не появится на ленте. Во-вторых, присутствие чемодана на ленте становится менее вероятным с течением времени, если он вообще был на борту…

Чтобы превратить диаграмму причинности в байесовскую сеть, надо определиться с таблицами условной вероятности. Скажем, все чемоданы в аэропорту Занзибара разгружаются в течение 10 минут. (В Занзибаре все очень эффективны!) Предположим также, что вероятность успешной пересадки вашего чемодана P (чемодан в самолете = верно) равна 50 %. (Прошу прощения, если это заденет кого-то из сотрудников ахенского аэропорта. Я всего лишь использую пример Конради и Джоффа. Сам я предположил бы более высокую вероятность — 95 %).

Настоящая рабочая лошадка этой байесовской сети — таблица условной вероятности для чемодана на ленте багажной карусели (табл. 3).

Хотя это довольно большая таблица, понять ее должно быть легко. Первые 11 строк говорят о том, что если чемодан не попал в самолет (чемодан в самолете = неверно), то, сколько бы ни прошло времени, он не окажется на ленте багажной карусели (лента = неверно), т. е. P (лента = неверно | чемодан в самолете = неверно) равна 100 %. Это объясняет 100 в первых 11 строках.

Другие 11 рядов говорят, что чемоданы выгружаются с самолета с устойчивой скоростью. Если ваш чемодан правда в самолете, есть 10 %-ная вероятность, что его выгрузят в первую минуту, 10 %-ная вероятность для второй минуты и т. д. Так, через 5 минут вероятность, что его выгрузили, будет равна 50 %, поэтому мы видим 50 P (лента = верно | чемодан в самолете = верно, время = 5). Через 10 минут все чемоданы выгружены, так что P (лента = верно | чемодан в самолете = верно, время = 10) равна 100 %. Таким образом, в последней клетке таблицы 100.

Самое интересное, что можно сделать с этой байесовской сетью, как и с большинством байесовских сетей, — решить проблему обратной вероятности. Если прошло x минут и я до сих пор не получил чемодан, какова вероятность того, что он на самолете? Правило Байеса автоматизирует это вычисление и показывает интересный момент. Через минуту эта вероятность еще равно 47 % (вспомним, что нашим изначальным предположением была вероятность 50 %). Через 5 минут вероятность снижается до 33 %. Через 10 минут, конечно же, она падает до нуля. Рис. 17 показывает, как вероятность распределяется во времени, и это можно назвать «кривой расставания с надеждой». Мне интересно, что это правда кривая: думаю, большинство людей ожидают увидеть здесь прямую линию. Вообще, отсюда следует довольно оптимистичный вывод: не отчаивайтесь слишком рано! Кривая показывает, что, когда проходит половина отведенного времени, стоит расстаться всего лишь с третью надежды.


Таблица 3. Более сложная таблица условной вероятности



Рис. 17. Вероятность увидеть свой чемодан на ленте сначала снижается медленно, а потом быстрее (источник: график Маян Харел, информация Стефана Конради и Лайонела Джоффа)


Мы не только получили практический совет, но и поняли, что не стоит делать такие вещи в уме. Даже в крошечной сети с тремя узлами оказалось 2 ∙ 11 = 22 родительских состояния, каждое из которых влияло на состояние потомка. Конечно, для компьютера эти вычисления элементарны, но… до определенного момента. Если делать их в организованной форме, сам объем вычислений может оказаться слишком большой нагрузкой даже для самого быстрого суперкомпьютера. Если у узла десять родителей, у каждого из которого два состояния, в таблице условной вероятности будет больше тысячи рядов. А если у каждого из 10 родителей 10 состояний, то в таблице будет 10 миллиардов рядов! По этой причине необходимо отсеять связи в сети, чтобы остались только самые важные и чтобы сеть была разреженной. Одним из технических достижений в развитии байесовских сетей стало выявление способов, которые позволяют использовать эту разреженность для сокращения времени вычислений.

Байесовские сети в реальной жизни

Сейчас байесовские сети — зрелая технология и готовое программное обеспечение для них можно купить у нескольких компаний. Байесовские сети также встроены во многие «умные» устройства. Чтобы дать вам представление о том, как они используются на практике, давайте вернемся к программе Bonaparte для сравнения ДНК, с которой мы начали эту главу.

В Нидерландском институте судебной экспертизы эту программу используют каждый день, в основном расследуя дела о пропавших без вести, уголовные преступления и иммиграционные вопросы (желающие переехать в Нидерланды в статусе беженца должны доказать, что у них есть 15 родственников, живущих в стране). Однако байесовские сети продемонстрировали самый впечатляющий результат после катастрофы, такой как крушение рейса MH17 «Малайзия эйрлайнс».