A través de un conjunto de datos (TABLON_ENTRENAMIENTO.csv) se debe entrenar un modelo que realice la predicción de la variable TARGET teniendo en cuenta los inputs dados por las variables (VAR1, VAR2, VAR3, VAR4). Se debe realizar el test del modelo utilizando los datos del fichero TABLON_VALIDACION.csv. Para ello, elija la métrica que mejor se adapte a la naturaleza de los datos.
Declaración de líbrerias
library(DataExplorer)
library(dplyr)
library(randomForest)
#Desactivar la notación científica
options(scipen=999)
validation_table <- read.csv('TABLON_VALIDACION.csv',header=T, sep=";")
training_table <- read.csv('TABLON_ENTRENAMIENTO.csv', header=T, sep=";")
## 'data.frame': 5400 obs. of 5 variables:
## $ TARGET: num 0.128 0.138 0.167 0.277 0.376 ...
## $ VAR1 : int 1 2 3 4 5 6 7 8 9 10 ...
## $ VAR2 : num 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 ...
## $ VAR3 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ VAR4 : int 300 300 300 300 300 300 300 300 300 300 ...
# Summary del set combinado
summary(fullSet)
## TARGET VAR1 VAR2 VAR3 VAR4
## Min. :0.1277 Min. : 1.0 Min. : 0.500 Min. :1.000 Min. :300
## 1st Qu.:2.2517 1st Qu.:13.0 1st Qu.: 0.950 1st Qu.:1.000 1st Qu.:300
## Median :3.6129 Median :25.5 Median : 3.250 Median :3.000 Median :400
## Mean :3.0982 Mean :25.5 Mean : 4.004 Mean :3.333 Mean :400
## 3rd Qu.:4.2307 3rd Qu.:38.0 3rd Qu.: 6.375 3rd Qu.:6.000 3rd Qu.:500
## Max. :4.6191 Max. :50.0 Max. :10.000 Max. :6.000 Max. :500
# Vista final del set combinado
head(fullSet)
## TARGET VAR1 VAR2 VAR3 VAR4
## 1 0.127681 1 0.5 1 300
## 2 0.137929 2 0.5 1 300
## 3 0.166577 3 0.5 1 300
## 4 0.276655 4 0.5 1 300
## 5 0.375599 5 0.5 1 300
## 6 0.537873 6 0.5 1 300
Con ayuda del gráfico plot_intro nos percatamos que el 100%
de variables son continuas, que existe 100% de completeness de filas y
que no existen datos missing, se puede continuar el análisis.
Para la modelización, se escogieron los modelos de Regresión Lineal y Random Forest. La combinación de la Regresión Lineal y Random Forest busca aprovechar las fortalezas individuales de cada modelo para obtener una comprensión más completa y precisa de la relación entre las variables predictoras (VAR1,VAR2,VAR3 Y VAR4) y la variable objetivo (TARGET). La utilización de ambos modelos permite una comparación directa de sus rendimientos y una validación cruzada de los resultados como se muestra a lo largo del documento. Esta estrategia proporciona una evaluación más completa y rigurosa, ya que se pueden analizar las fortalezas y debilidades de cada modelo en distintos aspectos de los datos.
##
## Call:
## lm(formula = TARGET ~ VAR1 + VAR2 + VAR3 + VAR4, data = training_table)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.31196 -0.49367 0.09087 0.47884 1.00021
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.9167535 0.0552213 16.601 < 0.0000000000000002 ***
## VAR1 0.0868552 0.0006762 128.455 < 0.0000000000000002 ***
## VAR2 0.0574772 0.0028297 20.312 < 0.0000000000000002 ***
## VAR3 -0.0196577 0.0047486 -4.140 0.00003569 ***
## VAR4 -0.0005762 0.0001195 -4.822 0.00000149 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5476 on 3145 degrees of freedom
## Multiple R-squared: 0.8435, Adjusted R-squared: 0.8433
## F-statistic: 4238 on 4 and 3145 DF, p-value: < 0.00000000000000022
## Length Class Mode
## call 3 -none- call
## type 1 -none- character
## predicted 3150 -none- numeric
## mse 500 -none- numeric
## rsq 500 -none- numeric
## oob.times 3150 -none- numeric
## importance 4 -none- numeric
## importanceSD 0 -none- NULL
## localImportance 0 -none- NULL
## proximity 0 -none- NULL
## ntree 1 -none- numeric
## mtry 1 -none- numeric
## forest 11 -none- list
## coefs 0 -none- NULL
## y 3150 -none- numeric
## test 0 -none- NULL
## inbag 0 -none- NULL
## terms 3 terms call
Modelo de Regresión Lineal
Fórmula del Modelo:
TARGET ~ VAR1 + VAR2 + VAR3 + VAR4
Residual Standard Error:
0.5476
R-cuadrado Múltiple: 0.8435
R-cuadrado
Ajustado: 0.8433
Estadístico F: 4238
p-value del
Estadístico F: < 2.2e-16
Modelo de Bosque Aleatorio
Fórmula del Modelo:
TARGET ~ VAR1 + VAR2 + VAR3 + VAR4
Número de Árboles:
500
Número de Variables en Cada División: 1
Error
Cuadrático Medio Promedio: 0.2545007
Porcentaje de Varianza
Explicada: 86.7%
Regresión Lineal
El error estándar residual, indicado
como Residual standard error, es 0.5476. Este valor
representa la desviación estándar de los residuos, proporcionando una
medida de la dispersión de los errores en el modelo. Cuando miramos el
R-cuadrado Múltiple, que está en 0.8435, nos dice que
aproximadamente el 84.35% de la variabilidad en la variable que
estamos tratando de predecir es explicada por nuestras variables. El
R-cuadrado Ajustado, un poco más conservador, ajusta este valor
tomando en cuenta el número de variables en nuestro modelo y se sitúa en
0.8433. En cuanto a las Estadísticas F, este número y su
valor p (que es prácticamente cero, o sea, < 2.2e-16) nos
dicen que nuestro modelo en general es muy significativo. Esto revela
que al menos una de las variables que estamos utilizando como
predictoras está teniendo un impacto significativo en nuestra variable
objetivo.
Random Forest
El error cuadrático medio promedio es de
aproximadamente 0.2545007. Valores bajos indican que el modelo
está haciendo buenas predicciones. El modelo explica aproximadamente el
86.7% de la variabilidad en la variable objetivo (TARGET). Este
valor indica cuánta variabilidad en los datos es capturada por el
modelo. Un porcentaje alto es positivo y sugiere un buen ajuste del
modelo.
## MSE para el modelo de Regresión Lineal: 0.3138043
## MSE para el modelo de Random Forest: 0.2591985
## RMSE para el modelo de Regresión Lineal: 0.5601824
## RMSE para el modelo de Random Forest: 0.5091154
## R² para el modelo de Regresión Lineal: 0.8408305
## R² para el modelo de Random Forest: 0.8685279
## Modelo MSE RMSE R2
## 1 Regresión Lineal 0.3138043 0.5601824 0.8408305
## 2 Random Forest 0.2591985 0.5091154 0.8685279
En el análisis de los resultados de los modelos de Regresión Lineal y Random Forest, observamos lo siguiente:
MSE (Mean Squared Error): El MSE mide cuán cerca están las predicciones de los valores reales. En este caso, el Random Forest muestra un MSE inferior, lo que sugiere que tiene un mejor ajuste a los datos de prueba en comparación con la Regresión Lineal.
RMSE (Root Mean Squared Error): El RMSE es una versión más interpretable del MSE, ya que está en la misma escala que la variable de respuesta. Ambos modelos muestran valores relativamente bajos, pero el Random Forest nuevamente tiene un RMSE inferior, indicando un mejor ajuste.
R² (Coeficiente de Determinación): El R² proporciona una medida de cuánta variabilidad en la variable de respuesta es explicada por el modelo. Ambos modelos muestran un R² alto, pero Random Forest tiene un rendimiento ligeramente superior, explicando un poco más de la variabilidad en los datos.
En líneas generales, tanto la Regresión Lineal como Random Forest han demostrado un buen ajuste a los datos de prueba, destacándose Random Forest con un rendimiento ligeramente superior en todas las métricas evaluadas. Mientras que el modelo de regresión lineal brinda una interpretación más sencilla, Random Forest destaca por su capacidad para capturar relaciones no lineales y manejar de manera efectiva conjuntos de datos complejos.