Saltar al contenido
Inferencia Causal con Python y Causal ML

Métodos de Estimación de Efectos Causales con Datos Observacionales.

Introducción

Los métodos de estimación de efectos causales con datos observacionales son una herramienta crucial en la investigación social, médica y económica. Estos métodos permiten determinar el impacto de un tratamiento o intervención en un resultado de interés en entornos no experimentales. En tales casos, los investigadores no pueden asignar aleatoriamente individuos a diferentes tratamientos o condiciones, por lo que deben identificar grupos comparables en términos de características relevantes. Luego, utilizan técnicas estadísticas para estimar el efecto de una variable sobre otra.

Entre los métodos comunes de estimación de efectos causales con datos observacionales se encuentran el "matching", los modelos de regresión, la diferencia-en-diferencias y la regresión discontinua. Cada uno tiene sus propias ventajas y limitaciones, dependiendo de factores como la disponibilidad de datos, el número de variables de control y la calidad de la información.

Estos métodos brindan a los investigadores la capacidad de obtener conclusiones significativas y útiles sobre el impacto de una intervención sin necesidad de realizar experimentos costosos o poco prácticos. Sin embargo, es esencial considerar las limitaciones y supuestos de cada método, así como la calidad de los datos utilizados, para obtener resultados confiables y válidos.

Resumen

Los métodos de estimación de efectos causales con datos observacionales son fundamentales para identificar el efecto causal de una variable de tratamiento o exposición sobre una variable de resultado o respuesta, sin la necesidad de llevar a cabo un experimento controlado. Aquí tienes un resumen de los principales métodos utilizados para este fin:

  1. Regresión lineal: Utiliza una regresión para examinar la relación entre la variable de tratamiento y la variable de resultado, controlando por otras variables que puedan estar relacionadas con ambas.

  2. Matching: Empareja individuos con características similares que hayan recibido diferentes niveles de tratamiento o exposición, reduciendo así las diferencias sistemáticas entre los grupos. Luego, se comparan estos individuos para calcular el efecto causal.

  3. Propensity Score Matching: Se centra en estimar la probabilidad de recibir un determinado tratamiento o exposición (llamada probabilidad de propensión), que se utiliza para emparejar a los individuos en grupos con propensiones similares. Estos grupos se comparan para calcular el efecto causal.

  4. Variable Instrumental: Utiliza una variable instrumental independiente del efecto causal y relacionada únicamente con la variable de tratamiento. Esta variable se utiliza para controlar otros factores que podrían afectar tanto al tratamiento como a la variable de resultado.

  5. Regresión Discontinua: Se emplea cuando la asignación del tratamiento es discontinua, como en un límite de edad o ingreso, y se observa un cambio abrupto en la variable de resultado alrededor de este límite.

En conclusión, estos métodos son valiosos para analizar y comprender el efecto causal de una variable de tratamiento sobre una variable de resultado sin necesidad de realizar un experimento controlado. No obstante, es esencial considerar las limitaciones y supuestos de cada método para interpretar correctamente los resultados obtenidos.

Aplicación teórica

Propensity Score Matching (Emparejamiento por Puntuación de Propensión)

El Propensity Score Matching (PSM), o emparejamiento por puntuación de propensión, es una técnica estadística utilizada para estimar el efecto causal de una intervención o tratamiento cuando no es posible realizar un experimento aleatorio controlado. La idea principal del PSM es equilibrar las características observadas entre los grupos de tratamiento y control para aproximarse a la comparación que se lograría en un experimento aleatorio.

Definición Matemática

El propensity score, o puntuación de propensión, es la probabilidad de recibir el tratamiento dado un conjunto de características observadas. Matemáticamente, para un individuo \( i \), la puntuación de propensión se define como:

\[
e_i = P(T_i = 1 \mid X_i)
\]

donde \( T_i \) es una variable indicadora que toma el valor 1 si el individuo \( i \) recibe el tratamiento y 0 si no lo recibe, y \( X_i \) representa un vector de características observadas.

