Análisis exploratorio de la base de datos Boston

A continuación se indicarán los paquetes a emplear para trabajar con la base fueron:

library(pacman)
## Warning: package 'pacman' was built under R version 4.5.2
library(ggplot2)
p_load(MASS, tidyverse, GGally, skimr)
data("Boston")

Si aplicamos lad funciones de \(\text{dim}\) y \(\text{str}\). obtendremos:

dim(Boston)
## [1] 506  14
str(Boston)
## 'data.frame':    506 obs. of  14 variables:
##  $ crim   : num  0.00632 0.02731 0.02729 0.03237 0.06905 ...
##  $ zn     : num  18 0 0 0 0 0 12.5 12.5 12.5 12.5 ...
##  $ indus  : num  2.31 7.07 7.07 2.18 2.18 2.18 7.87 7.87 7.87 7.87 ...
##  $ chas   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ nox    : num  0.538 0.469 0.469 0.458 0.458 0.458 0.524 0.524 0.524 0.524 ...
##  $ rm     : num  6.58 6.42 7.18 7 7.15 ...
##  $ age    : num  65.2 78.9 61.1 45.8 54.2 58.7 66.6 96.1 100 85.9 ...
##  $ dis    : num  4.09 4.97 4.97 6.06 6.06 ...
##  $ rad    : int  1 2 2 3 3 3 5 5 5 5 ...
##  $ tax    : num  296 242 242 222 222 222 311 311 311 311 ...
##  $ ptratio: num  15.3 17.8 17.8 18.7 18.7 18.7 15.2 15.2 15.2 15.2 ...
##  $ black  : num  397 397 393 395 397 ...
##  $ lstat  : num  4.98 9.14 4.03 2.94 5.33 ...
##  $ medv   : num  24 21.6 34.7 33.4 36.2 28.7 22.9 27.1 16.5 18.9 ...

Los resultados que obtenemos de análisis general empleando la función \(\text{skimr}\) se pueden compilar:

skim(Boston)
Data summary
Name Boston
Number of rows 506
Number of columns 14
_______________________
Column type frequency:
numeric 14
________________________
Group variables None

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
crim 0 1 3.61 8.60 0.01 0.08 0.26 3.68 88.98 ▇▁▁▁▁
zn 0 1 11.36 23.32 0.00 0.00 0.00 12.50 100.00 ▇▁▁▁▁
indus 0 1 11.14 6.86 0.46 5.19 9.69 18.10 27.74 ▇▆▁▇▁
chas 0 1 0.07 0.25 0.00 0.00 0.00 0.00 1.00 ▇▁▁▁▁
nox 0 1 0.55 0.12 0.38 0.45 0.54 0.62 0.87 ▇▇▆▅▁
rm 0 1 6.28 0.70 3.56 5.89 6.21 6.62 8.78 ▁▂▇▂▁
age 0 1 68.57 28.15 2.90 45.02 77.50 94.07 100.00 ▂▂▂▃▇
dis 0 1 3.80 2.11 1.13 2.10 3.21 5.19 12.13 ▇▅▂▁▁
rad 0 1 9.55 8.71 1.00 4.00 5.00 24.00 24.00 ▇▂▁▁▃
tax 0 1 408.24 168.54 187.00 279.00 330.00 666.00 711.00 ▇▇▃▁▇
ptratio 0 1 18.46 2.16 12.60 17.40 19.05 20.20 22.00 ▁▃▅▅▇
black 0 1 356.67 91.29 0.32 375.38 391.44 396.22 396.90 ▁▁▁▁▇
lstat 0 1 12.65 7.14 1.73 6.95 11.36 16.96 37.97 ▇▇▅▂▁
medv 0 1 22.53 9.20 5.00 17.02 21.20 25.00 50.00 ▂▇▅▁▁
## head(Boston)

Es importante observar que la variable \(\text{tax}\) es la que posee mayor dispersión

Los primeros 5 registros se verán a continuación:

##      crim zn indus chas   nox    rm  age    dis rad tax ptratio  black lstat
## 1 0.00632 18  2.31    0 0.538 6.575 65.2 4.0900   1 296    15.3 396.90  4.98
## 2 0.02731  0  7.07    0 0.469 6.421 78.9 4.9671   2 242    17.8 396.90  9.14
## 3 0.02729  0  7.07    0 0.469 7.185 61.1 4.9671   2 242    17.8 392.83  4.03
## 4 0.03237  0  2.18    0 0.458 6.998 45.8 6.0622   3 222    18.7 394.63  2.94
## 5 0.06905  0  2.18    0 0.458 7.147 54.2 6.0622   3 222    18.7 396.90  5.33
##   medv
## 1 24.0
## 2 21.6
## 3 34.7
## 4 33.4
## 5 36.2

Los descriptivos del conjunto de datos son los siguientes:

