1.0 La correlación: conceptos básicos

La correlación es una medida que describe el grado de asociación entre dos variables (Lee Rodgers and Nicewander, 1988). La correlación de Pearson, que es probablemente el tipo de correlación más comúnmente usado, mide el grado de asociación lineal entre dos variables. El coeficiente de correlación de Pearson varía entre -1 y 1, donde:

La fórmula para calcular la correlación de Pearson entre dos variables X e Y es la siguiente:

\[ r = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n} (x_i - \bar{x})^2 \sum_{i=1}^{n} (y_i - \bar{y})^2}} \]

En esta fórmula:

La correlación de Pearson es una medida estadística que requiere que se cumplan ciertos supuestos para su uso adecuado. Estos supuestos incluyen:

  1. Normalidad : Los datos de ambas variables deben seguir una distribución normal. Esto no significa que cada variable individualmente deba seguir una distribución normal, sino que la relación entre las dos variables debe ser normal. Este supuesto puede ser verificado visualmente a través de un gráfico de dispersión o cuantitativamente con pruebas como la prueba de Shapiro-Wilk.

  2. Linealidad: La correlación de Pearson mide la relación lineal entre dos variables, lo que significa que los datos deben mostrar una tendencia lineal. Si la relación entre las variables es curvilínea, la correlación de Pearson puede subestimar la fuerza de la relación. Un gráfico de dispersión puede ayudarte a verificar si existe una relación lineal entre las dos variables.

  3. Homocedasticidad: Esto significa que la variabilidad de una variable es constante a lo largo de todos los valores de la otra variable. En otras palabras, el “esparcimiento” de los datos en el gráfico de dispersión debería ser aproximadamente el mismo a lo largo de toda la línea de mejor ajuste. Si este no es el caso (es decir, si tienes heterocedasticidad), la correlación de Pearson puede no ser la medida de asociación más apropiada.

  4. Las variables deben ser continuas: En caso de variables ordinales u nominales (es decir que no sea intervalar la escala) es mejor usar otro tipo de análisis de correlación.

Si tus datos no cumplen con estos supuestos, existen otras medidas de correlación que podrían ser más apropiadas, como la correlación de Spearman o la correlación de Kendall.

1.1 Evaluando si existe una relación por medio de test de hipotesis de correlación

En la estadística inferencial se realizan inferencias en base a una muestra aleatoria y representativa de una población X. En el contexto del análisis de correlación lo que buscamos es observar el grado de asociación entre dos variables1. En la prueba de hipótesis (según el marco de testeo de Neymar-Pearson) partimos de una hipótesis del investigador que supone ser muestros priors (en lenguaje de la estadística bayesiana). Primero partimos de una hipótesis que niega la hipótesis del investigador(Altman and Krzywinski, 2015):

  • \(H_0\) : \(\rho=0\) (no existe relación entre las dos o más variables).

  • \(H_1\) : \(\rho \neq 0\) (Existe una relación entre las variables).

Si partimos de un nivel de confianza de un 95% y un valor crítico \(\alpha< .05\), rechazamos la hipótesis nula \(H_0\) y podemos decir que existe una correlación positiva entre las variables.

Recuerden que para probar que la correlación analizada hay que cubrir si se cumplen los supuestos de la misma. En el caso de la correlación lineal de Pearson se debe de testear por normalidad. En el caso de la correlación de Spearman solo basta que la misma sea monótona (que siga en un mismo sentido).

1.1.1 Probando los supuestos de la correlación: ejemplo con la base de datos stackloss

En el gráfico 1 se observa que existe una relación positiva entre la pérdida de material (en el proceso de oxidación de amoniaco a ácido nítrico) y el flujo de aire. No se observan valores atípicos en el gráfico.