Proceso de Emparejamiento

1. Estimación del Propensity Score:
   - Se estima la puntuación de propensión utilizando un modelo estadístico, como la regresión logística, donde la variable dependiente es el tratamiento recibido y las variables independientes son las características observadas. El modelo proporciona una estimación de \( e_i \) para cada individuo.

2. Emparejamiento:
   - Se emparejan individuos del grupo de tratamiento con individuos del grupo de control que tienen puntuaciones de propensión similares. Esto se puede hacer mediante varios métodos, como el emparejamiento exacto, emparejamiento por el vecino más cercano, o el emparejamiento por estratos.

3. Análisis del Efecto del Tratamiento:
   - Una vez que los grupos de tratamiento y control están equilibrados en términos de puntuación de propensión, se compara el resultado del tratamiento entre los grupos para estimar el efecto causal del tratamiento. 

Propiedades Matemáticas

1. Equilibrio:
   - El objetivo del emparejamiento por puntuación de propensión es lograr equilibrio en las covariables entre los grupos de tratamiento y control. Esto significa que la distribución de las características observadas debería ser similar en ambos grupos después del emparejamiento.

2. Reducción de Sesgo:
   - El emparejamiento busca reducir el sesgo asociado con la selección no aleatoria al equilibrar las covariables. Aunque no puede eliminar el sesgo por completo, puede reducirlo significativamente cuando se cumplen las condiciones adecuadas.

3. Estimación del Efecto del Tratamiento:
   - La estimación del efecto del tratamiento se basa en la comparación de los resultados entre los grupos emparejados. La precisión de la estimación depende de la calidad del emparejamiento y de cómo se haya estimado la puntuación de propensión.

Aplicaciones

- Investigaciones Observacionales: Se utiliza en estudios donde no es posible asignar aleatoriamente a los sujetos al grupo de tratamiento o control.
- Evaluación de Políticas: Permite estimar el impacto de políticas o programas en contextos reales.
- Investigaciones Médicas: Ayuda a evaluar el impacto de tratamientos o intervenciones en datos de cohortes observacionales.

El emparejamiento por puntuación de propensión es una herramienta valiosa para intentar aproximar las condiciones de un experimento aleatorio en estudios observacionales, pero su efectividad depende de la calidad de las características observadas y de la correcta implementación del proceso de emparejamiento.

Regresión Ajustada por Variables Confusoras

La regresión ajustada por variables confusoras se utiliza para entender mejor la relación entre una variable independiente y una variable dependiente al considerar el impacto de otras variables que pueden estar afectando esta relación. Las variables confusoras son aquellas que están relacionadas tanto con la variable independiente como con la dependiente, y que pueden distorsionar la estimación del verdadero efecto de la variable independiente sobre la variable dependiente.

En un modelo de regresión lineal múltiple, la ecuación general que describe esta relación es:

\[
Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k + \epsilon
\]

Aquí, \(Y\) representa la variable dependiente que se está tratando de predecir o explicar, mientras que \(X_1, X_2, \ldots, X_k\) son las variables independientes, incluyendo las posibles variables confusoras. El término \(\beta_0\) es el intercepto del modelo, mientras que \(\beta_1, \beta_2, \ldots, \beta_k\) son los coeficientes que indican la influencia de cada variable independiente en la variable dependiente. El término \(\epsilon\) es el error del modelo, que captura la variabilidad en \(Y\) no explicada por las variables independientes.

Cuando se incluyen variables confusoras en el modelo, se está buscando ajustar el efecto de estas variables para obtener una estimación más precisa del impacto de cada variable independiente de interés. Por ejemplo, si se está estudiando la relación entre el ejercicio físico y la salud, y se sabe que la edad también afecta la salud, la edad puede ser una variable confusora. Al incluir la edad en el modelo, se puede separar el efecto del ejercicio físico sobre la salud del efecto que la edad tiene sobre la salud.

