Identificación Causal con Grafos Acíclicos Dirigidos#

Una plataforma de analytics de comercio como Shopify quiere medir el efecto causal del gasto en publicidad digital (\(T\)) sobre las ventas de sus comercios afiliados (\(Y\)). El equipo de datos corre una regresión de ventas sobre inversión publicitaria y obtiene un coeficiente positivo y significativo. Pero un analista señala un problema: los comercios más grandes no solo gastan más en publicidad — también venden más por razones independientes de los anuncios. Si el tamaño del comercio (\(Z\)) determina a la vez cuánto se invierte en publicidad y cuántas ventas se obtienen, la regresión mezcla el efecto causal del gasto con la ventaja preexistente de los comercios grandes.

¿Qué variables debemos incluir como controles para recuperar el efecto causal de \(T\) sobre \(Y\)? La respuesta a esta pregunta no es estadística — es estructural. Depende de cómo creemos que se generaron los datos. En esta sección introduciremos los grafos acíclicos dirigidos (DAGs, por sus siglas en inglés), el lenguaje que permite representar esa estructura causal y derivar, a partir de ella, qué variables incluir y cuáles evitar en la regresión.

Esta sección cubre cuatro ideas: (1) qué es un DAG y cómo leerlo; (2) las tres estructuras fundamentales que determinan si controlar una variable abre o cierra un camino espurio; (3) el criterio formal que unifica estas reglas — el criterio de la puerta trasera; y (4) la paradoja de Berkson, un caso extremo de sesgo de selección por colisionador que ilustra cuán peligroso puede ser condicionar sobre la variable equivocada.


1. Objetivos#

Al terminar esta sección, el lector podrá:

  • Leer un DAG y enumerar todos los caminos desde el tratamiento \(T\) hasta el resultado \(Y\).

  • Aplicar las tres reglas estructurales (bifurcador, cadena, colisionador) para determinar si un camino está abierto o bloqueado.

  • Usar el criterio de la puerta trasera para derivar el conjunto mínimo de variables de control que identifica el efecto causal.

  • Reconocer y evitar el sesgo por colisionador: entender por qué controlar la variable equivocada empeora la estimación.

  • Distinguir entre el efecto total y el efecto directo de \(T\) sobre \(Y\), y saber cuándo cada uno es la pregunta relevante.

  • Conectar los DAGs a fallas empíricas reales, en particular la paradoja de Berkson.

  • Entender cuándo el criterio de la puerta delantera puede recuperar un efecto causal aunque el confundidor clave no sea observable, y aplicar el procedimiento de estimación en dos pasos.


2. ¿Qué es un DAG?#

Un grafo acíclico dirigido es un diagrama donde cada nodo representa una variable y cada flecha representa una relación causal directa. La flecha \(A \rightarrow B\) significa que \(A\) causa a \(B\). El requisito de aciclicidad — no hay ciclos — refleja que en el proceso generador de datos que modelamos no existe causalidad simultánea bidireccional entre las mismas variables: \(A\) puede causar a \(B\), pero \(B\) no puede, a su vez, causar a \(A\) en el mismo sistema estático.

El DAG del ejemplo de Shopify tiene tres nodos y tres flechas:

\[Z \rightarrow T \rightarrow Y \qquad Z \rightarrow Y\]

El tamaño del comercio (\(Z\)) causa el gasto publicitario (\(T\)) y también causa las ventas (\(Y\)) directamente. El gasto publicitario, a su vez, causa las ventas. La flecha \(T \rightarrow Y\) es el efecto causal que nos interesa estimar.

La pregunta central de la identificación causal es: ¿qué variables debemos incluir en la regresión de \(Y\) sobre \(T\) para que el coeficiente de \(T\) refleje el efecto causal y no otra cosa? Para responder esta pregunta, necesitamos identificar todos los caminos que conectan \(T\) con \(Y\) en el DAG.

Un camino entre dos nodos es cualquier secuencia de flechas que los conecta, sin importar su dirección. En el ejemplo anterior hay dos caminos de \(T\) a \(Y\):

  1. \(T \rightarrow Y\) — el camino causal directo, la flecha de interés.

  2. \(T \leftarrow Z \rightarrow Y\) — un camino que va «hacia atrás» desde \(T\) hasta \(Z\) y de allí hacia \(Y\).

