Cómo hacer una regresión lineal en Python

Código en python para hacer una regresión lineal por mínimos cuadrados ordinarios

Dos bloques de código en tres lineas.
Una regresión lineal

Comencemos por crear una base de datos. Hagamos que sea con 1000 observaciones, donde los valores de \(x\) vienen de una distribución normal y los valores de \(y\) dependen linealmente de \(x\):

$$ y = \alpha + \beta x + \varepsilon $$

Digamos que \(\alpha = 1\) y \(\beta = 1.5\). Entonces el siguiente código nos puede crear nuestra base de datos:

from numpy import random
import pandas as pd

n = 1000
random.seed(42)

df = pd.DataFrame({"x": random.normal(size = n)})

df['y'] = 1 + 1.5 * df['x'] + random.normal(size = n)

print(df.head())

En el caso de que hayas cargado tu base de datos a partir de un archivo con pandas, el resto del código sería exactamente igual en adelante.

Veamos en un gráfico cómo se ven nuestros datos. Escribe el código siguiente

import matplotlib.pyplot as plt

plt.scatter(df['x'], df['y'], color = "#154957", alpha = 0.2)
plt.show()

Este código genera el siguiente gráfico de dispersión.

Un diagrama de dispersión
El diagrama de dispersión

El código es muy simple y su interpretación es directa. En la primera línea estamos llamando el submódulo matplotlib.pyplot con el alias plt. La segunda línea llama a la función scatter, con x y  y como primeros argumentos. La función debería funcionar únicamente así, pero hemos agregado algunos argumentos adicionales para mejorar el diseño del gráfico, como el nivel de transparencia y el color de los puntos. La tercera línea debe imprimir el gráfico en tu pantalla.

Mínimos Cuadrados Ordinarios

Este es el paso final. Haremos un modelo de Mínimos Cuadrados Ordinarios. Hay muchos módulos con los que se puede hacer esto. Algunos de los más populares incluyen scikit-learn y tensorflow. Para este ejemplo usaremos statsmodels, pues el reporte que arroja es el mas útil para hacer inferencia estadística.

¡Genial! Te has registrado exitosamente.

¡Bienvenido de vuelta! Has iniciado sesión correctamente.

Te has suscrito correctamente a Escribe tu primer paper de Economía.

¡Éxito! Revisa tu correo electrónico para obtener el enlace mágico para iniciar sesión.

¡Éxito! Se ha actualizado la información de facturación.

No se actualizó tu información de facturación.

Sígueme en Mastodon