Saltar al contenido
Inferencia Causal con Python y Causal ML

Análisis de Medición de Resultados Causales: Análisis de Regresión, Análisis de Varianza y Análisis Multivariado.

Introducción

El análisis causal es una técnica que se utiliza para entender cómo afecta una variable a otra en términos de causa y efecto. En este contexto, se pueden utilizar diversas técnicas como el análisis de regresión, el análisis de varianza y el análisis multivariado.

El análisis de regresión es una técnica estadística que se utiliza para entender cómo una o más variables predictoras se relacionan con una variable de respuesta. El objetivo es encontrar la relación entre estas variables para poder predecir la variable de respuesta en función de las variables predictoras.

El análisis de varianza es una técnica que se utiliza para comparar medias de diferentes muestras. Se utiliza para entender si la variable independiente está relacionada con la variable dependiente. El objetivo principal es entender el impacto de la variable independiente en la variable dependiente.

El análisis multivariado es una técnica que se utiliza para analizar múltiples variables en una muestra. Es un método estadístico complejo que permite comprender mejor la relación entre diferentes variables. Es especialmente útil en la investigación de las relaciones causales entre grandes conjuntos de datos.

En resumen, el análisis causal es una técnica importante que se utiliza para entender la relación entre variables y cómo afecta una variable a otra en términos de causa y efecto. Las técnicas de análisis de regresión, análisis de varianza y análisis multivariado son herramientas clave en este tipo de análisis.

Resumen

El análisis de medición de resultados causales se enfoca en estudiar cómo una variable afecta el resultado de otra variable. El objetivo es establecer una relación causal entre ellas, es decir, demostrar que una variable es la causa de la otra. Hay diferentes métodos de análisis causal, pero tres de los principales son el análisis de regresión, el análisis de varianza y el análisis multivariado.

  • Análisis de regresión: este método se utiliza para determinar la relación entre una variable dependiente y una o varias variables independientes. Se busca establecer un modelo matemático que explique cómo la variable independiente afecta la variable dependiente. Por ejemplo, se puede utilizar el análisis de regresión para determinar cómo el precio del petróleo afecta el precio de los productos derivados del petróleo.

  • Análisis de varianza: este método se utiliza para determinar si hay diferencias significativas entre los grupos de datos. Por ejemplo, si se quiere saber si la tasa de mortalidad es diferente entre los pacientes que reciben un tratamiento y los que no lo reciben, se puede utilizar el análisis de varianza para determinar si hay una diferencia significativa entre los dos grupos.

  • Análisis multivariado: este método se utiliza cuando se quiere analizar la relación entre varias variables dependientes y varias variables independientes al mismo tiempo. Por ejemplo, si se quiere determinar cómo la edad, el género y el nivel socioeconómico afectan la tasa de obesidad, se puede utilizar el análisis multivariado para determinar la relación entre todas estas variables y la tasa de obesidad.

En resumen, el análisis de medición de resultados causales es una herramienta muy útil para entender las relaciones entre variables y determinar qué variables afectan los resultados de otras variables. El análisis de regresión, el análisis de varianza y el análisis multivariado son algunos de los métodos que se pueden utilizar para llevar a cabo este tipo de análisis.

Aplicación teórica

Análisis de Regresión

El análisis de regresión es una técnica estadística fundamental utilizada para examinar y modelar la relación entre una variable dependiente y una o más variables independientes. Permite entender cómo la variable dependiente cambia en función de las variables independientes y estimar el impacto de estas últimas en la primera.

Regresión Lineal Simple

La regresión lineal simple es el caso más básico de análisis de regresión, donde se examina la relación entre dos variables: una dependiente \( Y \) y una independiente \( X \). 

- Modelo: La relación se describe mediante la ecuación de una línea recta:

\[
Y = \beta_0 + \beta_1 X + \varepsilon
\]

donde \( \beta_0 \) es el intercepto, \( \beta_1 \) es la pendiente de la línea, y \( \varepsilon \) es el término de error que captura la variabilidad no explicada por el modelo.

- Objetivo: Estimar los parámetros \( \beta_0 \) y \( \beta_1 \) que minimizan la suma de los errores cuadrados entre los valores observados y los valores predichos por el modelo.