summary(Boston)
##       crim                zn             indus            chas        
##  Min.   : 0.00632   Min.   :  0.00   Min.   : 0.46   Min.   :0.00000  
##  1st Qu.: 0.08205   1st Qu.:  0.00   1st Qu.: 5.19   1st Qu.:0.00000  
##  Median : 0.25651   Median :  0.00   Median : 9.69   Median :0.00000  
##  Mean   : 3.61352   Mean   : 11.36   Mean   :11.14   Mean   :0.06917  
##  3rd Qu.: 3.67708   3rd Qu.: 12.50   3rd Qu.:18.10   3rd Qu.:0.00000  
##  Max.   :88.97620   Max.   :100.00   Max.   :27.74   Max.   :1.00000  
##       nox               rm             age              dis        
##  Min.   :0.3850   Min.   :3.561   Min.   :  2.90   Min.   : 1.130  
##  1st Qu.:0.4490   1st Qu.:5.886   1st Qu.: 45.02   1st Qu.: 2.100  
##  Median :0.5380   Median :6.208   Median : 77.50   Median : 3.207  
##  Mean   :0.5547   Mean   :6.285   Mean   : 68.57   Mean   : 3.795  
##  3rd Qu.:0.6240   3rd Qu.:6.623   3rd Qu.: 94.08   3rd Qu.: 5.188  
##  Max.   :0.8710   Max.   :8.780   Max.   :100.00   Max.   :12.127  
##       rad              tax           ptratio          black       
##  Min.   : 1.000   Min.   :187.0   Min.   :12.60   Min.   :  0.32  
##  1st Qu.: 4.000   1st Qu.:279.0   1st Qu.:17.40   1st Qu.:375.38  
##  Median : 5.000   Median :330.0   Median :19.05   Median :391.44  
##  Mean   : 9.549   Mean   :408.2   Mean   :18.46   Mean   :356.67  
##  3rd Qu.:24.000   3rd Qu.:666.0   3rd Qu.:20.20   3rd Qu.:396.23  
##  Max.   :24.000   Max.   :711.0   Max.   :22.00   Max.   :396.90  
##      lstat            medv      
##  Min.   : 1.73   Min.   : 5.00  
##  1st Qu.: 6.95   1st Qu.:17.02  
##  Median :11.36   Median :21.20  
##  Mean   :12.65   Mean   :22.53  
##  3rd Qu.:16.95   3rd Qu.:25.00  
##  Max.   :37.97   Max.   :50.00

A continuaión se presenta un gráfico de cajas con información de las variables \(\text{medv: median of value of owner~ ocupied homes, rm: average number of rooms per dwelling}\) y \(\text{lstat: lower status of the population (percent)}\)

Sí analizamos de manera univariada cada variable con obtendremos los siguientes gráficos:

Cómo un gráfico de cajas: Podremos observar mayor dispersión en la variable \(\text{lstat}\).

## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

Podemos comparar 5 variables para encontrar correlación entre ellas nos ayuda a entender el desarrollo de nuestras variables:

Compararemos a continuación \(\text{medv}\), \(\text{crim}\), \(\text{lstat}\), \(\text{tax}\) y \(\text{rm}\).

Perfil de las Variables (Distribución):

  1. Relación con el Precio (medv) Al comparar las 4 variables predictoras contra el valor de la vivienda, observamos dos tipos de fuerzas:

A. Motores de Valor (Correlación Positiva) rm vs medv: Es la relación más fuerte y lineal. Si visualizas el scatter plot, verás una diagonal ascendente.

Conclusión: El espacio físico (habitaciones) es el factor que más aumenta el precio.

B. Factores de Depreciación (Correlación Negativa) lstat vs medv: Es una relación inversa muy marcada. A medida que sube el porcentaje de estatus bajo, el precio cae de forma casi exponencial.

crim vs medv: El crimen actúa como un “techo”. En zonas con cualquier nivel de crimen significativo, es casi imposible encontrar casas de alto valor.

  1. Comparación entre Predictoras (Multicolinealidad) No solo afectan al precio, también se afectan entre ellas. Al analizar la matriz de correlación (ggpairs), notarás:

Pobreza e Impuestos (lstat vs tax): Suelen ir de la mano. Zonas con mayores índices de pobreza suelen tener estructuras fiscales distintas o estar en distritos con servicios públicos más saturados.

Habitaciones y Pobreza (rm vs lstat): Existe una correlación negativa. En barrios pobres, las casas tienden a ser más pequeñas (menos habitaciones).

  1. Resumen de Hallazgos Si tuvieras que resumir la comparación de estas 5 variables para un informe, sería así:

El mejor predictor positivo: El número de habitaciones (rm).

El mayor detractor de valor: El estatus socioeconómico bajo (lstat).

El efecto del Crimen: No afecta gradualmente, sino que “castiga” el precio en cuanto deja de ser cercano a cero.

La estructura del mercado: El dataset muestra una clara segregación; las casas caras están aisladas del crimen y la pobreza, y tienen un número superior de habitaciones.

Nota técnica: En estadística, si dos variables como tax y crim están muy relacionadas entre sí, incluirlas ambas en un modelo matemático podría causar multicolinealidad, lo que hace que el modelo sea menos confiable.

\(\text{CONCLUSIONES:}\)

El análisis exploratorio realizado permite extraer las siguientes validaciones estadísticas para el modelado posterior:

  1. Distribución y Sesgo: Se identificó un truncamiento en la variable dependiente \(\text{medv}\) (en el valor 50), lo que sugiere que los modelos de regresión lineal podrían verse afectados por este “techo”. Asimismo, la variable \(\text{crim}\) presenta un sesgo a la derecha extremo.

  2. Dispersión y Outliers: Mediante el uso de diagramas de caja, se determinó que \(\text{lstat}\) presenta una alta dispersión, mientras que \(\text{rm}\) mantiene una distribución más normalizada y estable.

  3. Multicolinealidad: La observación de las relaciones entre \(\text{tax}\), \(\text{crim}\) y \(\text{lstat}\) sugiere una fuerte interdependencia. Para la fase de modelado predictivo, será crucial aplicar pruebas de Factor de Inflación de la Varianza (VIF) para evitar redundancias que invaliden los coeficientes.