El segundo camino se llama camino de puerta trasera (back-door path): comienza con una flecha que apunta hacia \(T\), es decir, no forma parte del mecanismo causal de \(T\) sobre \(Y\) sino que es una fuente de confusión. Si este camino está abierto, la correlación entre \(T\) e \(Y\) en los datos refleja tanto el efecto causal \(T \rightarrow Y\) como la influencia compartida de \(Z\).


3. Las tres estructuras fundamentales#

Los DAGs pueden tener muchos nodos y flechas, pero toda la complejidad se reduce a tres estructuras elementales. Entender estas tres es suficiente para analizar prácticamente cualquier DAG que aparezca en la práctica empírica.

3.1 El bifurcador (confundidor)#

La estructura más familiar es el bifurcador (fork): una variable \(Z\) causa tanto \(T\) como \(Y\).

\[T \leftarrow Z \rightarrow Y\]

\(Z\) es una causa común de \(T\) e \(Y\) — lo que típicamente llamamos un confundidor. El camino \(T \leftarrow Z \rightarrow Y\) es un camino de puerta trasera y, mientras no controlemos \(Z\), permanece abierto. La correlación entre \(T\) e \(Y\) en los datos mezcla el efecto causal de \(T\) con la influencia de \(Z\).

Para ver esto algebraicamente, supongamos que el proceso generador es:

\[Z \sim \mathcal{N}(0,1), \quad T = \gamma Z + \varepsilon_T, \quad Y = \beta T + \delta Z + \varepsilon_Y\]

donde \(\varepsilon_T\) y \(\varepsilon_Y\) son ruidos independientes entre sí y de \(Z\). El efecto causal de \(T\) sobre \(Y\) es \(\beta\). Si corremos la regresión de \(Y\) sobre \(T\) sin incluir \(Z\), el coeficiente estimado converge a:

\[\text{plim}\,\hat{\beta}_{naive} = \beta + \frac{\delta \gamma}{\gamma^2 + \sigma^2_{\varepsilon_T}}\]

El segundo término es el sesgo por omisión de variable: positivo cuando \(\delta\) y \(\gamma\) tienen el mismo signo (el confundidor empuja \(T\) e \(Y\) en la misma dirección), negativo cuando tienen signos opuestos. Incluir \(Z\) en la regresión hace que \(T \perp \varepsilon_Y \mid Z\), lo que elimina el sesgo y recupera \(\beta\). La derivación completa aparece en el apéndice.

En el ejemplo de Shopify: \(\delta > 0\) (los comercios grandes venden más) y \(\gamma > 0\) (los comercios grandes gastan más en publicidad), así que el sesgo es positivo — la regresión sin controles sobreestima el efecto de la publicidad.

3.2 El colisionador#

La segunda estructura es, para muchos estudiantes, la más sorprendente: el colisionador (collider). Aquí, dos variables independientes (o correlacionadas por otras razones) causan conjuntamente a una tercera variable \(A\):

\[T \rightarrow A \leftarrow Y\]

Las dos flechas «colisionan» en \(A\). La propiedad clave del colisionador es la opuesta a la del bifurcador: el camino que pasa por un colisionador está bloqueado por defecto, y se abre al condicionar sobre él.

¿Por qué? Intuitivamente: si sabemos que \(A\) tomó cierto valor, entonces la información sobre \(T\) nos dice algo sobre \(Y\) aunque \(T\) e \(Y\) no estuvieran relacionados directamente. Suponga que \(A\) = «empleado fue contratado», \(T\) = habilidades técnicas, \(Y\) = potencial de largo plazo. Para ser contratado, un candidato necesita ser bueno en \(T\) o en \(Y\) (o en ambos). Si observamos que alguien fue contratado pero sus habilidades técnicas son mediocres, inferimos que su potencial de largo plazo debe ser alto — aunque en la población general las dos variables no estén correlacionadas. La condición sobre \(A\) crea una dependencia artificial entre \(T\) e \(Y\) dentro de la muestra seleccionada.

Esta intuición tiene una consecuencia directa para la selección de controles: incluir \(A\) en la regresión de \(Y\) sobre \(T\) — es decir, condicionar sobre el colisionador — abre un camino espurio que antes estaba cerrado, introduciendo sesgo donde no había ninguno.

