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

Вывод о причинно-следственных связях возник в результате исследований, начатых более 100 лет назад, но интенсивно развивался в течение последних 20–30 лет. Предыдущие статьи этой серии знакомили с проблемой установления причинно-следственной связи, обсуждали do-calculus, элементарные соединения причинно-следственных сетей и статистические инструменты для анализа данных. Проанализируем теперь численные примеры элементарных узлов причинных сетей. Мы увидим, что для цепи и вилки множественная регрессия возвращает правильные причинно-следственные связи только тогда, когда на систему действует внешний шум. Внешний шум — это то, что большинство практиков причинно-следственного вывода принимает за стандарт, но во многих вводных текстах это не указывается явно.

Анализ этих примеров задач прояснит разницу между алгебраическими соотношениями, возникающими в результате линейной регрессии, и лежащими в их основе причинно-следственными уравнениями, а также некоторые ограничения попарной и множественной линейной регрессии.Линейная регрессия оптимизирует прогнозирование назначенная реакция/зависимая переменная, а не причинно-следственная модель.Чтобы подчеркнуть разницу, я буду использовать символ «:=» для обозначения причинно-следственной связи и «=» для обозначения алгебраической связи. Таким образом, Y := 0,5 B говорит, что Y вызвано B и составляет половину значения B. B = 2 Y является алгебраически эквивалентным утверждением, но ничего не указывает на причинно-следственную связь между B и Y. Я буду ссылаться на уравнения содержащие символ := в качестве причинных уравнений, хотя их чаще называют структурными уравнениями. В следующей статье мы рассмотрим соединения вилки и коллайдера и сравним их с соединением цепи. Здесь мы начнем с рассмотрения цепочки и роли внешнего шума в обеспечении причинно-следственной связи.

Связь цепи.

Проблема различения того, что вызывает то, что иллюстрируется этой простой системой: X → B → Y, т. е. X вызывает B, вызывает Y. Данные такой сети показаны на рис. 1. В условиях эксперимента или эпидемиологического анализа у нас есть некоторое представление об объяснительной/независимой переменной или наборе переменных, обычно обозначаемых X (например, воздействие токсина или лекарства). Нас также интересует некоторая переменная Y, которая, как считается, зависит от X, называемая откликом или зависимой переменной, например. число смертей на тысячу или число вылеченных больных на тысячу. Мы также можем знать некоторых потенциальных искажающих факторов. Таким образом, существует предполагаемая связь между X и Y, но давайте отложим это на одну минуту и ​​изучим данные на рис. 1 как будто слеп к этому.

Регрессионный анализ всех переменных на рис. 1 обобщен в Таблице 1 ниже и показывает, почему делать выводы о причинно-следственной связи на основе данных наблюдений сложно и спорно. В нижней строке таблицы 1 мы видим связь между B и Y, т. е. Y = 0,5 B + 0; мы знаем, что это правильно, так как это то же самое, что и причинно-следственное уравнение, которое мы использовали для получения данных, описанное на рис. 1. В последней строке Таблицы 1 Y = 0,25 X + 0,5, что алгебраически является комбинацией двух причинных уравнений, но не отражает причинно-следственной связи. В предпоследней строке мы видим B = 2 Y + 0, что алгебраически то же самое, что Y = 0,5 B + 0, но не выражает правильную причинно-следственную связь. Данные наблюдений не различают направление причинно-следственной связи. Мы увидим, что это верно как для множественной регрессии, так и для парной регрессии. Чтобы получить причинно-следственную связь из данных, нам нужно либо какое-то предварительное предположение о данных, либо нам нужны данные интервенционного эксперимента.

Последнее утверждение о важности предшествующей интуиции напоминает споры о частоте и байесовском подходе, которые бурлили в течение нескольких десятилетий. Если вы не знакомы с этими аргументами, не беспокойтесь, но Джуда Перл, соавтор «Книги почему», был крупным игроком в разработке байесовских сетей. Байесовские статистики дополняют разрозненные наборы данных своими личными представлениями о мире. Frequentists просто анализируют данные, не включая предварительное ожидание. Байесовская статистика/сети оказались более мощными, чем одна только простая частотная статистика, в случае разреженных данных, и работа Перла над причинно-следственными диаграммами (наряду с другими), кажется, расширяет эту линию мышления в области причинно-следственных связей.

