Skip to content

Regresión, Regresión Lineal Simple

Published: at 12:00 AM

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:

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:

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 xix_i (o independiente) y una variable de respuesta yiy_i (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:

yi=β0+β1xi+ϵi, i=1,...,n{\color{blue}y_i} = {\color{green} \beta_0 + \beta_1 x_i } + {\color{red}\epsilon_i},\ i = 1,...,n

Que se interpreta como:

Por ejemplo en la siguiente gráfica los datos yiy_i están marcados con cuadrados azules, la aproximación lineal yi^\hat{y_i} por círculos verdes. Las líneas verticales representan la diferencia o distancia entre los dos valores ϵi\epsilon_i4.

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 ϵi\epsilon_i 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:

Bibliografía

Footnotes

  1. La bibliografía para ésta sección es: Data Science for Public Policy. Chen, Rubin, Cornwall.

  2. https://www.nationalgeographic.com/science/article/nick-cage-movies-vs-drownings-and-more-strange-but-spurious-correlations visitado el 5 de Abril del 2025.

  3. La bibliografía para ésta sección es: Data Science for Public Policy. Chen, Rubin, Cornwall, página 166.

  4. 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.

  5. 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

  6. 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.


Previous Post
Regresión
Next Post
Regresión