Una variante menos obvia es el M-Bias, con estructura:

\[T \leftarrow A \rightarrow B \leftarrow C \rightarrow Y\]

Aquí \(B\) es un colisionador de \(A\) y \(C\). El camino \(T \leftarrow A \rightarrow B \leftarrow C \rightarrow Y\) está bloqueado por defecto (el colisionador \(B\) lo cierra). Pero si incluimos \(B\) en la regresión, abrimos ese camino y creamos sesgo. El nombre M-Bias viene de la forma en «M» que dibuja el DAG. El remedio es controlar tanto \(A\) como \(C\), que re-bloquea el camino que \(B\) había abierto.

3.3 El mediador#

La tercera estructura es la cadena o mediador:

\[T \rightarrow M \rightarrow Y\]

\(M\) transmite parte del efecto de \(T\) a \(Y\). Controlar \(M\) no introduce sesgo ni elimina confusión — simplemente cambia la pregunta que estamos respondiendo:

  • Sin controlar \(M\): el coeficiente de \(T\) captura el efecto total de \(T\) sobre \(Y\), incluyendo la parte que opera a través de \(M\).

  • Controlando \(M\): el coeficiente de \(T\) captura solo el efecto directo, la parte que no pasa por \(M\).

En el ejemplo del producto digital: si \(T\) es el lanzamiento de una nueva funcionalidad, \(M\) es el engagement de los usuarios e \(Y\) son los ingresos, el efecto total incluye tanto el impacto directo de la funcionalidad como el incremento de ingresos que llega vía mayor engagement. Si el equipo de producto quiere saber si el lanzamiento aumenta los ingresos en total, no debe controlar \(M\). Si quiere aislar el efecto sobre los ingresos que no pasa por el engagement, debe controlar \(M\). Ninguna de las dos respuestas es «incorrecta» — depende de cuál es la pregunta de negocio.

Verificación con simulación#

Con estas tres estructuras en mente, la simulación de identificación con DAGs permite verificar empíricamente cada uno de estos puntos. El dashboard presenta cuatro escenarios: Bifurcador, Colisionador, M-Bias y Mediador. En cada uno, el efecto causal verdadero de \(T\) sobre \(Y\) es exactamente 1.0. El estudiante elige qué variables incluir como controles y observa en tiempo real cómo el estimador de MCO se acerca o aleja del valor verdadero.

Antes de usar la simulación, razona a partir de las reglas anteriores: ¿qué variables deberías controlar en cada escenario para que el estimador sea insesgado?

  • Bifurcador: sin controlar \(Z\), ¿el coeficiente supera 1.0? Agrega \(Z\) y verifica si el sesgo desaparece.

  • Colisionador: sin controles, ¿el sesgo es aproximadamente cero? Agrega solo \(A\) — ¿aparece el sesgo? Condicionar sobre el colisionador abre el camino que antes estaba bloqueado.

  • Colisionador nuevamente: agrega \(A\) y \(B\) juntos. ¿Se recupera el efecto verdadero? Incluir \(B\) re-cierra el camino que \(A\) había abierto.

  • M-Bias: sin controles, ¿el estimador está cerca de 1.0? Agrega solo \(B\) — ¿el sesgo empeora en lugar de mejorar?

  • Mediador: sin controlar \(M\) obtienes el efecto total \(\approx 1.0\). Controla \(M\) — el coeficiente cae porque el canal indirecto queda absorbido por \(M\).


4. La separación-d y el criterio de la puerta trasera#

Las tres estructuras del apartado anterior no son solo ejemplos — son las piezas atómicas de cualquier DAG. El criterio formal que generaliza su lógica se llama separación-d (d-separation).

4.1 Reglas de separación-d#

Un camino entre \(T\) e \(Y\) está bloqueado por un conjunto de variables \(S\) si contiene al menos uno de los siguientes:

  1. Una cadena \(\cdots \rightarrow V \rightarrow \cdots\) o un bifurcador \(\cdots \leftarrow V \rightarrow \cdots\), donde \(V \in S\) (controlar la variable intermedia bloquea el camino).

  2. Un colisionador \(\cdots \rightarrow V \leftarrow \cdots\), donde \(V \notin S\) y ningún descendiente de \(V\) pertenece a \(S\) (el colisionador bloquea por defecto, y controlar algún descendiente lo re-abre).

