Los modelos de regresión lineal son modelos que predicen una etiqueta continua. El objetivo es producir un modelo que represente el «mejor ajuste» a algunos datos observados, de acuerdo con un criterio de evaluación que elegimos. Buenos ejemplos de esto son la predicción del precio de la casa, las ventas de una tienda minorista, o la esperanza de vida de un individuo. Los modelos de Regresión Lineal asumen una relación lineal entre las variables independientes y las dependientes.
Empecemos por cargar los datos. La primera línea de código se lee en los datos como un cuadro de datos de pandas, mientras que la segunda línea imprime la forma de los datos. La tercera línea imprime las cinco primeras observaciones de los datos. Intentaremos predecir la $0027Renta$0027 en base a otras variables.
1234# Cargar datadf = pd.read_csv("data_smodel.csv")print(df.shape) df.head(5)
pitón
Salida:
123456789 (600, 10)| | Estado civil | Dependientes | Es_graduado | Ingresos | Cantidad de préstamo | Plazo_meses | Puntuación de crédito | estado de aprobación | Edad | Sexo |--- |------------------------ |----------------------------- |------------------------------------- |--------------------- |------------------------------------- |------------------------------------- |----------------------------- |--------------------------------------------- |----- ||----- |----- || 0 | 0 | 0 | 0 | 362700 | 44500 | 384 | 0 | 0 | 55 | 1 || 1 | 0 | 3 | 0 | 244000 | 70000 | 384 | 0 | 0 | 30 | 1 || 2 | 1 | 0 | 0 | 286500 | 99000 | 384 0 | 0 | 0 | 32 | 1 || 3 | 0 | 0 | 1 | 285100 | 55000 | 384 | 0 | 0 | 68 | 1 || 4 | 0 | 0 | 1 | 320000 | 58000 | 384 | 0 | 0 | 53 | 1 |
Regresión lineal – Univariante
Empezaremos con un modelo de regresión lineal simple con una sola covariable, $0027Loan_amount$0027, que predice $0027Income$0027. Las líneas de código de abajo encajan en el modelo de regresión lineal univariable e imprimen un resumen del resultado.
123model_lin = sm.OLS.from_formula("Income ~ Loan_amount", data=df)result_lin = model_lin.fit()result_lin.summary()
pitón
Salida:
1234567891011121314151617181920212223| Dep. Variable: | R-cuadrado: | 0.587 ||--------------------------- |--------------------------------------------- |------------------- ||| Modelo: | OLS, Adj. R-cuadrado: | 0.587 Método: | Mínimos cuadrados. F-estadístico: | 851.4. Fecha: | Vie, 26 de julio de 2019 Prob (F-estadístico): | 4.60e-117 Tiempo: | 22:02:50 Probabilidad de registro: | No. Observaciones: | 600 AIC: | 1.734e+04 Df Residuos: | 598 BIC: | 1.735e+04. Modelo Df: | Tipo de covarianza: | || no robusto | || coef | std err | t |||t || [0.025 | 0.975] ||||| |||||||||||||| intercepción | 4. 618e+05, 2.05e+04, 22.576, 0.000, 4.22e+05, 5.02e+05, monto del préstamo, 0.7528, 0.026, 29.180, 0.000, 0.702, 0.803, ómnibus: | 459.463 Durbin-Watson: | 1.955... 1.955... 1.955... 1.955... 1.955... 1.955... 1.955... 1.955... 1.955... 1.955... 1.955... 1.955..: | 0.000 Jarque-Bera (JB): | 10171.070 Skew: | 3.186 Prob Prob (JB): | Curtosis: | 22.137 Cond. No. | 8.69e+05 |
Interpretación del Coeficiente de Modelo y el valor P
La sección central de la salida, donde el encabezamiento comienza con coef , es importante para la interpretación del modelo. El modelo ajustado implica que, cuando se comparan dos solicitantes cuyos $0027Monto_de_préstamo$0027 difieren en una unidad, el solicitante con el $0027Monto_de_préstamo$0027 más alto tendrá, en promedio, 0,75 unidades más de $0027Ingresos$0027. Esta diferencia es estadísticamente significativa, porque el valor p, que se muestra bajo la columna denominada P>|| , es menor que el valor de significación de 0,05. Esto significa que hay una fuerte evidencia de una asociación lineal entre las variables $0027Ingresos$0027 y $0027Monto_de_préstamo$0027.
Interpretación del Valor R-cuadrado
El otro parámetro para comprobar la eficacia del modelo es el valor R-cuadrado , que representa la variación porcentual de la variable dependiente (Ingreso) que se explica por la variable independiente (Importe_préstamo). Cuanto mayor sea el valor, mejor será la explicabilidad del modelo, siendo el valor más alto uno. En nuestro caso, el valor R-cuadrado de 0,587 significa que el 59% de la variación de la variable «Ingresos» se explica por la variable «Importe_préstamo».
Interpretación del Coeficiente de Correlación
El coeficiente de correlación de Pearson es también un indicador de la extensión y la fuerza de la relación lineal entre las dos variables. Las siguientes líneas de código calculan e imprimen el coeficiente de correlación, que resulta ser de 0,766. Se trata de una fuerte correlación positiva entre las dos variables, siendo el valor más alto uno.
12cc = df[["Ingresos", "Monto_de_préstamo"]]].corr()print(cc)
pitón
Salida:
123 Ingreso Ingreso de la cantidad de préstamo 1.00000 0.76644 Ingreso de la cantidad de préstamo 0.76644 1.00000
Regresión lineal – Multivariante
En la sección anterior, cubrimos la regresión lineal simple usando una variable. Sin embargo, en los casos del mundo real, nos ocuparemos de múltiples variables. Esto se llama regresión multivariante. En nuestro caso, construiremos el modelo estadístico multivariado usando cinco variables independientes.
Las siguientes líneas de código se ajustan al modelo de regresión lineal multivariante e imprimen el resumen de los resultados. Cabe señalar que la sintaxis Ingresos ~ Monto_de_préstamo + Edad + Plazo_meses + Dependientes + Is_graduado no significa que estas cinco variables se sumen literalmente. En cambio, sólo significa que estas variables fueron incluidas en el modelo como predictores de la variable $0027Ingresos$0027.
123model_lin = sm.OLS.from_formula("Ingreso ~ Monto del préstamo + Edad + Plazo_meses + Dependientes + Is_graduado", data=df)result_lin = model_lin.fit()result_lin.summary()
pitón
Salida:
1234567891011121314151617181920212223242526| Dep. Variable: | Ingresos | R-cuadrado: | 0.595 ||--------------------------- |--------------------------------------------- |------------------- ||| Modelo: | OLS, Adj. R-cuadrado: | 0.592 Método: | Mínimos cuadrados. F-estadístico: | 174.7 Fecha: | Vie, 26 Jul 2019 Prob (F-statistic): | 3.95e-114 Tiempo: | 22:04:27 Probabilidad de registro: | No. Observaciones: | 600 AIC: | 1.734e+04 Df Residuos: | 594 BIC: | 1.737e+04. Modelo Df: | Tipo de covarianza: ||| no robusto | || coef | std err | t ||t || [0.025 | 0.975] |||||| ||||||||||||||| intercepción | 2. 68e+05, 1.32e+05, 2.029, 0.043, 8575.090, 5.27e+05, monto del préstamo, 0.7489, 0.026, 28.567, 0.000, 0.697, 0.800, edad, -856. 1.704, 1.265.989, -0,676, 0,499, -3342.530, 1.630.189, -338.6069, -295.449, -1.146, -0,252, -241.644, -918.858, -dependientes, -8437. 9050 1,84e+04 0,460 0,646 -2,76e+04 4,45e+04 Es licenciado 1,365e+05 4,56e+04 2,995 0,003 4,7e+04 2,26e+05 Ómnibus: | 460.035 Durbin-Watson: | 1.998... 1.998... 1.998... 1.998... 1.998... 1.998... 1.998... 1.998... 1.998... 1.998... 1.998... 1.998... 1.999... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909... 1.909..: | 0.000 Jarque-Bera (JB): | 10641.667 Skew: | 3.173 Prob(JB): | Curtosis: | 22.631 Cond. No. | 5.66e+06 |
Interpretación del Coeficiente de Modelo y el valor P
El resultado anterior muestra que, cuando las demás variables permanecen constantes, si comparamos dos solicitantes cuyo $0027Monto_de_préstamo$0027 difiere en una unidad, el solicitante con un $0027Monto_de_préstamo$0027 más alto tendrá, en promedio, un $0027Ingreso$0027 0,75 unidades más alto.
Usando el resultado P>|| , podemos inferir que las variables $0027Loan_amount$0027 e $0027Is_graduate$0027 son las dos variables estadísticamente significativas, ya que su valor p es inferior a 0,05.
Siempre que se utiliza una variable categórica como covariable en un modelo de regresión, se omite un nivel de la variable y se le da automáticamente un coeficiente de cero. Este nivel se denomina nivel de referencia de la covariable. En el modelo anterior, $0027Is_graduado$0027 es una variable categórica, y sólo el coeficiente para los solicitantes de $0027Graduado$0027 se incluye en la salida de la regresión, mientras que $0027No Graduado$0027 es el nivel de referencia.
Interpretación del Valor R-cuadrado
El valor de R-cuadrado aumentó marginalmente de 0,587 a 0,595, lo que significa que ahora el 59,5% de la variación de $0027Ingresos$0027 se explica por las cinco variables independientes, en comparación con el 58,7% anterior. El aumento marginal podría deberse a la inclusión de la variable $0027Is_graduate$0027 que también es estadísticamente significativa.