Gráfico 1. Diagrama de dispersión del Air Flow y el Stack Loss
data("stackloss")
library(ggplot2)
ggplot(data=stackloss, aes(x= Air.Flow, y=stack.loss))+ 
  geom_point()+ geom_smooth(method = "lm", se= T)+theme_light() +labs(y= "Pérdida de material", x= "Flujo de Aire")
## `geom_smooth()` using formula = 'y ~ x'

Ahora procedemos a realizar la prueba de normalidad la cual testea la correlación entre los datos ordenados de la muestra con los valores esperados de una distribución normal. Se representa con esta formula.

\[W = \frac{(\sum_{i=1}^{n} a_i x_{(i)})^2}{\sum_{i=1}^{n} (x_i - \bar{x})^2}\]

Por lo que mientras más cercano a 1 más se asemeja a una distribución normal, por lo que la hipótesis nula es:

  • \(H_0\) : \(W \sim 1, X \sim \mathcal{N}(\mu, \sigma^2)\) los datos están distribuidos normalmente.

  • \(H_1\) : \(W \nrightarrow 1, \nrightarrow \mathcal{N}(\mu, \sigma^2)\) Los datos no están distirbuidos normalmente.

Para la variable de flujo de Aire el p-valor queda por debajo del valor crítico elegido (0.05), por lo que la variable del flujo de Aire no se distribuye normalmente.

shapiro.test(stackloss$Air.Flow)
## 
##  Shapiro-Wilk normality test
## 
## data:  stackloss$Air.Flow
## W = 0.86115, p-value = 0.006651

Similar al fujo de Aire (Air Flow), también es la pérdida de material (stack loss) o pérdida de eficiencia, no se distribuye normalmente.

shapiro.test(stackloss$stack.loss)
## 
##  Shapiro-Wilk normality test
## 
## data:  stackloss$stack.loss
## W = 0.82651, p-value = 0.001718

Es mejor utilizar la correlación de Spearman en este caso.

1.1.1.2 El coeficiente de correlación de Spearman.

La correlación de Spearman, también conocida como el coeficiente de correlación de rango de Spearman, es una medida de correlación no paramétrica. Se utiliza para evaluar la relación entre dos variables cuando al menos una de ellas no sigue una distribución normal o la relación no es lineal.

Es una medida de correlación basada en el rango (orden de los datos) en lugar de los valores reales. La fórmula para calcular el coeficiente de correlación de rango de Spearman, denotado como ρ (rho), es:

\[ \rho = 1 - \frac{{6 \sum d_i^2}}{{n(n^2 - 1)}} \]

donde \(d_i\) es la diferencia en el rango de los valores de las dos variables para la i-ésima observación, y \(n\) es el número total de observaciones.

En la tabla siguiente se muestran ambas correlaciones.

# Calcular la correlación de Pearson
resultado_pearson <- cor.test(stackloss$Air.Flow, stackloss$stack.loss, method="pearson")


# Calcular la correlación de Spearman
resultado_spearman <- cor.test(stackloss$Air.Flow, stackloss$stack.loss, method="spearman")
## Warning in cor.test.default(stackloss$Air.Flow, stackloss$stack.loss, method =
## "spearman"): Cannot compute exact p-value with ties
# Crear un marco de datos con los resultados
resultados <- data.frame(
  Metodo = c("Pearson", "Spearman"),
  Correlacion = c(resultado_pearson$estimate, resultado_spearman$estimate),
  `P-value` = c(resultado_pearson$p.value, resultado_spearman$p.value),
  `Conf. Int. Inf.` = c(resultado_pearson$conf.int[1], resultado_spearman$conf.int[1]),
  `Conf. Int. Sup.` = c(resultado_pearson$conf.int[2], resultado_spearman$conf.int[2])
)

Usando la librería papaja y usando la función apa_table creamos una tabla más comprensiva y estética en formato APA.