De estas dos condiciones se derivan tres reglas operativas:

  1. Cadena \(T \rightarrow M \rightarrow Y\): abierto si \(M \notin S\); bloqueado si \(M \in S\).

  2. Bifurcador \(T \leftarrow Z \rightarrow Y\): abierto si \(Z \notin S\); bloqueado si \(Z \in S\).

  3. Colisionador \(T \rightarrow A \leftarrow (\cdots)\): bloqueado si \(A \notin S\) y ningún descendiente de \(A \in S\); abierto si \(A \in S\) o algún descendiente de \(A \in S\).

Un conjunto \(S\) d-separa \(T\) de \(Y\) si todos los caminos entre \(T\) e \(Y\) quedan bloqueados por \(S\). La formalización matemática completa se encuentra en el apéndice.

4.2 El criterio de la puerta trasera#

Las reglas de separación-d permiten enunciar el criterio que responde a nuestra pregunta original: ¿qué controles necesita la regresión para identificar el efecto causal de \(T\)?

Resultado (Criterio de la puerta trasera, Pearl 2009): Un conjunto \(S\) satisface el criterio de la puerta trasera con respecto al par \((T, Y)\) si:

  1. Ningún elemento de \(S\) es descendiente de \(T\).

  2. \(S\) bloquea todos los caminos de puerta trasera entre \(T\) e \(Y\).

Cuando \(S\) satisface el criterio, el efecto causal de \(T\) sobre \(Y\) es identificable por ajuste:

\[E[Y(t)] = \sum_s E[Y \mid T=t,\, S=s] \cdot P(S=s)\]

En modelos lineales, esta expresión se simplifica: la regresión de \(Y\) sobre \(T\) y las variables en \(S\) identifica el coeficiente causal de \(T\). La derivación aparece en el apéndice.

Volvamos al ejemplo de Shopify. El único camino de puerta trasera es \(T \leftarrow Z \rightarrow Y\). El conjunto \(S = \{Z\}\) satisface el criterio porque (i) el tamaño del comercio \(Z\) no es descendiente del gasto publicitario \(T\), y (ii) \(\{Z\}\) bloquea el único camino de puerta trasera. Por tanto, la regresión de ventas sobre gasto publicitario y tamaño del comercio identifica el efecto causal del gasto.

Nótese qué hace el criterio: no pide controlar «todo lo relevante» ni «todo lo correlacionado con \(T\)». Pide controlar exactamente lo necesario para bloquear los caminos de puerta trasera, sin condicionar sobre colisionadores ni sobre mediadores cuando la pregunta es el efecto total. Controlar de más puede ser tan perjudicial como controlar de menos.


5. Sesgo de selección por colisionador: la paradoja de Berkson#

Hasta ahora, los colisionadores aparecieron como variables que alguien podría tener la tentación de controlar. Pero existe una variante más peligrosa: cuando el proceso de selección de la muestra es el colisionador. En ese caso el sesgo no lo introduce el analista al incluir una variable — está incorporado en el diseño mismo del estudio.

Imagina que el equipo de personas de una empresa tecnológica de alto estándar quiere estudiar si el desempeño en el primer año (\(X\)) predice el éxito a largo plazo (\(Y\), medido como ascensos y permanencia a cinco años). Observan datos de todos sus empleados actuales y encuentran que la correlación es sorprendentemente negativa: los que más rindieron en el primer año tienen peores trayectorias a largo plazo. ¿El talento temprano «quema» a los empleados? No necesariamente.

El problema es estructural: para ser contratado por esa empresa de alto estándar, un candidato debe demostrar señales convincentes de calidad — ya sea un alto desempeño esperado (\(X\)) o un alto potencial a largo plazo esperado (\(Y\), vía referencias, proyectos previos, entrevistas). El proceso de selección condiciona implícitamente sobre la suma \(X + Y\): solo llegan a la muestra quienes superan un umbral conjunto. La variable \(S\) = «ser contratado» es causada tanto por \(X\) como por \(Y\):

\[X \rightarrow S \leftarrow Y\]

\(S\) es un colisionador. Al estudiar solo a los empleados contratados, condicionamos sobre \(S\). Y como vimos en la sección 3.2, condicionar sobre un colisionador abre el camino \(X \rightarrow S \leftarrow Y\), creando una correlación negativa artificial entre \(X\) e \(Y\) dentro de la muestra — incluso cuando en la población completa la correlación sea positiva o nula. Esto es la paradoja de Berkson.

