🎯 Matching y Pares

Propensity Score Matching, nearest-neighbor, balance, ATT vs ATE

Matching PSM ATT/ATE
Módulo 11 de 12
💡 Piénsalo así: El matching es como buscar gemelos estadísticos para un estudio médico. Para evaluar si un fármaco funciona, no puedes ver al mismo paciente con y sin fármaco. La solución es encontrar para cada paciente tratado otro paciente muy similar (misma edad, peso, historial) que no recibió el fármaco. La diferencia de resultados entre estos "gemelos" es el efecto causal estimado.
Teoría de Matching

Contrafactual y el Problema Fundamental

Para cada individuo i, tenemos dos outcomes potenciales: Yᵢ(1) si recibe tratamiento y Yᵢ(0) si no. El efecto causal individual es Yᵢ(1) - Yᵢ(0). Nunca observamos ambos a la vez (solo vemos Yᵢ = Dᵢ·Yᵢ(1) + (1-Dᵢ)·Yᵢ(0)).

La media del contrafactual E[Y(0)|D=1] no se observa. El matching reemplaza este valor con Y(0) de individuos no tratados con características similares. El supuesto clave es "unconfoundedness" (o conditional independence): D ⟂ Y(0) | X. Dado X, el tratamiento es independiente del outcome potencial sin tratamiento.

Propensity Score (Rosenbaum & Rubin, 1983)

El propensity score es la probabilidad de recibir tratamiento dadas las características observables: p(X) = P(D=1|X). El teorema de Rosenbaum y Rubin dice que si D ⟂ Y(0) | X, entonces D ⟂ Y(0) | p(X).

¡Reducimos dimensionalidad! En vez de matching en todas las X (problema de curse of dimensionality), matching en un escalar p(X). El soporte común (overlap) es crítico: necesita que 0 < P(D=1|X) < 1 para todos los valores de X.

p(X) = P(D=1|X) → Matching en p(X) en vez de X

ATT vs ATE vs ATET

ATE = E[Y(1) - Y(0)] = efecto promedio en toda la población. ATT = E[Y(1) - Y(0)|D=1] = efecto promedio en los tratados. ATU = E[Y(1) - Y(0)|D=0] = efecto promedio en los no tratados.

El matching típicamente estima ATT: para cada tratado, encontramos un no tratado similar y promediamos las diferencias. ATE requiere también estimar el efecto para los no tratados, lo que puede ser problemático si hay regiones sin overlap.

Nearest Neighbor y Caliper Matching

Nearest neighbor: para cada individuo tratado i, seleccionamos el no tratado j con propensity score más cercano. La distancia euclidiana es: |p(Xᵢ) - p(Xⱼ)|. Con caliper, solo emparejamos si la diferencia está dentro de un umbral (ej: 0.05). Esto evita malos matches.

Variantes: con reemplazo (un control puede usarse múltiples veces, reduce sesgo pero aumenta varianza), sin reemplazo, 1-a-1 o 1-a-k (k vecinos más cercanos).

Balance Post-Matching

El balance evalúa si las distribuciones de las covariables X son similares entre tratados y controles después del matching. Herramientas: (1) standardized mean difference (SMD): diferencia de medias dividida por la desviación estándar combinada; (2) density plots comparados; (3) box plots.

Regla empírica: SMD < 0.1 (o < 0.25) indica buen balance. Si el balance es malo, hay que re-especificar el modelo de propensity score (incluir interacciones, términos cuadráticos) o usar otro método de matching.

Alternativas: CEM, Entropy Balancing, PSM vs OLS

CEM (Coarsened Exact Matching, Iacus, King & Porro, 2012): categoriza variables continuas y hace matching exacto dentro de estratos. Menos sensible a especificación que PSM.

Entropy Balancing (Hainmueller, 2012): pondera observaciones para balancear momentos de las X. Combinación de matching con weighting. PSM vs OLS: OLS asume relación lineal y extrapola fuera del soporte común; PSM es no paramétrico pero requiere overlap adecuado.

Ejemplo paso a paso: Evaluación de un programa de capacitación laboral

Queremos evaluar si un programa de capacitación aumenta el salario. N=1000 (200 tratados, 800 controles).

Paso 1: Estimar el Propensity Score

Regresamos D (tratamiento) sobre X (edad, educación, experiencia, género). Usamos probit o logit: p(X) = P(D=1|X) = Φ(α + β₁·edad + β₂·edu + β₃·exp + β₄·genero). Obtenemos la probabilidad predicha para cada individuo.

Paso 2: Verificar soporte común

Comparamos la distribución de p(X) entre tratados y controles. Si hay regiones donde los tratados tienen p(X) alta pero no hay controles con p(X) similares, no podemos estimar ATT en esas regiones. Truncamos la muestra para mantener solo el overlap.

Paso 3: Nearest Neighbor Matching

Para cada tratado i, seleccionamos el control j con |p(Xᵢ) - p(Xⱼ)| mínimo (caliper = 0.05). Si no hay control dentro del caliper, el tratado queda sin match y no se usa. ATT = (1/N_tratados) · Σᵢ(Yᵢᵗʳᵃᵗ - Y_ⱼᵐᵃᵗᶜʰ).

Verificar balance

Calculamos SMD para cada covariable antes y después del matching. Antes: SMD_edad = 0.45 (malo). Después: SMD_edad = 0.08 (bueno). Si alguna X sigue desbalanceada, añadimos interacciones al modelo de propensity score o hacemos matching exacto en esa variable.

Simulación: Matching y Balance

Ajusta la fuerza de selección en observables. Compara ATT verdadero vs estimado por OLS vs PSM.

0.5
Ajusta el sesgo y presiona "Simular".
Mini Quiz: Matching
💡 Responde las preguntas sobre matching y pares.

Resumen del módulo