El objetivo principal de ajustar por variables confusoras es obtener una estimación más precisa del efecto de las variables independientes en la variable dependiente. Si no se ajusta por estas variables, se corre el riesgo de obtener estimaciones sesgadas que no reflejan adecuadamente la verdadera relación entre las variables de interés. Este ajuste ayuda a reducir el sesgo al controlar por factores que podrían estar influyendo en la relación estudiada.

Sin embargo, la inclusión de muchas variables confusoras puede introducir problemas de multicolinealidad, donde las variables independientes están altamente correlacionadas entre sí. Esto puede afectar la estabilidad y la precisión de las estimaciones de los coeficientes en el modelo de regresión.

En resumen, la regresión ajustada por variables confusoras es una técnica esencial para obtener estimaciones precisas y confiables de las relaciones entre variables, permitiendo un análisis más riguroso y una interpretación más clara de los efectos causales en diversos contextos de investigación.

Diseño de Estudios Cuasi-Experimentales

El diseño de estudios cuasi-experimentales se utiliza en situaciones en las que no es posible implementar un experimento controlado aleatorio completo, pero aún así se quiere investigar el efecto de una intervención o tratamiento. Estos diseños se asemejan a los experimentos controlados en su objetivo de establecer relaciones causales, pero carecen de una asignación aleatoria de las unidades de estudio a los grupos de tratamiento y control. 

Características de los Estudios Cuasi-Experimentales

En los estudios cuasi-experimentales, se observan las diferencias entre los grupos que reciben la intervención y los que no la reciben. A menudo, estos estudios se basan en grupos que ya existen, en lugar de crear grupos de manera aleatoria. Esto puede ser debido a restricciones prácticas, éticas o logísticas. A continuación, se explican algunos conceptos clave en el diseño de estudios cuasi-experimentales:

1. Grupos de Tratamiento y Control:
   En un estudio cuasi-experimental, los participantes se dividen en grupos de tratamiento y control, pero la asignación a estos grupos no es aleatoria. Los grupos pueden ser seleccionados en función de características preexistentes o basándose en otros criterios prácticos. Los grupos de tratamiento reciben la intervención o el tratamiento, mientras que los grupos de control no lo reciben.

2. Diseño de Series Temporales Interrumpidas:
   Este diseño implica la recopilación de datos en múltiples puntos antes y después de la intervención. El objetivo es observar los cambios en la variable dependiente a lo largo del tiempo y determinar si la intervención ha tenido un impacto significativo. Este diseño es útil para evaluar el efecto de políticas o programas que se implementan en un momento específico.

3. Diseño de Grupos No Equivalentes:
   En este diseño, se comparan grupos que no son equivalentes en términos de características iniciales. Por ejemplo, se puede comparar un grupo que ha recibido una intervención con un grupo que no la ha recibido, pero los grupos pueden diferir en varios aspectos antes de la intervención. Los investigadores deben tener cuidado al interpretar los resultados debido a la falta de aleatorización.

4. Diseño de Casos y Controles:
   Aunque más comúnmente asociado con estudios observacionales, este diseño también puede utilizarse en estudios cuasi-experimentales. En este diseño, se comparan individuos que han recibido la intervención (casos) con aquellos que no la han recibido (controles) para identificar diferencias en los resultados.

5. Control de Variables Confusoras:
   Dado que la asignación no es aleatoria, es crucial controlar las variables confusoras que podrían influir en los resultados. Esto se puede hacer mediante la inclusión de covariables en el análisis estadístico, emparejamiento de grupos en función de características similares, o mediante el uso de técnicas estadísticas avanzadas para ajustar las diferencias entre los grupos.

Ventajas y Desventajas

Ventajas:
- Viabilidad Práctica: Permite investigar efectos en situaciones en las que no es posible o ético realizar un experimento aleatorio completo.
- Relevancia Aplicada: Los estudios cuasi-experimentales pueden proporcionar evidencia en contextos del mundo real, lo que puede ser útil para la toma de decisiones.