La paradoja aparece siempre que una muestra es seleccionada condicionando — explícita o implícitamente — en una función de las variables de interés: estudios de startups que levantaron capital (seleccionadas en calidad del equipo + atractivo del mercado), estudios de atletas de élite que llegaron a competencias internacionales, estudios de pacientes hospitalizados (seleccionados en síntomas severos). En todos estos casos, la correlación observada en la muestra seleccionada puede diferir radicalmente de la correlación en la población general, e incluso invertir su signo.

La siguiente simulación permite explorar cuánto cambia la correlación observada según la intensidad de la selección.

  • Escenario Berkson (sin efecto causal real entre \(X\) e \(Y\)), retención al 75%: ¿es negativo el coeficiente en la muestra seleccionada, aunque en la población completa sea \(\approx 0\)?

  • Reduce la retención al 25%: ¿se intensifica la inversión de signo con selección más estricta?

  • Cambia al escenario Selección con \(\beta = 0.5\), retención al 50%: ¿la selección sobre un colisionador puede revertir incluso un efecto positivo real?

  • Vuelve a Berkson con retención al 90%: la paradoja casi desaparece — selección leve, distorsión leve.

¿Qué observamos?#

La simulación confirma que la paradoja de Berkson es una consecuencia directa de la estructura de colisionador, no de un error de medición ni de un tamaño de muestra insuficiente. A medida que la selección se vuelve más estricta (menor porcentaje retenido), la correlación en la muestra seleccionada se aleja más de la correlación en la población completa y puede invertir su signo incluso cuando el verdadero efecto causal es positivo.

El error es estructural: añadir más observaciones de la muestra seleccionada no corrige el problema. La correlación negativa se vuelve más precisa conforme crece \(n\), pero sigue apuntando en la dirección equivocada. La corrección requiere acceso a la población completa o un diseño que evite condicionar sobre el colisionador.


6. Los límites de los DAGs: cuando la puerta trasera no alcanza#

El criterio de la puerta trasera identifica el efecto causal siempre que exista un conjunto de variables observables \(S\) que bloquee todos los caminos de puerta trasera. Esta condición — que los economistas llaman independencia condicional de la asignación (CIA) o ignorabilidad condicional — es la misma que sustenta la estrategia de control de regresión discutida en la sección de regresión múltiple, ahora expresada en lenguaje de DAGs.

Pero en muchos problemas empíricos de interés, los confundidores clave no son observables. En el ejemplo de Shopify, si el tamaño del comercio \(Z\) no está registrado en los datos, no podemos bloquear el camino \(T \leftarrow Z \rightarrow Y\) por ajuste de regresión. Ningún control estadístico puede reemplazar una variable que no existe en los datos.

Existe, sin embargo, una excepción puramente basada en el grafo: si el efecto causal de \(T\) sobre \(Y\) opera en su totalidad a través de un mediador completamente observable — y si ese mediador no es causado directamente por el confundidor no observado — entonces el criterio de la puerta delantera puede identificar el efecto causal sin necesidad de observar el confundidor. La sección 7 desarrolla este caso.

Cuando ni siquiera esa estructura está disponible, se necesitan estrategias de identificación más fuertes: métodos que explotan variación exógena en el tratamiento para construir un contrafáctico creíble sin necesidad de controlar el confundidor directamente. Las secciones siguientes de este capítulo presentan los principales métodos cuasi-experimentales — incluyendo la estrategia de diferencias en diferencias que ya vimos. En todos ellos, el lenguaje de los DAGs sigue siendo útil para formalizar qué identifica el método y bajo qué supuestos — solo que la condición de identificación no es el criterio de la puerta trasera sino un criterio diferente que no requiere observar \(Z\).


Apéndice: Derivaciones formales#

A.1 El sesgo por omisión y el criterio de la puerta trasera#

Consideramos el proceso generador del bifurcador con \(\text{Var}(Z) = 1\):

\[Z \sim \mathcal{N}(0, 1), \quad T = \gamma Z + \varepsilon_T, \quad Y = \beta T + \delta Z + \varepsilon_Y\]

