Los modelos de regresión son algoritmos que predicen una etiqueta continua. La Regresión Lineal es un tipo de modelos de regresión que asume la presencia de una relación lineal entre el objetivo y las variables predictoras.
Regresión lineal simple
La regresión lineal simple es la forma más simple de regresión que utiliza una sola covariable para predecir la variable objetivo. En nuestro caso, «Inversión» es la variable covariable, mientras que «Ingresos» es la variable objetivo.
La primera línea de código que se muestra a continuación se ajusta al modelo de regresión lineal univariante, mientras que la segunda línea imprime el resumen del modelo ajustado. Nótese que estamos usando el comando lm , que se usa para ajustar modelos lineales en R.
12fit_lin <- lm(Income ~ Investment, data = dat)summary(fit_lin)
{r}
Salida:
1234567891011121314151617181920Llamada:lm(fórmula = Ingreso ~ Inversión, datos = dat) Residuos: Min 1Q Mediana 3Q Max-4940996 -93314 -33441 78990 3316423 Coeficientes: Estimación del valor t del error estándar Pr(>|t|) (Intercepción) 2.393e+05 2.091e+04 11.45 <2e-16 ***Inversión 2.895e+00 8.071e-02 35.87 <2e-16 ***---Códigos signif.: 0 $0027***$0027 0.001 $0027**$0027 0.01 $0027*$0027 0.05 $0027.$0027 0.1 $0027 $0027 1 Error estándar residual: 401100 en 598 grados de libertad Múltiple R-cuadrado: 0.6827, R-cuadrado ajustado: 0.6821 F-estadístico: 1286 en 1 y 598 DF, valor p: < 2.2e-16
Interpretación de la salida
- La inversión es una variable significativa para predecir los ingresos, como se evidencia en el código de significación «***», impreso junto al valor p de la variable.
- El valor p, que se muestra bajo la columna, Pr(|t|), es menor que el valor de significación de 0,05, lo que también sugiere que hay relaciones estadísticamente significativas entre las variables, $0027Inversión$0027 e $0027Ingresos$0027.
- Los coeficientes de la producción indican que por cada unidad de aumento de la «Inversión», la «Renta» sube en 2.895 dólares.
- Valor R-cuadrado: representa la variación porcentual de la variable dependiente (Renta) que se explica por la variable independiente (Inversión). En nuestro caso, el valor R-cuadrado de 0,68 significa que el 68 por ciento de la variación de la variable $0027Renta$0027 se explica por la variable $0027Inversión$0027.
Todos los factores anteriores indican que existe una fuerte relación lineal entre las dos variables.
Correlación
Para los atributos numéricos, una excelente manera de pensar en las relaciones es calcular la correlación.
Coeficiente de correlación entre dos variables
El coeficiente de correlación de Pearson, calculado mediante la función cor , es un indicador de la extensión y la fuerza de la relación lineal entre las dos variables. La línea de código que figura a continuación imprime el coeficiente de correlación que resulta ser de 0,82. Se trata de una fuerte correlación positiva entre las dos variables, siendo el valor positivo más alto uno.
1cor(dat$Ingresos, dat$Inversión)
{r}
Salida:
12[1] 0.8262401
Correlación entre múltiples variables
También es posible crear una matriz de correlación para múltiples variables, que es una tabla simétrica de todos los pares de correlaciones de atributos para las variables numéricas. La primera línea de código que aparece a continuación calcula la correlación entre las variables numéricas, mientras que la segunda línea muestra la matriz de correlación.
123correl_dat <- cor(dat[,c(3,4,7,9)])print(correl_dat)
{r}
Salida:
1234567 Ingresos Monto del préstamo Inversión por edad Ingresos 1.00000000 0.76643958 0.02787282 0.8262401 Monto del préstamo 0.76643958 1.00000000 0. 05791348 0.7202692Edad 0.02787282 0.05791348 1.00000000 0.1075841Inversión 0.82624011 0.72026924 0.10758414 1.0000000
La matriz anterior muestra que el ingreso tiene una alta correlación positiva con $0027Loan_amount$0027 e $0027Investment$0027.
Regresión lineal múltiple
Como el nombre sugiere, la regresión lineal múltiple intenta predecir la variable objetivo usando múltiples predictores. En nuestro caso, construiremos el modelo estadístico multivariado usando todas las demás variables. Pero antes de hacer el modelado, es mejor convertir las variables de carácter en el tipo de factor. La primera línea de código que aparece a continuación crea una lista de variables de carácter en el conjunto de datos. La segunda línea utiliza la función lapply para convertir estas variables, almacenadas en $0027nombres$0027, en las variables factoriales. La tercera línea proporciona la información sobre los datos, donde las variables categóricas han sido convertidas a tipo $0027factor$0027.
1234 nombres <- c(1,2,5,6,8)dat[,nombres] <- lapply(dat[,nombres] , factor)glimpse(dat)
{r}
Salida:
123456789101112Observaciones: 600Variables: 9$ Marital_status <fct.; Sí, No, Sí, Sí, No, Sí, No, Sí, Sí, ...$ Is_graduado <fct. ...$ Ingreso_de_préstamo...$586700, 426700, 735500, 327200, 240000, 683200, 800000, 4...$ Importe_de_préstamo...$70500, 70000, 275000, 100500, 51500, 69000, 147000, 61000... $ Puntuación_de_crédito <fct.; Malo, malo, malo, malo, malo, malo, malo, malo, malo, Go...$ estado_de_aprobación <fct.; No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, N... $ Edad <int ]; 76, 76, 75, 75, 75, 74, 72, 72, 71, 71, 71, 70, 70, 69, 6...$ Sexo <fct ]; M, M, M, M, M, M, M, M, M, M, M, M, M, M, F, M, M, M, M, . ...$ Inversión...; 117340, 85340, 147100, 65440, 48000, 136640, 160000, 9568...
Ahora estamos listos para ajustar la regresión lineal múltiple. Las líneas de código de abajo encajan en el modelo e imprimen el resumen de los resultados.
123fit_mlr <- lm(Income ~ Marital_status + Is_graduate + Loan_amount + Credit_score + Age + Sex + Investment, data = dat)summary(fit_mlr)
{r}
Salida:
12345678910111213141516171819202122232425Llamada:lm(formula = Ingreso ~ Estado_marital + Is_graduado + Cantidad_de_préstamo + Puntaje_de_crédito + Edad + Sexo + Inversión, datos = dat) Residuos: Min 1Q Mediana 3Q Max-4184641 -133867 -37001 92469 2852369 Coeficientes: Estimación Std. Valor t de error Pr(>|t|) (Intercepción) 3.055e+05 6.802e+04 4.491 8.53e-06 ***Estado_maritalSí 2.341e+04 3.299e+04 0. 710 0,4782 Is_graduadoSí 8.032e+04 3.671e+04 2.188 0.0291 *Cantidad_de_préstamo 3.419e-01 2.925e-02 11.688 < 2e-16 ***Puntuación_de_créditoBuena -5. 012e+04 3.196e+04 -1.568 0.1174 Edad -2.426e+03 1.006e+03 -2.412 0.0162 * SexM 4.793e+04 4.048e+04 1.184 0.2370 Inversión 2.021e+00 1. 043e-01 19.379 < 2e-16 ***---Signif. códigos: 0 $0027***$0027 0.001 $0027**$0027 0.01 $0027*$0027 0.05 $0027.$0027 0.1 $0027 $0027 1 Error estándar residual: 357700 en 592 grados de libertadMultiple R-cuadrado: 0.7502, R-cuadrado ajustado: 0.7473F-estadístico: 254 en 7 y 592 DF, valor p: < 2.2e-16
Interpretación de la salida
- El Valor R-cuadrado aumentó de 0,68 a 0,75, lo que demuestra que la adición de variables ha mejorado el poder de predicción.
- «Inversión» y «Cantidad_de_préstamo» son los predictores más significativos, mientras que «Edad» e «Is_graduado» son las variables moderadamente significativas. El grado de significación también puede entenderse a partir del número de estrellas, si las hay, impresas junto al valor p de la variable.
- El valor p de las cuatro variables, discutido anteriormente, es menor que un valor de significación de 0,05, como se muestra en la columna denominada Pr(|t|). Esto también refuerza nuestra inferencia de que estas variables tienen una relación estadísticamente significativa con la variable $0027Ingresos$0027.