Возвращаясь к этому в сторону, мы знаем, поскольку мы определили причинно-следственные связи, которые сгенерировали данные, что B является промежуточным звеном между X и Y, но данные не могут этого показать. То есть не только данные не могут показать направление причинно-следственной связи, простая линейная регрессия не может различить прямые и косвенные причинно-следственные связи. Что произойдет, если мы подберем все данные сразу, а не попарно? Выявляет ли множественная линейная регрессия правильные причинно-следственные связи?

Множественная линейная регрессия нам здесь не поможет. Все переменные, X, Y и B, коррелируют друг с другом. Они коллинеарны, поэтому единственного решения нет. Любая линейная комбинация двух уравнений, сгенерировавших данные,B := 1 + 0,5 X и Y := 0,5 B, должна дать уравнение, соответствующее данным. Например:

Y = 0.5B = 0.25 B + 0.25 B = 0.25 B+ 0.25 (1 + 0.5 X) = 0.25 B + 0.25 + 0.125 X

Точно так же все следующие уравнения соответствуют данным: Y = 0,1 B + 0,4 + 0,2 X, Y = 0,44 B + 0,06 + 0,03 X и Y = 0,5 + 0,25 X и т. д. Действительно, значение точки пересечения и градиенты из B и X, которые соответствуют данным, соответствуют не одной точке, а линии решений. Если вы изучали линейную алгебру, это может быть вполне очевидно, а если нет, вы можете захотеть убедиться в том, что это правда, например, сгенерировав данные, показывающие, что все разные уравнения дают одинаковые значения для Y. Если вы попробуйте последнее, помните, что B зависит от X, поэтому вы не можете просто использовать произвольные значения X и B, они должны быть связаны уравнением B: = 1 + 0,5 X.

Линейная регрессия с использованием модуля linear_model scikit Learn дает только один результат Y = 0,4 + 0,2 X + 0,1 B, предполагая, что она имеет эвристику, которая возвращает только одно решение, даже если существует более одного решения. Три прогона моей собственной оптимизации наискорейшего градиентного спуска со случайными начальными точками для каждого параметра дают разные результаты, но каждое решение имеет коэффициент детерминации больше 0,9999; по существу, идеальное соответствие данным. Тот факт, что из набора данных можно получить несколько одинаково достоверных результатов, подчеркивает необходимость осторожности при интерпретации результатов регрессии, особенно при попытке установить причинно-следственную связь.

В отсутствие какой-либо причинной интуиции эти уравнения с несколькими переменными можно было бы изменить с помощью B или X в качестве предполагаемой зависимой/ответной переменной с равным количеством решений. Суммируя выводы к этому пункту, если мы можем принять причинно-следственную диаграмму формы X → B → Y, то попарное сопоставление Y и B, а также B и X дает правильные причинно-следственные отношения. Однако корреляция между всеми тремя переменными означает, что множественная регрессия с использованием X, Y и B не дает однозначного ответа.

Стратификация также не помогает нам получить истинный ответ. Если мы стратифицируем данные до одного значения B, у нас также будет только одно значение каждого из X и Y, поскольку B, Y и X имеют идеальную корреляцию. Следовательно, регресс невозможен. Если мы стратифицируем более чем одно значение B, мы сохраним те же отношения, что и с полным набором данных. Может быть, идеальная корреляция вызывает здесь проблему?

Нарушает ли коллинеарность добавление шума к данным? Если шум в измерении, то нет — у нас та же основная взаимосвязь. Но если шум от неизвестных переменных, действующих на X, Y и B, то да. То есть, если мы возьмем ранее сгенерированные данные и обработаем каждое значение X, Y и B как центр распределения Гаусса, из которого мы повторно выберем точку, чтобы отразить ошибку в измерении, то мы получим ту же структуру данных. и ничего не получается (Рис. 2). Однако, если шум возникает из-за каких-то неизвестных переменных, действующих на X, B и Y, тогда мы меняем базовую причинно-следственную диаграмму, например. к форме, показанной на рис. 3, и это устраняет некоторую коллинеарность между X, B и Y.

U1, U2 и U3 на рис. 3, каждый представляет одно или несколько неизвестных влияний на X, B и Y соответственно. При отсутствии каких-либо знаний о U1, U2 и U3 это будет отображаться в данных как шум. Это отличается от добавления шума к каждому наблюдению, т.е. ошибки наблюдения. «Шум» от U1, U2 и U3 будет распространяться по причинной сети, а шум, возникающий при наблюдениях, — нет. Как следствие, например, B больше не будет полностью коррелировать с X, поскольку некоторые вариации B исходят от U2.