donde \(\varepsilon_T \sim \mathcal{N}(0, \sigma^2_{\varepsilon_T})\), \(\varepsilon_Y \sim \mathcal{N}(0, \sigma^2_{\varepsilon_Y})\), independientes entre sí y de \(Z\).

Paso 1 — Calculamos las covarianzas relevantes:

\[\text{Cov}(T, Z) = \gamma, \qquad \text{Var}(T) = \gamma^2 + \sigma^2_{\varepsilon_T}\]
\[\text{Cov}(Y, T) = \beta \text{Var}(T) + \delta \text{Cov}(Z, T) = \beta(\gamma^2 + \sigma^2_{\varepsilon_T}) + \delta\gamma\]

Paso 2 — El estimador MCO de \(Y\) sobre \(T\) sin \(Z\) converge en probabilidad a:

\[\text{plim}\,\hat{\beta}_{naive} = \frac{\text{Cov}(Y, T)}{\text{Var}(T)} = \beta + \frac{\delta\gamma}{\gamma^2 + \sigma^2_{\varepsilon_T}}\]

El segundo término es el sesgo por omisión de variable (OVB). Este resultado conecta directamente con la fórmula de OVB discutida en la sección de regresión múltiple.

Paso 3 — Con el ajuste de la puerta trasera (\(S = \{Z\}\)): el modelo correctamente especificado es \(Y = \beta T + \delta Z + \varepsilon_Y\). Dado que \(\varepsilon_Y\) es independiente de \(T\) y \(Z\) por construcción, el estimador MCO de la regresión \(Y \sim T + Z\) es insesgado: \(\text{plim}\,\hat{\beta} = \beta\).

A.2 Formalización de la separación-d#

Definición (camino bloqueado). Sea \(\pi\) un camino entre dos nodos en un DAG, y sea \(S\) un conjunto de nodos. El camino \(\pi\) está bloqueado por \(S\) si existe al menos un nodo \(V\) en \(\pi\) tal que:

(a) \(V\) es una cadena o bifurcador en \(\pi\) (es decir, \(\cdots \rightarrow V \rightarrow \cdots\) o \(\cdots \leftarrow V \rightarrow \cdots\)), y \(V \in S\); o

(b) \(V\) es un colisionador en \(\pi\) (es decir, \(\cdots \rightarrow V \leftarrow \cdots\)), y \(V \notin S\) y ningún descendiente de \(V\) pertenece a \(S\).

Definición (d-separación). Dos nodos \(X\) e \(Y\) están d-separados por \(S\) si todos los caminos entre \(X\) e \(Y\) son bloqueados por \(S\). En caso contrario se dice que están d-conectados dado \(S\).

Teorema (Pearl 2009). En cualquier DAG, \(X\) e \(Y\) son d-separados por \(S\) si y solo si \(X \perp\!\!\!\perp Y \mid S\) en toda distribución de probabilidad compatible con el DAG.

Corolario (identificación por la puerta trasera). Sea \(S\) un conjunto que satisface el criterio de la puerta trasera con respecto a \((T, Y)\). Entonces el efecto del operador do (intervención de Pearl) es identificable:

\[P(Y \mid do(T = t)) = \int P(Y \mid T = t,\, S = s)\, dP(s)\]

donde \(do(T = t)\) denota fijar \(T\) a \(t\) eliminando todas las flechas que apuntan hacia \(T\) en el DAG. En el caso lineal, esta integral se reduce al coeficiente de \(T\) en la regresión de \(Y\) sobre \(T\) y \(S\).

Poné a prueba lo que aprendiste#

Referencias#

Los dashboards interactivos de esta sección se apoyan en Pearl and Mackenzie [2018], Pearl [2009], Pearl et al. [2016] y Cinelli et al. [2022].

[CFP22]

Carlos Cinelli, Andrew Forney, and Judea Pearl. A crash course in good and bad controls. Sociological Methods & Research, 2022.

[Pea09]

Judea Pearl. Causality: Models, Reasoning, and Inference. Cambridge University Press, 2nd edition, 2009.

[PGJ16]

Judea Pearl, Madelyn Glymour, and Nicholas P Jewell. Causal Inference in Statistics: A Primer. Wiley, 2016.

[PM18]

Judea Pearl and Dana Mackenzie. The book of why: the new science of cause and effect. Basic books, 2018.