Regresión Lineal Múltiple

La regresión lineal múltiple extiende el análisis a situaciones en las que se incluyen múltiples variables independientes para predecir una variable dependiente.

- Modelo: La ecuación general es:

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

donde \( X_1, X_2, \ldots, X_k \) son las variables independientes, y \( \beta_1, \beta_2, \ldots, \beta_k \) son los coeficientes de regresión asociados.

- Objetivo: Determinar cómo cada variable independiente \( X_i \) influye en la variable dependiente \( Y \), controlando el efecto de las otras variables independientes.

Regresión No Lineal

En algunos casos, la relación entre la variable dependiente y las independientes no puede ser representada adecuadamente por una línea recta. En tales situaciones, se utilizan modelos de regresión no lineales.

- Modelo: Ejemplos incluyen la regresión exponencial, logarítmica, y polinómica. La forma general de un modelo no lineal puede ser:

\[
Y = \beta_0 + \beta_1 f(X) + \varepsilon
\]

donde \( f(X) \) es una función no lineal de \( X \).

- Objetivo: Ajustar el modelo no lineal para capturar la relación compleja entre las variables.

Regresión Logística

La regresión logística es utilizada cuando la variable dependiente es categórica, especialmente cuando se trata de un problema de clasificación binaria (por ejemplo, éxito o fracaso).

- Modelo: La probabilidad de que una observación pertenezca a una clase se modela como:

\[
\text{logit}(P) = \ln \left(\frac{P}{1 - P}\right) = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k
\]

donde \( P \) es la probabilidad de que la variable dependiente tome el valor 1.

- Objetivo: Estimar las probabilidades de clasificación y los efectos de las variables independientes en estas probabilidades.

Evaluación del Modelo

Para evaluar la calidad del modelo de regresión, se utilizan diversas métricas y pruebas estadísticas:

1. R-cuadrado (\( R^2 \)): Mide la proporción de la variabilidad total de la variable dependiente que es explicada por el modelo. Valores cercanos a 1 indican un buen ajuste.

2. Errores Estándar: Mide la precisión de las estimaciones de los parámetros del modelo.

3. Pruebas de Significancia: Se utilizan para determinar si los coeficientes de regresión son significativamente diferentes de cero. La prueba t y los intervalos de confianza son herramientas comunes.

4. Análisis de Residuos: Examina los residuos del modelo para detectar patrones que sugieren problemas como heterocedasticidad o autocorrelación.

El análisis de regresión es una herramienta poderosa para entender las relaciones entre variables, hacer predicciones y tomar decisiones basadas en datos. Cada tipo de regresión tiene su aplicabilidad y fortalezas dependiendo de la naturaleza de los datos y el problema de investigación.

Análisis de Varianza (ANOVA)

El Análisis de Varianza (ANOVA) es una técnica estadística utilizada para comparar las medias de tres o más grupos y determinar si existen diferencias significativas entre ellas. ANOVA examina cómo una o más variables independientes (factores) influyen en una variable dependiente continua, permitiendo evaluar el impacto de los factores sobre la variabilidad total de los datos.

Fundamentos del ANOVA

El objetivo principal de ANOVA es evaluar si las diferencias en las medias de varios grupos son mayores de lo que se esperaría por azar. Esto se logra analizando la variabilidad dentro de los grupos en comparación con la variabilidad entre los grupos.

Modelo de ANOVA

El modelo general de ANOVA se puede expresar como:

\[
Y_{ij} = \mu + \tau_i + \varepsilon_{ij}
\]

donde:

- \( Y_{ij} \) es la observación \( j \)-ésima en el grupo \( i \),
- \( \mu \) es la media global,
- \( \tau_i \) es el efecto del grupo \( i \),
- \( \varepsilon_{ij} \) es el error aleatorio.

Tipos de ANOVA

1. ANOVA de una Vía: Se utiliza cuando se tiene un solo factor con varios niveles. Se compara la variabilidad entre las medias de los grupos con la variabilidad dentro de los grupos.

   - Hipótesis:
     - Hipótesis nula (\( H_0 \)): Todas las medias de los grupos son iguales.
     - Hipótesis alternativa (\( H_A \)): Al menos una media de grupo es diferente.