Добавление шумовых переменных U в систему и создание 200 точек данных приводит к уникальному решению Y = 6,7 + 0,13 X + 0,46 B (Таблица 2). Оптимизация параметров из случайных начальных точек дает такое же уникальное решение, как и следовало ожидать, поскольку переменные U нарушают коллинеарность. Это решение не соответствует уравнению, которое сгенерировало данные, Y := 0,5 B + U3. Мы ожидаем получить правильное решение для Y, так как U2 нарушает коллинеарность между Y и X, так что это, вероятно, связано с тем, что у нас слишком мало данных; то есть регрессия не может отличить истинный сигнал от шума. Повторение анализа с 20 000 точек данных действительно дает правильный результат для связи между Y, X и B (Таблица 3), предупреждая нас о том, что для вывода уравнения причинно-следственной связи требуется соответствующий объем данных.

Точка пересечения уравнения, описывающего Y, равна восьми, что является средним значением U3. Таким образом, вместо уравнения Y = 0,5 B + U3 мы получаем уравнение Y = 0,5 B + ‹U3›, где ‹U3› — ожидаемое/среднее значение U3, являющееся следствием невключения U3 в процедуру регрессии.

Большой набор данных не возвращает правильное уравнение для B, что дает B = 3,98 + 0,4 X + 0,4 Y по сравнению с B := 1 + 0,5 X + U2. U2 разрушает прямую корреляцию между X и Y, добавляя некоррелированную информацию в B, но не меняет зависимость B от X. Это также не уменьшает корреляцию между B и Y (U3 делает). Поскольку U2 не включена в линейную регрессию B, поскольку U2 ненаблюдаема, тогда Y является единственной независимой переменной с информацией о U2 через путь от U2 до B до Y. Таким образом, во время линейной регрессии Y выступает в качестве прокси для U2, и между B и Y обнаруживается ненулевой градиент, поскольку это улучшает нашу способность прогнозировать B на основе других переменных. Таким образом, причинное уравнение для B не восстанавливается. Если бы мы знали и включили значение U2 в линейную регрессию, то мы восстановили бы правильное уравнение, поскольку U2 и X напрямую генерируют значение в B, тогда как Y лишь частично отражает значение в B, Y также находится под влиянием U3. Подгонка к данным для X, B, Y и U2 с использованием обучения scikit возвращает правильный ответ B = 1 + 0,5 X + 1,0 U2 + 0,0 Y (подгонка к 20 000 точек данных).

Уравнение, полученное с помощью регрессии для X, равно X = 4,7 + 0,66 B, что должно быть не причинно-следственным, поскольку мы не включаем причины X в процесс моделирования.

Выводы

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

Множественная регрессия не идентифицирует правильные причинно-следственные связи для чистой цепочки, т. е. цепочки без действующих на нее дополнительных факторов, таких как U2 и U3. Для чистой цепи правильные причинно-следственные связи будут включены в алгебраически возможные решения, но не будут однозначно идентифицируемыми. Это может быть неочевидно, если программа регрессии всегда возвращает только один результат и не сообщает о коллинеарности. Однако, если есть неизвестные (или известные) переменные, оказывающие причинное влияние на B и Y (например, на рис. 3), основная причинно-следственная сеть эффективно изменяется, и множественная регрессия может восстановить правильную причинно-следственную связь. для Y по отношению к X и B. Правильная причинно-следственная связь B по отношению к X и Y не может быть восстановлена ​​с помощью множественной регрессии, если мы не знаем значения переменной, действующей на B.

Все данные, использованные в этих анализах, а также код Python можно найти в репозитории Peter James Winn’s GitHub по этой ссылке.

Дальнейшее обучение.

Книга «Почему: Новая наука о причине и следствии», Judea Pearl, Dana Mackenzie; Пингвин Великобритания, 15 мая 2018 г.

scikit изучает линейную регрессию: sklearn.linear_model.LinearRegression — документация scikit-learn 1.1.3

Онлайн-курс лекций Брэди Нила:

Введение в причинно-следственные связи (bradyneal.com)

Корректировка бэкдора: 1.5 — Causation in Observational Studies — YouTube

Цепь, вилка, коллайдер (безнравственность) 3 — Поток причин и ассоциаций в графах (неделя 3) https://youtu.be/BX6hdDH3lqQ?t=1125

Бэкдор и каузальные миры: 4 — Каузальные модели — YouTube

https://youtu.be/AuZu0L0PEgk