(#tab:Tabla de correlación)
Correlaciones de Pearson y Spearman
Metodo Correlacion P.value Conf..Int..Inf. Conf..Int..Sup.
cor Pearson 0.92 0.00 0.81 0.97
rho Spearman 0.92 0.00 0.81 0.97

2.0 Correlación no significa causalidad: el rol del control de variables

Una de las frases más famosas “correlación no implica causalidad”, que solo si la correlación es “genuina” (Simon, 1954) podemos hablar de una interpretación causal y de la magnitud del efecto (desde el contexto de la inferencia causal dicha correlación sería un efeto cercano al verdadero (true causal effect) en el contexto del modelo de resultados esperados(Potential outcomes causal model, 2021). De hecho, es posible encontrar en algunos contextos, según el modelo de Lazarfeld de control de variables (Boudon et al., 1985), que existe una variable omitida que sirva de mecanismo explicativo o alguna variable mediadora. También, el hecho de que exista una correlación no nos dice esta, por sí misma, sobre la dirección del efecto causal, entre otros tipos de sesgos por variables omitidas (Potential outcomes causal model, 2021).

Para evitar ello se puede hacer uso de la correlación parcial para captruar el efecto tanto indirecto como directo entre más de dos variables.

2.1 La paradoja de Simpson

La paradoja de Simpson o efecto Yule-Simpson es una paradoja en la cual una tendencia que aparece en varios grupos de datos desaparece cuando estos grupos se combinan y en su lugar aparece la tendencia contraria para los datos agregados. En otras palabras, la paradoja de Simpson se refiere a la situación en la que un resultado general se invierte cuando se desglosa por subgrupos.

Este efecto se llama “paradoja” porque los resultados aparentemente contradictorios desafían la intuición. Este fenómeno puede ocurrir en cualquier contexto donde los datos se agrupen y puede llevar a interpretaciones erróneas de los datos.

Un ejemplo ilustrativo lo tiene la siguiente imagen. Muestra que existe una relación entre presión fiscal y renta per cápita.

Renta per capita (log) y presión fiscal.

Ahora bien, si desagregamos por niveles de renta la relación desaparece, por lo que si bien desde un punto de vista de la teoría económica la presión fiscal puede estar asociada a la renta per cápita de un país, debido a varios mecanismos: 1) Las recaudaciones ayudan a resolver fallas de mercado mediante proveer bienes públicos que permiten un mejor funcinamiento de los mismos 2) Permite la construcción de políticas sociales que incluyen a personas desfavorecidas en la dinámica del desarrollo, mejorando así la calidad de vida. Ahora bien, si desagregamos por niveles de ingreso indica que hay otros factores a considerar ya que la asociación marginal cambió al introducir una asociación parcial (por niveles de ingresos.).

Relación entre presión fiscal y Renta per cápita (log).

2.2 Ejemplo ilustrativo

Evaluemos si la correlación parcial entre Air.Flow y Acid.Conc. controlando por el efecto de la temperatura del agua Water.Temp. Para ello instalamos el paquete ppcor

#install.packages("ppcor")
library(ppcor)
## Loading required package: MASS

Luego hacemos las pruebas de lugar que hicimos para comprobar supuestos:

  1. Normalidad.

  2. Datos atípicos.

    No existe normalidad en ninguna de las variables según la prueba de Shapiro Wilk.

shapiro.test(stackloss$Air.Flow)
## 
##  Shapiro-Wilk normality test
## 
## data:  stackloss$Air.Flow
## W = 0.86115, p-value = 0.006651
shapiro.test(stackloss$Acid.Conc.)
## 
##  Shapiro-Wilk normality test
## 
## data:  stackloss$Acid.Conc.
## W = 0.90712, p-value = 0.04818
shapiro.test(stackloss$Water.Temp)
## 
##  Shapiro-Wilk normality test
## 
## data:  stackloss$Water.Temp
## W = 0.89502, p-value = 0.02805

Ahora observemos si existen datos atípicos y ver de manera gráfica la estructura de la relación. Aunque aparece una relación positiva entre el flujo de Aire y la el nivel de Acidez (Acid.Conc), la relación parece estar mediada por la temperatura del agua (Water.Temp). Ahora bien, la relación parece ser más bien no lineal según el gráfico.

