Модуль 5. Matching и PSM

TL;DR

Подбираем каждому treated юниту близнеца по наблюдаемым ковариатам. CIA (conditional independence) — ключевое и недоказуемое допущение. Matching не спасает от unobserved confounding.

Когда применять

What you estimate

ATT (обычно) или ATE (зависит от matching scheme). Но: оценка валидна только если CIA выполнена (unobserved confounders отсутствуют или несущественны).

Assumptions

  1. CIA (Conditional Independence): (Y₀, Y₁) ⊥ D | X — selection объясняется только наблюдаемыми X
  2. Common support (overlap): 0 < P(D=1|X) < 1 для всех значений X
  3. Correct specification: модель propensity score правильно специфицирована (для PSM)

Виды matching

МетодСутьПлюс/минус
ExactСовпадение по всем ковариатамТочный, но curse of dimensionality
PSMMatching по P(D=1|X) — скалярСжимает размерность; зависит от модели
CEMКатегоризация + exactМонотонно улучшает баланс; теряет precision
Nearest-neighborMahalanobis distanceГибкий; зависит от метрики

Diagnostics

ПроверкаЧто смотримКрасный флагЧто делать
Balance (SMD)Standardized Mean Diff по каждой ковариате|SMD| > 0.1 после matchingПерестроить модель / добавить ковариаты
Common supportOverlap распределений propensity scoreБольшие регионы без overlapTrimming / отказ от оценки для этих юнитов
Sensitivity (Rosenbaum)Γ — насколько сильный unobserved confounder нуженΓ < 1.3 → результат хрупкийЧестно сообщить, искать дополнительные ковариаты
Variance ratioVar(X_treat) / Var(X_control) после matchingRatio далеко от 1.0Matching не выровнял распределения

Minimal estimator

# PSM: propensity score matching
# Step 1: Estimate P(D=1|X) — logistic regression
# Step 2: For each treated unit, find nearest control by |p̂_treat − p̂_control|
# Step 3: ATT = mean(Y_treat − Y_matched_control)

# IPW alternative:
ATT_ipw = (1/N_treat) · Σ [ Y_i·D_i − Y_i·(1−D_i)·p̂_i/(1−p̂_i) ]

Что matching НЕ решает

Pitfalls

What to do next

Глубже: double robustness (AIPW)

Doubly robust estimator комбинирует weighting с outcome regression. Консистентен, если хотя бы одна из двух моделей правильно специфицирована. AIPW (augmented inverse probability weighting) — стандартная реализация. Не решает unobserved confounding, но повышает робастность к misspecification.

Toy example: баланс до/после matching

Treated: пользователи, купившие premium-подписку. Control: остальные. Оцениваем эффект на retention.

КовариатаSMD до matchingSMD после matchingСтатус
Возраст0.420.05✓ OK
Сессии/нед.0.680.08✓ OK
Tenure (мес.)0.350.03✓ OK
# SMD = (mean_treat − mean_control) / sqrt((var_treat + var_control) / 2)

# До matching: все SMD > 0.1 → группы сильно различаются
# После matching: все SMD < 0.1 → баланс достигнут по наблюдаемым

# НО: unobserved confounder (например, "мотивация") может
# объяснять и покупку premium, и retention → CIA нарушена

Вывод: баланс по наблюдаемым достигнут, но каузальность зависит от того, насколько "мотивация" и другие ненаблюдаемые факторы объясняют selection.

Упражнения

Задача 1: что не так?

Аналитик оценивает эффект маркетинговой email-рассылки на покупки. Matching по ковариатам: возраст, город, дата регистрации, число открытых писем за месяц. Что не так?

Решение

"Число открытых писем" — post-treatment variable (bad control). Оно определяется после assignment в treatment (рассылка). Matching по post-treatment переменным вводит collider bias. Нужно matching только по pre-treatment ковариатам.

Задача 2: sensitivity

После PSM: ATT = +8% retention (p = 0.02). Rosenbaum bounds: Γ = 1.15 → при Γ = 1.15 p-value = 0.06. Что это означает?

Решение

Результат хрупкий. Даже слабый unobserved confounder (увеличивающий odds of treatment всего в 1.15 раза) может объяснить весь эффект. Нужно искать дополнительные ковариаты, или переключиться на дизайн, который менее чувствителен к unobserved confounding (DiD, IV, RDD).

Задача 3: выбор

Есть данные до и после treatment + контрольная группа + богатый набор ковариат. Parallel trends сомнительны. Что делать: (a) DiD, (b) matching+DiD, (c) matching alone?

Решение

(b) Matching+DiD. Matching выравнивает группы по наблюдаемым → усиливает правдоподобие parallel trends. DiD устраняет time-invariant unobserved confounders. Matching alone (c) не защищает от unobserved confounding. DiD alone (a) проблематичен при нарушенных parallel trends.