Causal Calculus

Backdoor criterion: как заблокировать ловушку

2020 год. Наблюдательные данные из нескольких стран: пациенты на ибупрофене умирают реже от COVID. Заголовки в СМИ: «ибупрофен лечит COVID». Через несколько месяцев анализ с контролем на тяжесть болезни показал: никакого эффекта. Тяжёлых пациентов сразу переводили на более серьёзные препараты - они и умирали чаще. Тяжесть болезни влияла и на выбор ибупрофена, и на исход. Это был backdoor-путь. Backdoor criterion - алгоритм, который находит такие ловушки прямо по стрелкам DAG, без единого числа.

  • **Debiasing в ML**: алгоритмы, обученные на наблюдательных данных, учатся по spurious correlations (backdoor-пути). DoWhy и CausalML реализуют backdoor adjustment как шаг pre-processing перед обучением - чтобы модель учила причинный эффект, а не конфаундеры
  • **A/B-тесты**: рандомизация - это физическое уничтожение всех backdoor-путей. Backdoor criterion объясняет, почему рандомизация работает: монетка разрывает связь X <- confounder, делая backdoor-пути неактивными
  • **Fairness audits в ML**: Microsoft Research применяет backdoor criterion для выявления protected attribute bias. Если защищённый атрибут (пол, раса) находится на backdoor-пути, контроль на него - не цензура, а математическая необходимость для честной оценки
  • **Эпидемиология**: G-computation (Robins, 1986) - это backdoor adjustment formula под другим названием. Все современные оценки ATE (average treatment effect) в клинических исследованиях строятся на ней

Предварительные знания

  • d-separation: chains, forks, colliders

Backdoor-путь: откуда берётся confounding

2020 год. Несколько наблюдательных исследований показали: пациенты, принимавшие ибупрофен, умирали реже. Редакции написали: ибупрофен лечит COVID. Механизм, о котором умолчали: тяжёлые пациенты реже принимали ибупрофен - им сразу давали что-то серьёзнее. Тяжесть болезни влияла и на выбор лекарства, и на смерть. Это форк - классический backdoor-путь.

Backdoor-путь (от X к Y) - любой путь, который начинается стрелкой, входящей в X. То есть путь вида X <- ... -> Y через общий предок. Такой путь передаёт корреляцию между X и Y, не являясь причинным. Это не шум и не ошибка измерения - это структурная особенность DAG, которую видно без единого числа.

**Определение backdoor-пути**: путь $\pi$ между $X$ и $Y$ является backdoor-путём, если первое ребро на пути направлено в $X$ (то есть $\pi$ начинается с $\cdot \to X$). Наблюдаемая корреляция $P(Y \mid X)$ смешивает причинный эффект и информацию, текущую по backdoor-путям.

DoWhy (Microsoft) - библиотека causal inference в Python - автоматически перечисляет все backdoor-пути при вызове `model.identify_effect()`. Перед тем как выдать оценку эффекта, она строит список активных backdoor-путей и проверяет, блокирует ли предложенный adjustment set все из них. Если нет - предупреждает об unidentified effect.

В DAG: $\text{Образование} \leftarrow \text{IQ} \to \text{Зарплата}$, $\text{Образование} \to \text{Зарплата}$. Является ли путь Education - IQ - Salary backdoor-путём при оценке эффекта Education -> Salary?

Backdoor criterion: что достаточно контролировать

Pearl, 1993. Книга «Causality», приложение к главе 3. Одна теорема - и задача выбора контрольных переменных стала алгоритмической, а не интуитивной. До этого эконометристы спорили годами, что включать в регрессию. После - проверяется за минуты.

**Backdoor criterion (Перл, 1993)**: множество $Z$ удовлетворяет backdoor criterion относительно $(X, Y)$ в DAG $G$, если: 1. ни один узел из $Z$ не является потомком $X$ 2. $Z$ блокирует все backdoor-пути между $X$ и $Y$ (то есть d-separates $X$ от $Y$ в подграфе $G_{\underline{X}}$, где удалены исходящие из $X$ рёбра).

Условие (1) - не потомок X - критически важно. Если включить в Z переменную, на которую X влияет, возникает коллайдер или частичная блокировка медиатора. Это открывает новые пути вместо того, чтобы закрыть старые. Именно здесь ломается наивная эвристика «контролируй всё, что коррелирует с X и Y».

ГрафBackdoor-путьВалидный adjustment set ZНельзя включать в Z
$X \leftarrow C \to Y$$X \leftarrow C \to Y$$\{C\}$потомки $X$ или $Y$
$X \leftarrow C \to M \to Y$$X \leftarrow C \to M \to Y$$\{C\}$ или $\{C, M\}$$M$ если цель - total effect
$X \leftarrow U_1 \to B \leftarrow U_2 \to Y$через $U_1, U_2$ (скрытые)невозможен прямой backdoor adj.B - коллайдер, нельзя

Causal ML (Uber) и DoWhy (Microsoft) реализуют поиск минимального adjustment set через алгоритм O'Shaughnessy (2020): находит наименьшее Z, которое блокирует все backdoor-пути. Меньший set - меньше переменных для измерения в RCT, меньше вариативность оценки в наблюдательных данных.

DAG: $X \leftarrow C \to Y$, $X \to M \to Y$, $X \to Y$. Задача - оценить **total effect** $X$ на $Y$. Какой adjustment set валиден?

Adjustment formula: P(Y|do(X)) через наблюдения