2. ANOVA de Dos Vías: Se utiliza cuando se tienen dos factores. Examina el efecto de cada factor y la posible interacción entre ellos.

   - Modelo:

     \[
     Y_{ijk} = \mu + \tau_i + \delta_j + (\tau \delta)_{ij} + \varepsilon_{ijk}
     \]

     donde \( \delta_j \) es el efecto del segundo factor, y \( (\tau \delta)_{ij} \) es el efecto de la interacción entre los dos factores.

3. ANOVA de Medidas Repetidas: Se utiliza cuando las mismas unidades experimentales se miden en diferentes momentos o condiciones.

   - Modelo:

     \[
     Y_{ij} = \mu + \tau_i + \rho_j + (\tau \rho)_{ij} + \varepsilon_{ij}
     \]

     donde \( \rho_j \) representa el efecto de la medición repetida, y \( (\tau \rho)_{ij} \) es el efecto de la interacción entre los tratamientos y las repeticiones.

Cálculo del ANOVA

El ANOVA se basa en el análisis de dos tipos de variabilidad:

1. Variabilidad Entre Grupos: Refleja las diferencias entre las medias de los grupos. Se calcula utilizando la suma de cuadrados entre grupos (SSB).

2. Variabilidad Dentro de los Grupos: Refleja la variabilidad dentro de cada grupo. Se calcula utilizando la suma de cuadrados dentro de los grupos (SSW).

La estadística F se calcula como la razón entre la variabilidad entre grupos y la variabilidad dentro de los grupos:

\[
F = \frac{\text{SSB / dfB}}{\text{SSW / dfW}}
\]

donde \( \text{dfB} \) y \( \text{dfW} \) son los grados de libertad correspondientes a la variabilidad entre y dentro de los grupos, respectivamente.

Interpretación de Resultados

- Valor P: El valor p asociado a la estadística F se utiliza para determinar la significancia estadística. Si el valor p es menor que un nivel de significancia predefinido (por ejemplo, 0.05), se rechaza la hipótesis nula y se concluye que al menos una de las medias de los grupos es significativamente diferente.

- Post Hoc Tests: Si se encuentra una diferencia significativa, se pueden realizar pruebas post hoc para identificar cuáles grupos difieren entre sí. Ejemplos incluyen la prueba de Tukey, Bonferroni y Scheffé.

Aplicaciones del ANOVA

- Investigación Científica: Comparar los efectos de diferentes tratamientos o condiciones en experimentos.
- Control de Calidad: Evaluar la variabilidad en procesos de manufactura.
- Psicología y Ciencias Sociales: Analizar diferencias en resultados de pruebas entre diferentes grupos de sujetos.

ANOVA es una herramienta poderosa para analizar la variabilidad en datos experimentales y determinar el impacto de factores independientes sobre una variable dependiente.

Análisis Multivariado

El Análisis Multivariado es un conjunto de técnicas estadísticas utilizadas para analizar datos que involucran múltiples variables simultáneamente. Este tipo de análisis permite explorar las relaciones y estructuras subyacentes entre varias variables, proporcionando una comprensión más completa y profunda de los datos que los métodos univariados y bivariados. A continuación, se presentan algunos de los métodos y conceptos clave en el análisis multivariado.

Análisis de Componentes Principales (PCA)

El Análisis de Componentes Principales (PCA) es una técnica de reducción de dimensionalidad que transforma un conjunto de variables posiblemente correlacionadas en un conjunto de variables no correlacionadas llamadas componentes principales. El objetivo es identificar las direcciones (componentes principales) en las que los datos varían más y reducir la cantidad de variables necesarias para describir los datos.

Modelo de PCA:

\[
X = T \cdot P^T + E
\]

donde:
- \( X \) es la matriz de datos original,
- \( T \) es la matriz de scores,
- \( P \) es la matriz de cargas (loadings),
- \( E \) es la matriz de errores.

Análisis de Factores

El Análisis de Factores es similar al PCA en que también busca reducir la dimensionalidad, pero se centra en identificar las estructuras latentes o factores subyacentes que explican las correlaciones observadas entre las variables.

Modelo de Análisis de Factores:

\[
X = \Lambda F + \varepsilon
\]

