Table of contents
Open Table of contents
Correlación y Causalidad1
Es importante recordar que cuando dos variables, digamos la variable A
y la variable B
están correlacionadas existen varias
posibilidades:
-
Que
variable A
sea la causa de lavariable B
(o al revés). Por ejemplo: los largos tiempos de espera en atención a usuarios causan molestias e inconformidades en la prestación del servicio. -
Que
variable A
sea la causa de lavariable B
, pero a su vez lavariable B
también cause lavariable A
. Por ejemplo, la enfermedad dental puede llevar a dificultades de nutrición. Pero problmeas de nutrición pueden llevar a enfermedad dental. -
Que tanto la
variable A
como lavariable B
sean causadas por otravariable C
. Por ejemplo en un entorno educativo los problemas de comportamiento y las bajas notas pueden ser causadas a su vez por situaciones personales subyacentes. -
Que no haya relación alguna entre las dos variables. Por ejemplo la variable
películas con Nicholas Cage
yPersonas ahogadas en una piscina
están correlacionadas. Pero no hay ninguna relación entre estas dos variables 2.
Es decir, correlaciòn no implica causalidad, pero cuando si hay causalidad se hallará correlaciòn
Inferencia Causal3
Para determinar si la variable A
causa el efecto B
, se define una
serie de condiciones:
-
Correlación. Discutido en la sección anterior.
-
Precedencia Temporal. Para que
A
causeB
tiene que haber ocurrido antes. -
Eliminación de variables de confusión. Como vimos antes, hay que revisar si hay alguna otra variable que sea la verdadera causa.
Como menciona Chen et al., un ejemplo de éste procedimiento ocurre en los estudios de eficacia de medicinas. Se analiza cómo diferentes tratamientos se correlacionan con el resultado, para asegurar que la correlación existe y para determinar bajo que condiciones es más fuerte. Se tiene un conocimiento disciplinar sobre el tiempo de metabolización del compuesto, o del efecto biológico de la vacuna, lo que guía los análisis temporales. Finalmente se diseña el experimento teniendo en cuenta las variables de la población, de tal forma que se pueda eliminar variables de confusión que puedan afectar las conclusiones.
Regresión
En un experimento se tiene una variable explicativa (o independiente) y una variable de respuesta (o dependiente). El análisis de regresión supone una relación lineal entre esas dos variables, y busca cuantificar esa relación.
Regresión Lineal Simple
Modelo
Es el siguiente:
Que se interpreta como:
-
, es una aproximación lineal, con el intercepto con y la pendiente)
-
es la distancia entre el valor y el modelo, también llamada error o residual.
Por ejemplo en la siguiente gráfica los datos están marcados con cuadrados azules, la aproximación lineal por círculos verdes. Las líneas verticales representan la diferencia o distancia entre los dos valores 4.
Ejemplo: indicadores de gobernanza global
El banco mundial ha desarrollado una base de datos llamada Worldwide Governance Indicators, donde busca resumir la calidad del gobierno en varios países del mundo. Después de descargar la base de datos5, se obtiene un archivo en formato propietario de Microsoft Excel.
Para cargarlo a Python hacemos lo siguiente. Primero cargamos las librerias pandas y numpy.
import pandas as pd
import numpy as np
Luego procedemos a usar read_excel
para cargar los datos:
wgi_df = pd.read_excel("Worldwide Governance Indicators 2012-2022.xlsx")
Como siempre, podemos revisar las variables que se encuentran en el archivo y comparar con la dexcripción que hacen los autores del mismo conjunto de datos.
print(wgi_df.columns)
Esto devuelve el arreglo Index(['Country ', 'ISO3', 'ID Data', 'Year', 'Voice and Accountability', 'Political Stability', 'Government Effectiveness', 'Regulatory Quality', 'Rule of Law', 'Control of Corruption', 'Region'], dtype='object')
. Intentaremos cuantificar la relación entre las variables Regulatory Quality
y Government Efficiency
. Primero cargamos la librería matplotlib
y agregamos título.
import matplotlib.pyplot as plt
plt.ion()
plt.figure()
plt.show()
plt.title("Correlación de indicadores de gobernanza global")
plt.xlabel("Calidad regulatoria")
plt.ylabel("Efectividad del gobierno")
Ahora hacemos un diagrama de dispersión de los valores de las dos variables.
plt.plot(wgi_df['Regulatory Quality'],wgi_df['Government Effectiveness'],'.')
Pareciera que al aumentar la variable Regulatory Quality
hay valores
mayores en Government Effectiveness
. Para cuantificar ésta relación
proponemos un análisis de regresión lineal. Primero importamos la
función linear_model de la librería sklearn, y creamos un modelo lineal.
from sklearn import linear_model
reg = linear_model.LinearRegression()
Para poder usar el ajuste requerimos que los datos independientes
estén organizados de una forma particular. Primero los cargamos en el
arreglo rq
de Python, y luego los reorgamizamos.
rq = np.array(wgi_df['Regulatory Quality'])
rq=rq.reshape(-1,1)
Ahora si podemos hacer el ajuste, con el comando fit
. Recibe como
argumentos el arreglo correspondiente a la variable independiente que
habíamos generado atrás y el vector de la variable dependiente. Luego
procedemos a graficarlo y grabar la figura.
reg.fit(rq,np.array(wgi_df['Government Effectiveness']))
plt.plot(rq,reg.predict(rq),linewidth=2,color="orange")
plt.savefig('wgi_reg.svg')
Los residuales se pueden calcular mediante la diferencia
entre los valores de la variable Government Effectiveness
y el valor por el modelo:
residuals = wgi_df['Government Effectiveness'] - reg.predict(rq)
Podemos hacer un histograma de residuales.
plt.figure()
plt.title("Histograma de residuales de la \n Correlación de indicadores de gobernanza global")
plt.hist(residuals)
Los parámetros de la recta son su pendiente y el intercepto con el
eje. Se obtienen respectivamente con coef_
e intercept
:
print("la pendiente es " + str(reg.coef_))
print("el intercepto es " + str(reg.intercept_))
Puede encontrar más información sobre la regresión lineal en las referencias6.
Recursos
Otra explicación de la información de ésta sección se encuentra en los videos del profesor Leandro:
-
Correlación Lineal https://www.youtube.com/watch?v=JUOE1JA4NhQ
-
Regresión Lineal https://www.youtube.com/watch?v=7Po1pOP_PiQ
Bibliografía
- Python Data Science Handbook. Jake VanderPlas. O’Reilly. 2023
- R for Data Science. https://r4ds.hadley.nz/
- Representing text as data. https://uclspp.github.io/PUBL0099/seminars/seminar1.html
- Statistical Inference via Data Science. https://moderndive.com/v2/sampling.html
- Data Science for Public Policy. Chen, Rubin, Cornwall. Springer Nature Switzerland AG. 2021
- Practical Statistics for Data Science. Bruce, Bruce, Gedeck.
- Data Science from Scratch, first principles with Python. Second Edition. Joel Grus. O’Reilly. 2019.
- Microdatos DANE, Censo Nacional de Población y Vivienda 2018, Módulo Personas, Región Cundinamarca. https://microdatos.dane.gov.co/index.php/catalog/643/get-microdata
- Microdatos DANE, Censo Nacional de Población y Vivienda 2018, Diccionario de Datos. https://microdatos.dane.gov.co/index.php/catalog/643/data-dictionary/F11?file_name=PERSONAS
- Dir Datos
/home/gavox/drive/02_Docencia/15_ESAP/06_2024_s1/17_map_mcpi/03_TALLERES/TALLER_1_2024_MCPI/03_YUDY
- https://python-graph-gallery.com/density-plot/
- OpenIntro Statistics. Fourth Edition. David Diez
- Manuel Ricardo Contento Rubio. Estadística con Aplicaciones en R. Editorial UTADEO. 2010. https://www.utadeo.edu.co/es/publicacion/libro/editorial/235/estadistica-con-aplicaciones-en-r
- Sofik Handoyo, Worldwide governance indicators: Cross country data set 2012–2022, Data in Brief, Volume 51, 2023, 109814, ISSN 2352-3409, https://doi.org/10.1016/j.dib.2023.109814.
Footnotes
-
La bibliografía para ésta sección es: Data Science for Public Policy. Chen, Rubin, Cornwall. ↩
-
https://www.nationalgeographic.com/science/article/nick-cage-movies-vs-drownings-and-more-strange-but-spurious-correlations visitado el 5 de Abril del 2025. ↩
-
La bibliografía para ésta sección es: Data Science for Public Policy. Chen, Rubin, Cornwall, página 166. ↩
-
Los datos de la gráfica vienen de: Estadística con Aplicaciones en R. Manuel Ricardo Contento Rubio. Editorial UTADEO. 2010. https://www.utadeo.edu.co/es/publicacion/libro/editorial/235/estadistica-con-aplicaciones-en-r, página 368. ↩
-
Handoyo, Worldwide governance indicators: Cross country data set 2012–2022, Data in Brief, Volume 51, 2023. Los datos mismos se pueden descargar de https://data.mendeley.com/datasets/bfrkzf5k64/1 ↩
-
Página web de Scikit-learn, en: https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html y el libro Practical Statistics for Data Science. Bruce, Bruce, Gedeck, pg. 141. ↩