Если Z удовлетворяет backdoor criterion - задача решена. do-вероятность выражается через наблюдаемое распределение. Никакого эксперимента не нужно - только правильный набор измеренных переменных и формула.

**Backdoor adjustment formula**: если $Z$ удовлетворяет backdoor criterion для $(X, Y)$, то: $$P(Y = y \mid \mathrm{do}(X = x)) = \sum_{z} P(Y = y \mid X = x, Z = z) \cdot P(Z = z)$$ Для непрерывного $Z$: интеграл по $z$ вместо суммы. Это взвешенное по популяции условное среднее.

Это и есть то, что делает regression adjustment: оценить $E[Y \mid X=x, Z=z]$ по данным, затем усреднить по маргинальному $P(Z)$. Метод называется G-computation в эпидемиологии и average treatment effect (ATE) estimation в econometrics. Один и тот же результат - разные названия в разных сообществах.

Почему рандомизация работает: backdoor через do-оператор

RCT (randomized controlled trial) - это физическая реализация do-оператора

Наблюдательное исследование ибупрофена: P(смерть=1 | ибупрофен=1) != P(смерть=1 | do(ибупрофен=1)) Потому что P(ибупрофен=1) зависит от тяжести болезни. RCT: монетка решает, кто получает ибупрофен. Теперь: P(ибупрофен=1 | тяжесть) = 0.5 для любой тяжести. Ребро тяжесть -> ибупрофен исчезло из графа. Backdoor-путь X <- тяжесть -> смерть заблокирован структурно. Backdoor adjustment formula делает то же самое статистически: Считает эффект отдельно для каждого уровня тяжести, затем взвешивает по реальному распределению тяжести в популяции. ATE = sum_z P(смерть | ибупрофен=1, тяжесть=z) * P(тяжесть=z) - sum_z P(смерть | ибупрофен=0, тяжесть=z) * P(тяжесть=z) Это объясняет, почему рандомизация - золотой стандарт: она автоматически блокирует все backdoor-пути, включая те, что неизвестны исследователю.

Backdoor criterion говорит: контролируй всё, что влияет на X или Y

Контролируй только то, что блокирует backdoor-пути и не является потомком X

Потомки X - медиаторы или коллайдеры. Включение медиатора блокирует часть причинного эффекта, занижая total effect. Включение коллайдера открывает новые нежелательные пути. Backdoor criterion - это не «добавляй переменные», а «выбирай правильные переменные по структуре графа».

Исследователь хочет оценить эффект нового препарата (X) на выживаемость (Y). Известно, что возраст (A) влияет и на назначение препарата, и на выживаемость. Как правильно применить backdoor adjustment?

Ключевые идеи

  • **Backdoor-путь** - путь от X к Y, начинающийся входящей в X стрелкой. Это и есть confounding: корреляция без причинности, которую наивное наблюдение принимает за эффект
  • **Backdoor criterion**: множество Z валидно, если (1) не содержит потомков X и (2) d-separates X от Y в графе с удалёнными исходящими рёбрами X. Проверяется по структуре DAG, не по данным
  • **Adjustment formula**: $P(Y \mid \mathrm{do}(X)) = \sum_z P(Y \mid X, Z=z) \cdot P(Z=z)$ - взвешенное условное среднее. Это G-computation, regression adjustment и IPW в разных обличиях
  • **RCT как do-оператор**: рандомизация физически удаляет backdoor-пути. Backdoor criterion объясняет почему - и показывает, что наблюдательный анализ с правильным Z математически эквивалентен RCT
  • **Потомки X под запретом**: медиаторы занижают total effect, коллайдеры открывают новые пути. Backdoor criterion защищает от обеих ошибок

Куда дальше

Backdoor criterion работает, когда все конфаундеры измеримы. Дальше - методы для ситуаций, где это не так.

  • Frontdoor criterion — Оценка эффекта через медиатор, когда backdoor-конфаундеры скрытые
  • do-оператор — Формализация интервенции - что именно считает adjustment formula
  • Идентифицируемость — Когда do-вероятность вообще выражается через наблюдения - общая теория
  • Mediation analysis — Прямой и косвенный эффект - расширение backdoor на медиаторы

Вопросы для размышления

  • Ибупрофен и COVID: после контроля на тяжесть болезни эффект исчез. Backdoor criterion не запрещает наблюдение - он показывает, что именно контролировать. Какие переменные в текущем проекте могут быть такими скрытыми конфаундерами?
  • Если команда проводит A/B-тест, но пользователи сами выбирают вариант (self-selection bias) - какой backdoor-путь это создаёт и какой adjustment set нужен?
  • Backdoor criterion требует измеримого Z. Когда конфаундер неизмерим (например, «мотивация» или «качество менеджмента») - что остаётся? Инструментальные переменные, frontdoor, difference-in-differences - все они решают именно эту проблему.

Связанные уроки

  • cc-02-d-separation — d-separation - фундамент: backdoor criterion его прямое следствие
  • cc-04-frontdoor — Frontdoor - когда backdoor adjustment невозможен
  • cc-05-do-operator — do-оператор формализует интервенцию после идентификации
  • prob-03-conditional — Условная вероятность - математическая база adjustment formula
  • stat-09-regression — Regression adjustment реализует формулу backdoor на практике
  • cc-11-causal-discovery — PC-алгоритм находит граф, по которому ищут backdoor adjustment sets
  • stat-01-sampling
Backdoor criterion: как заблокировать ловушку

0

1

Войти