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:
Un valor de -1 indica una correlación negativa perfecta, lo que significa que a medida que una variable aumenta, la otra disminuye.
Un valor de 0 indica ninguna correlación, lo que significa que no hay una relación lineal entre las variables.
Un valor de 1 indica una correlación positiva perfecta, lo que significa que a medida que una variable aumenta, la otra también aumenta.
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:
\(r\) es el coeficiente de correlación de Pearson.
\(x_i\) y \(y_i\) son los valores individuales de las variables X e Y, respectivamente.
\(\bar{x}\)y \(\bar{y}\) son las medias de las variables X e Y, respectivamente.
\(n\) es el número total de observaciones.
La correlación de Pearson es una medida estadística que requiere que se cumplan ciertos supuestos para su uso adecuado. Estos supuestos incluyen:
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.
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.
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.
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.
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).
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.
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.
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.
| 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 |
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.
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).
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:
Normalidad.
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.
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.
| Método | Estimado | Estadístico | p_valor |
|---|---|---|---|
| Pearson | 0.34 | 1.53 | 0.14 |
| Spearman | 0.53 | 2.65 | 0.02 |
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.
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.↩︎