НОВЫЙ МЕАП

Причинный вывод: предсказание причины (причин) результата

Из книги Причинно-следственные связи в науке о данных Алекса Руиса де Вилья

Модели причинно-следственного вывода предсказывают, почему что-то произойдет, то есть причинно-следственные связи, а не сами результаты. Это полезно во многих случаях и является многообещающей областью машинного обучения и науки о данных.

Читайте дальше, чтобы узнать, как это работает и чему вы научитесь из этой книги.

Получите скидку 25 % на Causal Inference for Data Science, введя fccruizdevilla в поле кода скидки при оформлении заказа на сайте manning.com.

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

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

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

Как работает причинно-следственная связь

Продолжим наш пример с выяснением причин той или иной болезни. Представьте, что у вас есть набор данных с информацией о ваших пациентах (например, демографические данные, количество посещений больницы и т. д.) и о том, какое лечение они получали. Какие шаги необходимо предпринять, чтобы проанализировать причины болезни? Давайте воспользуемся этим примером, чтобы увидеть, как работает причинно-следственный вывод, за пять шагов, как показано на рисунке 1.

1. Определите тип данных

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

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

2. Понять свою проблему

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

3. Создать модель

В-третьих, теперь, когда у вас есть все соответствующие переменные, вы создаете причинно-следственную модель. Эта модель должна описывать, какие переменные вызывают какие другие, или, что то же самое, описывать, как были сгенерированы данные. Эта модель, как и в физике, технике или любой другой научной дисциплине, иногда хороша, а иногда не очень. Если модель слишком проста, она будет плохо объяснять реальность, в то время как сложные модели более склонны к ошибкам, связанным с человеческим фактором. Таким образом, существует компромисс между этими двумя проблемами при определении уровня сложности вашей модели. Способ решить, является ли модель достаточно точным приближением к реальности, заключается в том, окажется ли она полезной для нашей цели или нет, а это, в свою очередь, сильно зависит от того, чего вы хотите достичь. Например, представьте, что вы разрабатываете модель машинного обучения, которая используется в мобильном приложении для обнаружения объектов на любом снимке, сделанном вашей камерой. Поскольку вы используете его в личных целях, если модель время от времени выходит из строя, это, вероятно, не так уж плохо, и вы можете с этим смириться. Однако если вы используете модель машинного обучения в беспилотном автомобиле для обнаружения объектов на дороге, ошибка может обернуться аварией. В этом случае модель с точностью менее 99,99999% ненадежна и, следовательно, бесполезна.

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

4. Поделитесь своей моделью

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

5. Применяйте методы причинно-следственной связи

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

  1. Спросите себя, на что мы можем ответить с помощью имеющейся у нас информации? Укажите, на какие из ваших причинно-следственных вопросов можно ответить, используя вашу модель и ваши данные: иногда отсутствие информации о некоторых вмешивающихся факторах становится проблемой. Определите, в каких случаях его можно преодолеть, а для остальных проанализируйте альтернативы, такие как сбор новых данных или поиск суррогатных переменных.
  2. Посмотрите, подтверждаются ли ваши данные предположениями, которые вы сделали при создании своей модели? К счастью, как мы увидим, некоторые из этих предположений можно проверить с помощью ваших данных.
  3. Отличайте корреляцию от причинно-следственной связи, используя собственные данные, чтобы оценить причинно-следственные связи. Это делается с помощью определенного набора формул. Большая часть этой книги посвящена объяснению того, как, когда и зачем использовать эти формулы, как выбрать подходящие формулы для различных типов задач и как их эффективно применять с использованием статистических методов и методов машинного обучения.

Причинный вывод — это сочетание методологии и инструментов, которые помогают нам в нашем причинно-следственном анализе. Исторически она имеет три источника развития: статистика в здравоохранении и эпидемиологии, эконометрика и информатика. В настоящее время существуют две популярные формальные схемы для работы с причинно-следственными выводами. Каждый фреймворк использует разные обозначения и базовые концепции, но по своей сути они схожи. Оба дадут одинаковые результаты во многих задачах, но в некоторых случаях лучше использовать тот или иной. В одной структуре используется тип графов, называемый Направленные ациклические графы (DAG), разработанный и популяризированный главным образом Джуди Перлом (ученым-компьютерщиком, получившим премию Тьюринга в 2011 году за свой вклад в причинно-следственные связи). другие. Другой основан на Potential Outcomes (PO), который ближе к способу мышления, используемому в статистике, и был разработан и популяризирован, среди прочих, Дональдом Рубином, Джеймсом Робинсом (который использовал его в биостатистика и эпидемиология), Гвидо Имбенс и Джошуа Ангрист (которые применили его в эконометрике и получили Нобелевскую премию в 2021 году за свой вклад в причинно-следственные связи). В частях I и II этой книги мы будем использовать язык DAG (следуя работе Judea Pearl), а в части III мы будем работать с PO.

Путь к обучению

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