Desventajas:
- Menor Control sobre Variables Confusoras: La falta de aleatorización puede introducir sesgos y hacer que sea más difícil establecer causalidad.
- Menor Rigor: Los resultados pueden ser menos confiables debido a la falta de control sobre las variables externas y la posibilidad de sesgos de selección.

En resumen, el diseño de estudios cuasi-experimentales proporciona una alternativa valiosa cuando los experimentos aleatorios no son posibles, aunque los resultados deben interpretarse con cautela debido a las limitaciones inherentes en el control de variables confusoras y la falta de aleatorización.

 

Aplicación práctica

Un ejemplo práctico en Python de cómo aplicar el método de Propensity Score Matching para estimar el efecto causal de un tratamiento sobre una variable de interés en datos observacionales:

 

Supongamos que queremos estimar el efecto causal de un nuevo medicamento sobre la mejoría de la salud de un paciente. Para ello, disponemos de un conjunto de datos observacionales con información sobre 100 pacientes, 50 de los cuales recibieron el nuevo medicamento (grupo de tratamiento) y los otros 50 no (grupo de control). Además, disponemos de varias variables de control que podrían afectar tanto la asignación al tratamiento como la mejoría en la salud, tales como la edad, el género, el índice de masa corporal (IMC) y el nivel educativo. Lo primero que hacemos es cargar los datos y preprocesarlos:


import pandas as pd
import numpy as np

data = pd.read_csv('datos_pacientes.csv')

# Separar grupo de tratamiento y de control
tratamiento = data.loc[data['tratamiento'] == 1]
control = data.loc[data['tratamiento'] == 0]

# Asignar tratamiento a variable dependiente y demás variables como independientes
y_trat = tratamiento['mejoria_salud']
X_trat = tratamiento[['edad', 'genero', 'IMC', 'educacion']]

y_ctrl = control['mejoria_salud']
X_ctrl = control[['edad', 'genero', 'IMC', 'educacion']]

Luego, utilizamos el método de Propensity Score Matching para igualar la distribución de las variables de control entre el grupo de tratamiento y el grupo de control. Esto se hace mediante el cálculo del Propensity Score, que es la probabilidad de asignación al tratamiento condicionada a las variables de control:


# Convertir variables categóricas en variables dummy (one-hot encoding)
X_trat_encoded = pd.get_dummies(X_trat, columns=['genero', 'educacion'])
X_ctrl_encoded = pd.get_dummies(X_ctrl, columns=['genero', 'educacion'])

# Entrenar modelo de regresión logística para obtener Propensity Score
prop_score_model = LogisticRegression()
prop_score_model.fit(np.vstack([X_trat_encoded, X_ctrl_encoded]), np.hstack([np.ones(len(y_trat)), np.zeros(len(y_ctrl))]))

prop_scores = prop_score_model.predict_proba(np.vstack([X_trat_encoded, X_ctrl_encoded]))[:,1]

# Hacer Match entre pacientes del grupo de tratamiento y de control utilizando los Propensity Scores
nbrs = NearestNeighbors(n_neighbors=1, algorithm='ball_tree').fit(prop_scores.reshape(-1, 1))
distances, indices = nbrs.kneighbors(prop_scores.reshape(-1, 1))
matched_control_idx = indices[len(y_trat):].ravel()

Finalmente, estimamos el efecto causal del tratamiento como la diferencia de la media de la variable de interés entre el grupo de tratamiento y el grupo de control después de aplicar el Propensity Score Matching:


# Estimar efecto causal utilizando Propensity Score Matching
te_est = y_trat.mean() - y_ctrl[matched_control_idx].mean()

Este es un ejemplo básico de cómo aplicar el método de Propensity Score Matching para estimar el efecto causal de un tratamiento en datos observacionales utilizando Python. Hay muchas otras técnicas de estimación de efectos causales, como la Regresión Discontinua, la Diferencia en Diferencias, etc., y cada técnica tiene sus propias ventajas y limitaciones dependiendo del contexto y los datos disponibles.