Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Construcción de Regresión Lineal Utilizando Statsmodels | Regresión Lineal Simple
Regresión Lineal con Python

bookConstrucción de Regresión Lineal Utilizando Statsmodels

Construcción de un modelo de regresión lineal

En statsmodels, la clase OLS puede utilizarse para crear un modelo de regresión lineal.

Primero es necesario inicializar un objeto de la clase OLS usando sm.OLS(y, X_tilde). Luego, se entrena utilizando el método fit().

model = sm.OLS(y, X_tilde)
model = model.fit()

Lo cual es equivalente a:

model = sm.OLS(y, X_tilde).fit()
Note
Nota

El constructor de la clase OLS espera como entrada un arreglo específico X_tilde, que se vio en la Ecuación Normal. Por lo tanto, es necesario convertir el arreglo X a X_tilde. Esto se puede lograr utilizando la función sm.add_constant().

Encontrar los parámetros

Cuando el modelo está entrenado, se puede acceder fácilmente a los parámetros utilizando el atributo params.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Realizar las predicciones

Se pueden predecir fácilmente nuevas instancias utilizando el método predict(), pero también es necesario preprocesar la entrada para ellas:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Obtener el Resumen

Como probablemente notó, utilizar la clase OLS no es tan sencillo como la función polyfit(). Sin embargo, usar OLS tiene sus ventajas. Durante el entrenamiento, calcula mucha información estadística. Puede acceder a esta información utilizando el método summary().

1
print(model.summary())
copy

Eso es una gran cantidad de estadísticas. Discutiremos las partes más importantes de la tabla en secciones posteriores.

question mark

Elige la afirmación INCORRECTA.

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 5.26

bookConstrucción de Regresión Lineal Utilizando Statsmodels

Desliza para mostrar el menú

Construcción de un modelo de regresión lineal

En statsmodels, la clase OLS puede utilizarse para crear un modelo de regresión lineal.

Primero es necesario inicializar un objeto de la clase OLS usando sm.OLS(y, X_tilde). Luego, se entrena utilizando el método fit().

model = sm.OLS(y, X_tilde)
model = model.fit()

Lo cual es equivalente a:

model = sm.OLS(y, X_tilde).fit()
Note
Nota

El constructor de la clase OLS espera como entrada un arreglo específico X_tilde, que se vio en la Ecuación Normal. Por lo tanto, es necesario convertir el arreglo X a X_tilde. Esto se puede lograr utilizando la función sm.add_constant().

Encontrar los parámetros

Cuando el modelo está entrenado, se puede acceder fácilmente a los parámetros utilizando el atributo params.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Realizar las predicciones

Se pueden predecir fácilmente nuevas instancias utilizando el método predict(), pero también es necesario preprocesar la entrada para ellas:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Obtener el Resumen

Como probablemente notó, utilizar la clase OLS no es tan sencillo como la función polyfit(). Sin embargo, usar OLS tiene sus ventajas. Durante el entrenamiento, calcula mucha información estadística. Puede acceder a esta información utilizando el método summary().

1
print(model.summary())
copy

Eso es una gran cantidad de estadísticas. Discutiremos las partes más importantes de la tabla en secciones posteriores.

question mark

Elige la afirmación INCORRECTA.

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 4
some-alt