1. Enunciado del Problema

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.

2. Resolución del Problema

Declaración de líbrerias

library(DataExplorer)
library(dplyr)
library(randomForest)

#Desactivar la notación científica
options(scipen=999)

Importar datos

validation_table <- read.csv('TABLON_VALIDACION.csv',header=T, sep=";")
training_table <- read.csv('TABLON_ENTRENAMIENTO.csv', header=T, sep=";")

Construcción de conjunto de datos y tipología

## '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

Análisis gráfico de variables


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.

3. Modelización

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.

Modelización con Regresión Lineal

## 
## 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

Modelización con Random Forest

##                 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

Análisis de los modelos

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.

4. Gráficos de Modelos

5. Predicciones para modelos utilizados

## 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

Análisis de los Resultados:

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.

6. Conclusiones

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.