Затем книга проведет вас через процесс осуществления причинно-следственного вывода, который я описал ранее. Попутно вы познакомитесь со следующими понятиями:

  • Определите, когда вам нужны эксперименты, причинно-следственный вывод или машинное обучение.
  • Моделирование реальности с помощью причинно-следственных графов.
  • Чтобы более эффективно общаться с помощью графиков, чтобы объяснить ваши цели, ваши предположения, какие риски вы принимаете, что можно ответить на основе ваших данных, а что нельзя.
  • Чтобы определить, достаточно ли у вас переменных для анализа, а если нет, предложите, какие из них необходимы.
  • Для оценки причинно-следственных связей с использованием статистических методов и методов машинного обучения.

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

  • Вероятность
  • Основные формулы вероятности, такие как закон полной вероятности и условные вероятности
  • Основные распределения вероятностей, такие как гауссово или биномиальное
  • Как генерировать случайные числа с помощью компьютера
  • Статистика
  • Линейная и логистическая регрессия
  • Доверительные интервалы
  • Рекомендуется базовое знание A/B-тестирования или рандомизированных контролируемых испытаний (как выполняется групповое распределение и проверка гипотез).
  • Программирование
  • Базовые навыки программирования (чтение/запись базовых программ) как минимум на одном языке программирования. Некоторые примеры: Python, R или Julia.
  • Машинное обучение
  • Что такое перекрестная проверка и как ее вычислить
  • Рекомендуется опыт работы с моделями машинного обучения, такими как kNN, случайные леса, повышение или глубокое обучение.

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

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

Развитие интуиции и формальной методологии

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

Развитие интуиции

Причинный вывод — увлекательная область, поскольку она содержит одновременно очень интуитивные и очень неинтуитивные идеи. Мы все испытываем причинно-следственную связь в нашей жизни и регулярно думаем через призму причинно-следственных связей. Мы согласны, например, с тем, что когда идет дождь и пол становится мокрым, причиной мокрого пола является дождь. Это так просто. Однако, если вы попытаетесь выяснить, откуда мы на самом деле знаем, что между ними существует причинно-следственная связь, вы вскоре поймете, что она вовсе не тривиальна. Мы только видим, что одна вещь предшествует. Читая эту книгу, вы столкнетесь с понятиями, которые могут быть незнакомыми или даже неожиданными. Возможно, вам придется пересмотреть некоторые концепции, с которыми вы хорошо знакомы, такие как условные вероятности, линейные модели и даже модели машинного обучения, и взглянуть на них с другой точки зрения. Я представляю эти новые точки зрения через интуитивные примеры и идеи. Однако работа на интуитивном уровне может быть сопряжена с некоторым формализмом. Не поймите меня неправильно, определения, теоремы и формулы должны быть на 100% точными, а их неформальность не может служить оправданием их неправильности. Но в духе «все модели ошибочны, но некоторые из них полезны» (как однажды сказал Джордж Э. П. Бокс), в этой книге я отдаю предпочтение объяснению полезных идей формальным, обычно с помощью метафор и упрощений.

Как вы, наверное, знаете, и это было доказано математически, невозможно составить 2D-карту мира с сохранением точных расстояний. (Расстояние между любыми двумя точками на земле пропорционально расстоянию между этими двумя спроецированными точками на карте). Когда вы очищаете апельсин, вы не можете сделать его плоским, не сломав какую-то его часть. На плоской карте мира всегда будут города, расстояние до которых на карте не точно отражает их расстояние в мире. Тем не менее, карта все еще полезна. Точно так же вы можете найти некоторую степень неформальности, когда в этой книге обсуждаются различия между каузальным выводом, машинным обучением и статистикой. Например, я скажу, что причинно-следственный вывод предназначен для поиска причин, а машинное обучение — для прогнозирования. Это не следует понимать как абсолютное утверждение, а скорее как обобщение, которое может быть полезным для вас, когда вы определяете, с какой проблемой вы имеете дело и какие инструменты вам нужно будет применить. По мере того, как вы лучше узнаете причинно-следственный вывод, вы обнаружите, что, как и в любой другой области человеческого знания, между предметами и подходами существует совпадение, а границы между ними довольно размыты. Если вы хотите погрузиться в формальные основы каузального вывода, я настоятельно рекомендую вам прочитать книгу Перла «Причинность».

Эта книга в значительной степени опирается на примеры, чтобы не только объяснить причинно-следственные связи, но и показать, как их применять. Существует компромисс, связанный с уровнем детализации, требуемым для их описания. Чем выше детализация, тем реалистичнее пример. Однако слишком большое количество деталей помешает вам «увидеть лес за деревьями», что приведет к обратным результатам. Обычно я стараюсь делать их простыми для учебных целей. Результирующее преимущество заключается в том, что они более гибкие, чтобы их можно было позже адаптировать к вашим собственным проблемам. Их роль должна быть источником вдохновения, с которого можно начать. Как только вы получите практические знания об основных элементах (лечение, то, что действует как результат, какие потенциальные помехи и т. д.), вы сможете добавить детали, характерные для любой имеющейся у вас проблемы.

Применение методологии

В дополнение к упражнениям я также полагаюсь на повторение, чтобы помочь вам интегрировать методы каузального вывода в свой набор инструментов. Вы увидите, как рассчитать причинно-следственные связи с помощью бинарных переменных, линейных моделей, множества различных алгоритмов, сочетающих модели машинного обучения, и многое другое. Сначала каждая глава может показаться разной, но в какой-то момент вы можете начать чувствовать, что мы всегда делаем одно и то же, но с разных точек зрения. Это хорошо, потому что это означает, что вы поняли суть!

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

Если вы хотите узнать больше о книге, посмотрите ее здесь.