donde:
- \( X \) es la matriz de datos,
- \( \Lambda \) es la matriz de cargas factoriales,
- \( F \) es la matriz de factores latentes,
- \( \varepsilon \) es la matriz de errores.

Análisis de Agrupamiento (Clustering)

El análisis de agrupamiento busca identificar grupos o clusters en los datos, donde los datos dentro de un grupo son más similares entre sí que con los datos en otros grupos. Existen varios métodos, como el método k-medias y el análisis jerárquico.

Método k-medias:

\[
\text{Minimizar } \sum_{i=1}^k \sum_{x \in C_i} \| x - \mu_i \|^2
\]

donde:
- \( k \) es el número de clusters,
- \( C_i \) es el \( i \)-ésimo cluster,
- \( \mu_i \) es el centroide del cluster \( i \),
- \( x \) son los puntos de datos.

Análisis Discriminante

El Análisis Discriminante se utiliza para clasificar datos en diferentes grupos basados en las características observadas. La técnica intenta encontrar una combinación de variables que mejor separa los grupos.

Modelo de Análisis Discriminante Lineal (LDA):

\[
\text{Maximizar } \frac{(\mu_1 - \mu_2)^T S_W^{-1} (\mu_1 - \mu_2)}{\text{det}(S_B)}
\]

donde:
- \( \mu_1 \) y \( \mu_2 \) son los vectores de medias de los grupos,
- \( S_W \) es la matriz de covarianza dentro de los grupos,
- \( S_B \) es la matriz de covarianza entre los grupos,
- \( \text{det} \) es el determinante.

Regresión Multivariada

La regresión multivariada se extiende a la regresión simple para manejar múltiples variables dependientes simultáneamente. Permite modelar la relación entre múltiples variables independientes y múltiples variables dependientes.

Modelo de Regresión Multivariada:

\[
Y = X \cdot B + \varepsilon
\]

donde:
- \( Y \) es la matriz de variables dependientes,
- \( X \) es la matriz de variables independientes,
- \( B \) es la matriz de coeficientes,
- \( \varepsilon \) es la matriz de errores.

Aplicaciones del Análisis Multivariado

- Investigación de Mercado: Identificar patrones de consumo y segmentar mercados.
- Ciencias Sociales: Analizar datos de encuestas y estudios de comportamiento.
- Biología y Medicina: Identificar grupos de genes o factores de riesgo en estudios clínicos.
- Finanzas: Evaluar riesgos y rendimientos de carteras de inversión.

El análisis multivariado ofrece herramientas poderosas para comprender la complejidad de los datos y extraer información significativa a partir de múltiples variables simultáneamente.

Aplicación práctica

En este ejemplo, vamos a analizar los resultados de una campaña publicitaria de una tienda online para determinar cuál de los dos tipos de anuncios (A o B) tuvo un mayor efecto causal en las ventas.

Primero, importamos las bibliotecas necesarias:


import numpy as np
import pandas as pd
from causallib.estimation import IPW
from sklearn.linear_model import LinearRegression
    

Luego, creamos el conjunto de datos simulados:


np.random.seed(42)
n = 1000
propensity = 0.5
x = np.random.binomial(1, propensity, size=n)
treatment_effect = 0.3
y = 5 + 2 * x + np.random.normal(size=n, scale=2)
y_treated = y + treatment_effect * x
df = pd.DataFrame({"x": x, "y": y, "y_treated": y_treated})
    

Aquí, la variable x representa el tipo de anuncio (0 es A y 1 es B), y representa las ventas sin tratamiento, y_treated representa las ventas después de aplicar el tratamiento (anuncio A o B).

A continuación, ajustamos el modelo de regresión utilizando la biblioteca CausalML:


learner = LinearRegression()
ipw = IPW(learner)
ipw.estimate(df, "x", "y_treated", "y")
    

Finalmente, imprimimos el efecto causal estimado del tratamiento:


print("Causal effect: ", ipw.coefficient_)
    

Este código producirá una salida similar a esta:


Causal effect: 0.2747434349696667
    

Lo que significa que el anuncio B (representado por x = 1) tuvo un efecto causal positivo en las ventas, aumentando las ventas en un 0.27 en promedio en comparación con el anuncio A (representado por x = 0).