Gráfico 2. Diagrama de dispersión Air Flow, Acid.Conc y Water.Temp.

ggplot(stackloss, aes(x=Air.Flow, y=Acid.Conc., color=Water.Temp ))+
  geom_point()+geom_smooth(method="lm")+geom_smooth(method = "lm", formula = y ~ poly(x, 2), 
              se = T, color = "red", linetype = "dashed")  +labs(y="Nivel de acidez", x= "Flujo de Aire", color= "Temperatura del Agua")

#Paso 1: Generamos los análisis:
Pearson<-pcor.test(x=stackloss$Air.Flow,
                   y= stackloss$Acid.Conc.,
                   z= stackloss$Water.Temp, method= "pearson")

Spearman<-pcor.test(x=stackloss$Air.Flow,
                   y= stackloss$Acid.Conc.,
                   z= stackloss$Water.Temp, method= "spearman")

# Paso 2: Crear una tabla con los resultados
resultados2 <- data.frame(
  Método = c("Pearson", "Spearman"),
  Estimado = c(Pearson$estimate, Spearman$estimate),
  Estadístico = c(Pearson$statistic, Spearman$statistic),
  p_valor = c(Pearson$p.value, Spearman$p.value)
)

Según los resultados de la tabla 2 no existe una asociación lineal parcial entre las variables según el coeficiente de correlación de Pearson. Ahora bien, si existe una relación no lineal entre las variables del flujo del Aire y el nivel de acidez, controlando por la temperatura del agua.

(#tab:Tabla de correlación parcial)
Tabla 2. Correlaciones parciales de Pearson y Spearman
Método Estimado Estadístico p_valor
Pearson 0.34 1.53 0.14
Spearman 0.53 2.65 0.02

3.0 Conclusiones

El análisis de correlación es muy útil para observar posibles asociaciones y crear hipótesis sobre posibles mecanismos explicativos. Pero recuerden importa mucho el contexto y el manejo teórico para comprender cuales serían los resultados esperados para así asegurar causalidad en un contexto empírico. Es algo muy raro lograr encontrar correlaciones que controlando por todas las variables relevantes según el contexto de un potential outcomes model, la asociación se mantenga y por lo tanto podamos concluir de que dicha asociación es de tipo causal y que el efecto de la variable es el efecto “real”.

Por otro lado, si desean profundizar en análisis de correlaciones en Rstudio es posible ver el libro de Shipley (2016), el cual está en las referencias abajo.

Referencias

Altman, N., and Krzywinski, M. (2015). Association, correlation and causation. Nature Methods, 12(10), 899–900. https://doi.org/10.1038/nmeth.3587
Boudon, R., Lazarsfeld, P. F., and Chazel, F. (1985). Metodologı́a de las ciencias sociales (Vol. 1). Laia Barcelona, España.
Lee Rodgers, J., and Nicewander, W. A. (1988). Thirteen Ways to Look at the Correlation Coefficient. The American Statistician, 42(1), 59–66. https://doi.org/10.1080/00031305.1988.10475524
Potential outcomes causal model (pp. 119–174). (2021). Yale University Press. https://doi.org/10.2307/j.ctv1c29t27.7
Shipley, B. (2016). Cause and correlation in biology: A user’s guide to path analysis, structural equations and causal inference with r. Cambridge university press.
Simon, H. A. (1954). Spurious Correlation: A Causal Interpretation*. Journal of the American Statistical Association, 49(267), 467–479. https://doi.org/10.1080/01621459.1954.10483515

  1. Nota: Correlación no es igual a causalidad, siempre y cuando podamos dar cuenta de todos los mecanismos o posibles resultados esperables que darían como resultado dicha relación. De lo contrario estaríamos hablando de una relación causal.↩︎