Una guía completa para la regresión lineal en Python

La regresión lineal es un método que podemos utilizar para comprender la relación entre una o más variables predictoras y una variable de respuesta.

Este tutorial explica cómo realizar una regresión lineal en Python.

Ejemplo: regresión lineal en Python

Supongamos que queremos saber si el número de horas dedicadas al estudio y el número de exámenes de preparación realizados afectan la puntuación que recibe un estudiante en un examen determinado.

Para explorar esta relación, podemos realizar los siguientes pasos en Python para realizar una regresión lineal múltiple.

Paso 1: Ingrese los datos.

Primero, crearemos un DataFrame de pandas para contener nuestro conjunto de datos:

importar pandas como pd

#crear datos
df = pd.DataFrame ({'horas': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6, 5, 3, 4, 6, 2, 1, 2],
                   'exámenes': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2, 4, 4, 4, 5, 1, 0, 1],
                   'puntuación': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96, 90, 82, 85, 99, 83, 62, 76]})

#ver datos 
df

        horas puntaje de exámenes
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72
5 1 2 69
6 5 1 94
7 4 1 94
8 2 0 88
9 4 3 92
10 4 4 90
11 3 3 75
12 6 2 96
13 5 4 90
14 3 4 82
15 4 4 85
16 6 5 99
17 2 1 83
18 1 0 62
19 2 1 76

Paso 2: Realice una regresión lineal.

A continuación, usaremos la función OLS () de la biblioteca statsmodels para realizar una regresión de mínimos cuadrados ordinarios, usando «horas» y «exámenes» como variables predictoras y «puntuación» como variable de respuesta:

importar statsmodels.api como sm

#define la variable de respuesta
 y = df ['puntuación']

#definir variables predictoras
 x = df [['horas', 'exámenes']]

#add constante a las variables predictoras
 x = sm.add_constant (x)

#fit modelo de modelo de regresión lineal
 = sm.OLS (y, x) .fit ()

#ver impresión de resumen del modelo
 (model.summary ())

                            Resultados de regresión de OLS                            
================================================ ============================
Dep. Variable: puntuación R cuadrado: 0,734
Modelo: OLS Adj. R cuadrado: 0,703
Método: Estadístico F de mínimos cuadrados: 23,46
Fecha: viernes, 24 de julio de 2020 Prob (estadística F): 1.29e-05
Hora: 13:20:31 Log-Probabilidad: -60,354
No. Observaciones: 20 AIC: 126,7
Residuos Df: 17 BIC: 129,7
Modelo Df: 2                                         
Tipo de covarianza: no robusto                                         
================================================ ============================
                 coef std err t P> | t | [0.025 0.975]
-------------------------------------------------- ----------------------------
const 67.6735 2.816 24.033 0.000 61.733 73.614
horas 5.5557 0.899 6.179 0.000 3.659 7.453
exámenes -0,6017 0,914 -0,658 0,519 -2,531 1,327
================================================ ============================
Ómnibus: 0.341 Durbin-Watson: 1.506
Problema (Ómnibus): 0,843 Jarque-Bera (JB): 0,196
Sesgo: -0,216 Prob (JB): 0,907
Curtosis: 2.782 Cond. No. 10.8
================================================ ============================

Paso 3: Interprete los resultados.

A continuación, se explica cómo interpretar los números más relevantes en la salida:

R cuadrado: 0,734 . Esto se conoce como coeficiente de determinación. Es la proporción de la varianza en la variable de respuesta que puede explicarse por las variables predictoras. En este ejemplo, el 73,4% de la variación en los puntajes de los exámenes se puede explicar por el número de horas estudiadas y el número de exámenes de preparación realizados.

Estadístico F: 23,46 . Este es el estadístico F general del modelo de regresión.

Problema (estadístico F): 1.29e-05.Este es el valor p asociado con el estadístico F general. Nos dice si el modelo de regresión en su conjunto es estadísticamente significativo o no. En otras palabras, nos dice si las dos variables predictoras combinadas tienen una asociación estadísticamente significativa con la variable de respuesta. En este caso, el valor p es menor que 0.05, lo que indica que las variables predictoras «horas estudiadas» y «exámenes de preparación realizados» combinados tienen una asociación estadísticamente significativa con la puntuación del examen.

coef: Los coeficientes para cada variable de predicción nos dicen el cambio promedio esperado en la variable de respuesta, asumiendo que la otra variable de predicción permanece constante. Por ejemplo, por cada hora adicional dedicada al estudio, se espera que la puntuación media del examen aumente en 5,56 , suponiendo que los exámenes de preparación realizados permanezcan constantes.

Aquí hay otra forma de pensar sobre esto: si el estudiante A y el estudiante B toman la misma cantidad de exámenes de preparación, pero el estudiante A estudia durante una hora más, entonces se espera que el estudiante A obtenga un puntaje 5.56 puntos más alto que el estudiante B.

Interpretamos que el coeficiente de la intersección significa que el puntaje esperado del examen para un estudiante que estudia cero horas y toma cero exámenes de preparación es 67.67 .

P> | t |.Los valores p individuales nos dicen si cada variable predictora es estadísticamente significativa o no. Podemos ver que “horas” es estadísticamente significativo (p = 0.00) mientras que “exámenes” (p = 0.52) no es estadísticamente significativo en α = 0.05. Dado que «exámenes» no es estadísticamente significativo, podemos terminar decidiendo eliminarlo del modelo.

Ecuación de regresión estimada: podemos usar los coeficientes de la salida del modelo para crear la siguiente ecuación de regresión estimada:

puntuación del examen = 67,67 + 5,56 * (horas) – 0,60 * (exámenes de preparación)

Podemos usar esta ecuación de regresión estimada para calcular la puntuación de examen esperada para un estudiante, según la cantidad de horas que estudian y la cantidad de exámenes de preparación que toman. Por ejemplo, se espera que un estudiante que estudia durante tres horas y toma un examen de preparación reciba una puntuación de 83,75 :

Tenga en cuenta que debido a que los exámenes de preparación realizados no fueron estadísticamente significativos (p = 0,52), podemos decidir eliminarlo porque no agrega ninguna mejora al modelo general. En este caso, podríamos realizar una regresión lineal simple utilizando solo las horas estudiadas como variable predictora.

Paso 4: Verifique los supuestos del modelo.

Una vez que realice la regresión lineal, hay varias suposiciones que puede querer verificar para asegurarse de que los resultados del modelo de regresión sean confiables. Estos supuestos incluyen:

Supuesto n. ° 1: existe una relación lineal entre las variables predictoras y la variable de respuesta.

  • Verifique este supuesto generando un gráfico de residuos que muestre los valores ajustados frente a los valores residuales de un modelo de regresión.

Supuesto n. ° 2: Independencia de los residuos.

Supuesto n. ° 3: homocedasticidad de los residuos.

Supuesto n. ° 4: Normalidad de los residuos.

Supuesto n. ° 5: verificar que no exista multicolinealidad entre las variables predictoras.

  • Verifique esta suposición calculando el valor VIF de cada variable predictora.

Si se cumplen estos supuestos, puede estar seguro de que los resultados de su modelo de regresión lineal múltiple son fiables.

Puede encontrar el código Python completo utilizado en este tutorial aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

La similitud de coseno es una medida de la similitud entre dos vectores de un espacio de producto interno. Para…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!