Причинный вывод
Вмешательства
Это девятая публикация из серии, в которой мы прорабатываем Причинный вывод в статистике - хороший учебник, соавтором которого является сам Judea Pearl.
Вы можете найти предыдущий пост здесь и весь соответствующий код Python в сопутствующем репозитории GitHub:
Хотя я сделаю все возможное, чтобы представить содержание ясным и доступным образом, я настоятельно рекомендую вам получить книгу самостоятельно и следить за ней. Итак, без лишних слов, приступим!
3.1 - Вмешательства
Одна из фундаментальных целей причинно-следственного анализа - не только точно понять, что вызывает конкретный эффект, но и иметь возможность вмешиваться в процесс и контролировать результат, а также иметь возможность отвечать на вопросы. формы:
- Помогает ли лекарство X вылечить болезнь?
- Что будет, если мы изменим цвет нижней части Y?
- Могу ли я увеличить свои продажи, изменив цену своего виджета на Z?
Золотым стандартом для изучения эффекта вмешательств является рандомизированное контрольное испытание, используемое в медицинских приложениях (также известное как A / B-тест в онлайн-приложениях), где мы:
- Произвольно разделите население на две группы.
- Применяйте вмешательство к одному, а не к другому
- Анализируйте различия
К сожалению, не всегда возможно провести рандомизированный эксперимент такого рода из-за этических, экономических или временных ограничений, поэтому нам нужно понимать, когда можно получить такой же результат, используя только чисто наблюдательные данные.
В этой главе Перл проведет нас через мыслительный процесс, необходимый для выполнения этого анализа, используя инструменты и концепции, разработанные в главах 1 и 2.
Первый шаг - понять разницу между вмешательством в переменную и обусловливанием этой переменной. В книге это объясняется так:
Когда мы вмешиваемся в переменную в модели, мы фиксируем ее значение. Мы меняем систему, и в результате часто меняются значения других переменных. Когда мы устанавливаем условие для переменной, это ничего не меняет; мы просто сужаем наш фокус до подмножества случаев, в которых переменная принимает интересующее нас значение.
Рассмотрим простой пример:
Допустим, Z - это скорость, на которой я еду, X - скорость, зарегистрированная спидометром моей машины, а Y - это то, получу ли я штраф за превышение скорости. Когда я за рулем, все, что я вижу, - это значения X и Y (меня останавливают или нет), поэтому, если бы я собирал большой объем данных на разных скоростях, а не на одной и той же дороге, я бы заметил, что выше при определенном значении X я бы получил билет, а ниже этого значения я бы не стал.
Теперь предположим, что я «вмешиваюсь» в систему, ломая свой спидометр, чтобы он выдавал мне случайное число. Теперь ситуация может выглядеть так:
Из этого DAG мы видим, что на значение X больше не влияет фактическая скорость, на которой я езжу, поэтому мы фактически отсекли входящий фронт до X и коренным образом изменили систему. В этих обстоятельствах, если бы я перекомпилировал свой набор данных, я бы не заметил никакой закономерности между скоростью, измеренной X, и штрафами за превышение скорости (естественно, в любом из этих сценариев я бы потерял свою лицензию задолго до того, как собрал достаточно данных).
Я думаю, что этот пример проясняет, чем отличаются вмешательства от простого обусловливания значения данной переменной. Вмешавшись в переменную:
- Все его потомки продолжают нормально работать (я по-прежнему езжу по той же дороге)
- Сама переменная больше не отвечает своим родителям.
- Родители вмешавшейся переменной продолжают нормально функционировать.
Мы можем приравнять вмешательство в систему с выполнением операции над исходным графом для удаления всех входящих ребер с сохранением всех исходящих ребер:
Математически распределение Y, когда мы вмешиваемся в X, представлено как:
чтобы отличить его от более обычного P (Y | X).
Теперь мы можем легко увидеть, что ключ к возможности использовать исходные данные - это связать количества, наблюдаемые в новом DAG, с величинами в исходном DAG. Из рисунка выше мы видим, что P (Z) и P (Y | X, Z) не изменились в результате нашего вмешательства на X поэтому мы можем использовать значения, вычисленные из исходного набора данных. Однако что изменилось, так это допустимые значения X, заставившие нас использовать Pm (X) вместо P (X | Z) (где нижний индекс m предназначен для подчеркнем, что распределение вычисляется на модифицированном графике).
Стоит подчеркнуть, что в этом анализе мы делаем предположение, что вмешательство не имеет побочных эффектов, а это означает, что, когда мы меняем значение X, мы не изменяем непреднамеренно значение какой-либо другой переменной как хорошо. Это просто повторение нашего обычного предположения, что DAG отражает все представляющие интерес причинно-следственные связи, но о нем стоит напомнить себе, поскольку физический процесс вмешательства в систему может это изменить. Простой иллюстративный пример: принуждение здорового человека к приему лекарства может привести к другим результатам, чем ожидалось.
Мы также отмечаем, что за явно безобидным оператором do (), описанным выше, известным как do-исчисление, скрывается целая теоретическая конструкция, которую в книге мы затронем лишь вкратце. но я бы посоветовал вам погрузиться в это, поскольку это, пожалуй, самый мощный инструмент в наборе причинно-следственных выводов.
Этот пост - первая ступенька вверх по лестнице причинно-следственной связи, описанной в книге. Поздравляю с тем, что вы дошли до этого места, и я надеюсь, что вы по-прежнему будете находить эти сообщения полезными и интересными.
Уже доступен следующий пост из серии:
Причинный вывод - Часть X - Формула корректировки
Это десятый пост из серии, которую мы прорабатываем через хороший учебник« Причинный вывод в статистике , в соавторстве которого… medium.com »
Напоминаем, что вы можете найти код для всех приведенных выше примеров в нашем репозитории GitHub:
А если вы хотите получить уведомление, когда выйдет следующий пост, вы можете подписаться на информационный бюллетень The Sunday Briefing: