Causal Calculus
Контрфактические рассуждения: третья ступень лестницы причинности
Судья спрашивает: «Если бы обвиняемый не нажал на курок, жертва выжила бы?» Эпидемиолог: «Если бы пациент не курил, рак бы развился?» Экономист Amazon: «Если бы цена была на $1 ниже, клиент купил бы?» Это rung 3 лестницы причинности Pearl (2009): контрфактические рассуждения. Ни наблюдений, ни интервенций не хватает для ответа - нужна структурная каузальная модель с экзогенными переменными, которые фиксируют индивидуальность каждого unit-а.
- **Uplift modeling (Amazon, Netflix, Uber):** персонализированная реклама, рекомендации, скидки. Для каждого клиента оценивается контрфактический эффект воздействия. Модели на основе T-learner, X-learner, causal forests обучаются на A/B-данных, но предсказывают индивидуальный контрфактический uplift
- **Counterfactual explanation в ML fairness:** LIME и SHAP дают feature importance, но не отвечают: «Какое минимальное изменение признаков изменило бы решение?» Counterfactual explanations (Wachter et al. 2017) - rung 3: что нужно было бы изменить конкретному заявителю, чтобы получить кредит
- **Legal but-for causation:** в делах о дискриминации, медицинской халатности, промышленных авариях суды применяют but-for standard: «Произошёл бы ущерб без действий ответчика?» Формально это $Y_0(u) < \text{threshold}$, counterfactual rung 3
- **Policy evaluation без нового RCT:** DoWhy (Microsoft) и CausalML (Uber) позволяют оценивать контрфактические эффекты политик из исторических данных. Netflix оценивает ценность рекомендательных алгоритмов без нового A/B через importance sampling counterfactual estimation
Предварительные знания
- do-оператор: интервенция отличается от наблюдения
- Counterfactual notation: $Y(x)$ - потенциальный исход при $\mathrm{do}(X=x)$
- Backdoor adjustment и условия идентифицируемости
Counterfactual: формализм twin networks
Три ступени лестницы причинности
Pearl (2009) выделяет три уровня каузальных вопросов. **Rung 1 (ассоциации)**: $P(Y|X=x)$ - что наблюдается. **Rung 2 (интервенции)**: $P(Y|\mathrm{do}(X=x))$ - что будет, если вмешаться. **Rung 3 (контрфактические)**: $P(Y_{x}|X=x', Y=y')$ - что было бы, если бы для конкретного unit-а всё сложилось иначе. Данные наблюдений и интервенции недостаточны для rung 3 - нужна полная структурная модель.
**Структурная каузальная модель (SCM)**: набор уравнений $X_i = f_i(\mathrm{Pa}(X_i), U_i)$, где $U_i$ - экзогенные шумы. Именно $U$ несут всю «индивидуальность» unit-а. Контрфактическая величина $Y_x(u)$ - значение $Y$ при $\mathrm{do}(X=x)$ для unit-а с экзогенным шумом $U=u$.
**Twin network** - главный инструмент вычисления контрфактических величин. Идея: дублировать граф SCM в две копии, разделяющие общий экзогенный шум $U$. В «фактическом» мире - реальные наблюдения. В «контрфактическом» мире - интервенция $\mathrm{do}(X=x)$. Поскольку $U$ общий, индивидуальность unit-а сохраняется в обоих мирах.
**Ключевое различие с интервенцией.** $P(Y|\mathrm{do}(X=x'))$ - распределение по всей популяции при принудительном $X=x'$. $Y_{x'}(u)$ - значение для конкретного $u$ при $\mathrm{do}(X=x')$. Это разные вопросы: средний эффект vs индивидуальный контрфактический исход.
В twin network экзогенный шум $U$ является общим для фактического и контрфактического миров. Зачем это нужно?
Идентификация контрфактических эффектов и ATT
Когда контрфактический эффект можно оценить по данным?
Полный контрфактический ответ требует знания $P(U|\text{наблюдения})$, а значит - полного SCM с экзогенными распределениями. Это строже, чем идентификация interventional distributions. Тем не менее, для ряда важных объектов идентификация возможна.
**ATT (Average Treatment Effect on the Treated)** - контрфактический эффект в группе, реально получившей лечение:
Второй член $\mathbb{E}[Y_0 \mid X=1]$ - контрфактический: «что было бы с теми, кто лечился, если бы они не лечились». Это не идентично $\mathbb{E}[Y \mid X=0]$ при наличии конфаундинга. При отсутствии unmeasured confounders и марковских SCM ATT идентифицируем через backdoor:
**Principal stratification (Frangakis, Rubin 2002).** Классификация unit-ов по паре потенциальных исходов $(Y_0, Y_1)$: - Always-takers: $X_0 = 1$ и $X_1 = 1$ (выбирают лечение в любом случае) - Never-takers: $X_0 = 0$ и $X_1 = 0$ - Compliers: $X_0 = 0$ и $X_1 = 1$ (подчиняются назначению) - Defiers: $X_0 = 1$ и $X_1 = 0$ IV-оценка (LATE / CACE) = ATT на compliers. Важно: принадлежность к страте - контрфактическая характеристика, не наблюдаемая напрямую.
ATE = $\mathbb{E}[Y_1 - Y_0]$ и ATT = $\mathbb{E}[Y_1 - Y_0 | X=1]$. Когда ATE = ATT?
Uplift modeling, но-для причинность и counterfactual attribution
Контрфактические рассуждения в ML-системах
**Uplift modeling** (Radcliffe 2007) - оценка индивидуального контрфактического эффекта лечения: $\tau_i = Y^1_i - Y^0_i$. Для конкретного клиента $i$ нельзя наблюдать оба потенциальных исхода одновременно (fundamental problem of causal inference). Поэтому моделируется $\tau(x) = \mathbb{E}[Y^1 - Y^0 | X_i = x]$ через данные экспериментов.
**T-learner (два отдельных регрессора):**
**S-learner**: одна модель с treatment как признаком: $\hat{\tau}(x) = \hat{\mu}(x, 1) - \hat{\mu}(x, 0)$. **X-learner** (Kunzel et al. 2019): двухэтапная оценка, более эффективная при несбалансированных группах.
**Но-для причинность (but-for causation) в праве.** Legal standard: «Would the harm have occurred but for the defendant's action?» - формально это контрфактический вопрос $Y_0(u) < \text{threshold}$ при наблюдаемом $Y_1(u) \geq \text{threshold}$ и $X(u) = 1$. В делах о токсичном воздействии, дискриминации, авариях - это rung 3. Суды часто используют «but-for» test без явного SCM, что приводит к логическим ошибкам при наличии нескольких причин (overdetermination, preemption).
**Counterfactual attribution без A/B.** Netflix и Amazon используют контрфактические оценки для измерения ценности рекомендаций без проведения A/B-теста для каждой фичи. Подход: обучить reward model на исторических данных с exploitation/exploration, потом оценить контрфактический исход $\mathbb{E}[Y|\hat{\pi}_{new}]$ через importance sampling.
Контрфактический анализ - это то же самое что анализ чувствительности или сценарное моделирование
Контрфактические рассуждения требуют конкретной SCM с экзогенными переменными $U$; «что если» сценарии без фиксации $U$ - это интервенции (rung 2), а не контрфактические (rung 3)
«Что будет с продажами, если снизить цену на 10%» - это do(price = price_0 * 0.9), rung 2, популяционный эффект. «Что было бы с этим конкретным клиентом, если бы цена была $1 ниже» - rung 3, требует фиксации U этого клиента. Разница принципиальная: второй вопрос требует знать что-то об индивидуальных характеристиках клиента (U), которые привели к его наблюдаемому поведению.
Uplift model предсказывает $\hat{\tau}(x) = \hat{\mu}_1(x) - \hat{\mu}_0(x)$. Почему нельзя валидировать её так же как классификатор - сравнить $\hat{\tau}(x_i)$ с истинным $\tau_i = Y^1_i - Y^0_i$ для каждого $i$?
Ключевые идеи
- **Rung 3 лестницы Pearl**: counterfactuals $Y_x(u)$ - что было бы с конкретным unit-ом $u$ при $\mathrm{do}(X=x)$. Недостижимо только через наблюдения или интервенции - нужна полная SCM
- **Twin network**: дублировать SCM, зафиксировать общий $U$, применить $\mathrm{do}(X=x)$ в одной копии. 3 шага: Abduction (P(U|obs)), Action (do), Prediction (Y_cf)
- **ATT**: $\mathbb{E}[Y_1 - Y_0 | X=1]$ идентифицируем при отсутствии unmeasured confounders через IPW с propensity score, взвешенным по treated distribution
- **Principal stratification**: unit-ы классифицируются по парам $(Y_0, Y_1)$ - compliers, always-takers и т.д. LATE/CACE = ATT на compliers
- **Uplift modeling**: T-learner, X-learner, causal forests оценивают $\tau(x) = \mathbb{E}[Y^1 - Y^0 | X_i = x]$. Истинный $\tau_i$ ненаблюдаем (fundamental problem), валидируют через Qini / AUUC
- **But-for causation в праве**: юридический тест «без действий ответчика» - это формально $Y_0(u)$, rung 3. Без SCM суды не могут корректно обработать overdetermination и preemption
Куда дальше
Контрфактические рассуждения открывают transportability и персонализированные оценки:
- Transportability — Перенос counterfactual эффектов между популяциями с разными распределениями U
- Double ML и CATE — CATE - контрфактическая разница, оцениваемая через Double ML с orthogonal scores
Вопросы для размышления
- Amazon использует counterfactual estimation для оценки ценности рекомендаций без A/B-теста: обучают reward model и оценивают $\mathbb{E}[Y | \hat{\pi}_{new}]$ через importance sampling. При каких условиях такая оценка смещена, и как это связано с тем, что importance sampling требует overlap (overlap assumption)?
- В деле об увольнении компания утверждает, что уволила бы сотрудника и без факта дискриминации (preemption / alternative causation). Как это ломает but-for test, и какой контрфактический объект (какой rung, какое $U$) нужно определить, чтобы корректно оценить counterfactual causation?
- X-learner (Kunzel et al. 2019) эффективнее T-learner при несбалансированных группах обработки. Он использует импьютацию контрфактических исходов: $\tilde{\tau}_i^{(1)} = Y_i - \hat{\mu}_0(X_i)$ для treated. Какие предположения это делает о SCM, и как нарушение этих предположений влияет на смещение оценки uplift?
Связанные уроки
- cc-05-do-operator — do-оператор - rung 2; counterfactual - rung 3, строго сильнее интервенций
- cc-08-mediation — NDE формально определяется через counterfactual Y(x, M(x')) - без SCM семантики он не обоснован
- cc-07-identifiability — Идентификация counterfactuals строже: требует знания SCM, не только графа
- cc-10-transportability — Перенос counterfactual эффектов между популяциями - прямое расширение twin network
- cc-12-double-ml-cate — Uplift model = E[Y^1 - Y^0 | X] - counterfactual разница, оцениваемая через Double ML
- stat-01-sampling