Se realizara un análisis exploratorio del dataset Boston, con el objetivo de examinar y comprender las características principales de las variables relacionadas con el valor de las viviendas. Se emplearon herramientas gráficas como histogramas, boxplots y gráficos de dispersión para observar la distribución de los datos, identificar posibles valores atípicos y explorar las relaciones entre las diferentes variables, estableciendo así las bases para posteriores análisis.
Antes de explorar el DataSet, primero es necesario descargar las paqueterías y librerias que se utilizarán, las cuales son las siguientes:
| install.packages(" "):|
| ----------- |
| Pacman |
| GGally |
| MASS |
| tidyverse |
| skimr |
| ggplot2 |pacman::p_load(MASS, tidyverse, GGally, skimr)
options(scipen = 999)
library(skimr)
library(dplyr)
library(ggplot2)
library(tidyr)
library(pacman)## Warning: package 'pacman' was built under R version 4.4.3
## '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 ...
## 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
| 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 | ▂▇▅▁▁ |
Observaciones:
El conjunto de datos está compuesto por 506 registros y 14 variables. Estas variables reflejan distintos indicadores de tipo económico, demográfico y características estructurales relacionadas con las viviendas.
A continuación, se detalla el significado de las variables mostradas:
medv: Valor mediano de las viviendas ocupadas por sus propietarios en miles de dólares.
lstat: Porcentaje de la población de “bajo estatus socioeconómico”.
rm: cantidad promedio de habitaciones por vivienda.
rad: Índice de accesibilidad a carreteras radiales.
crim: índice de criminalidad
tax: tasa de impuesto sobre la propiedad
indus: Proporción de acres comerciales no minoristas por ciudad.
Los datos sugieren que el valor de la vivienda en Boston está fuertemente influenciado por la ubicación (distancia a centros de empleo), la estructura (habitaciones) y factores sociales (criminalidad y estatus de la población).
Posteriormente, se calculan medidas estadísticas básicas para algunas de las variables más importantes.
variables_g1 <- c("medv", "rm", "lstat", "crim", "tax")
Boston_g1 <- Boston %>%
select(all_of(variables_g1))## medv rm lstat crim tax
## 22.532806 6.284634 12.653063 3.613524 408.237154
## medv rm lstat crim tax
## 9.1971041 0.7026171 7.1410615 8.6015451 168.5371161
Observaciones:
Con las estadísticas descriptivas obtenidas se puede identificar 3 puntos importantes:
Dos factores actúan como fuertes depreciadores del valor de la vivienda:
Criminalidad (crim): Aunque el promedio es bajo (3.61), la enorme dispersión (8.60) revela zonas de conflicto específicas. El análisis sugiere que vivir cerca de estas zonas reduce drásticamente el valor de la propiedad, independientemente de qué tan grande sea la casa.
Estatus Social (lstat): Existe una relación inversa clara. Las zonas con mayor porcentaje de población de estatus bajo coinciden con los valores más bajos de medv. Esto refleja una segregación económica donde el entorno social pesa tanto como la construcción física.
Boston %>%
select(medv, rm, lstat) %>%
pivot_longer(cols = everything(),
names_to = "variable",
values_to = "valor") %>%
ggplot(aes(x = valor, fill = variable)) +
geom_histogram(color = "white", bins = 15) +
facet_wrap(~variable, scales = "free_x") +
scale_fill_brewer(palette = "Set2") +
labs(title = "Histogramas de medv, rm y lstat") +
theme_minimal()ggplot(Boston, aes(x = medv)) +
geom_histogram(fill = "skyblue", color = "white", bins = 10) +
ggtitle("Histograma de medv") +
theme_minimal()ggplot(Boston, aes(x = rm)) +
geom_histogram(fill = "salmon", color = "white", bins = 15) +
ggtitle("Histograma de rm") +
theme_minimal()ggplot(Boston, aes(x = lstat)) +
geom_histogram(fill = "lightgreen", color = "white", bins = 15) +
ggtitle("Histograma de lstat") +
theme_minimal()
Observaciones:
Tras la vizualización de los datos obtenidos en las variables a analizar se identifico lo siguiente:
Mediante los histogramas se observa que la mayoría de las variables presentan un fuerte sesgo, lo cual indica que los valores extremos son comunes en el conjunto de datos.
Se observa una cantidad significativa de valores atípicos en variables críticas como el valor de la vivienda (medv) y el número de habitaciones (rm). Esto sugiere la existencia de propiedades con características muy superiores al promedio del mercado.
Se concluye que la presencia de valores atípicos y distribuciones no normales refleja una marcada segregación urbana, donde factores externos como el estatus socioeconómico (lstat), la criminalidad y la carga fiscal impactan drásticamente.
Boston %>%
select(medv, lstat) %>%
pivot_longer(cols = everything(),
names_to = "variable",
values_to = "valor") %>%
ggplot(aes(x = variable, y = valor, fill = variable)) +
geom_boxplot() +
scale_fill_brewer(palette = "Set2") +
ggtitle("Boxplot de medv y lstat") +
theme_minimal()ggplot(Boston, aes(y = medv)) +
geom_boxplot(fill = "lightblue") +
ggtitle("Boxplot de medv") +
theme_minimal()ggplot(Boston, aes(y = lstat)) +
geom_boxplot(fill = "lightgray") +
ggtitle("Boxplot de lstat") +
theme_minimal()Observaciones:
Se identifica una relación muy estrecha y positiva entre rm y medv, mientras que existe una correlación negativa muy fuerte con el estatus socioeconómico bajo (lstat). Asimismo, la alta correlación entre el índice de carreteras (rad) y el impuesto (tax) sugiere información redundante sobre la ubicación geográfica.
Los Boxplots muestran una cantidad significativa de valores atípicos en variables críticas como medv y el rm. Esto confirma la existencia de propiedades de lujo con características muy superiores al promedio del mercado que se alejan del comportamiento estándar.
Boston %>%
select(medv, rm, lstat, crim, tax) %>%
pivot_longer(cols = -medv,
names_to = "variable",
values_to = "valor") %>%
ggplot(aes(x = valor, y = medv, color = variable)) +
geom_point() +
facet_wrap(~variable, scales = "free_x") +
labs(title = "Relación de medv con otras variables",
subtitle = "Gráficos por faceta") +
theme_minimal()ggplot(Boston, aes(x = rm, y = medv)) +
geom_point(color = "red") +
ggtitle("Relación entre número de habitaciones y valor de vivienda") +
theme_minimal()ggplot(Boston, aes(x = crim, y = medv)) +
geom_point(color = "purple") +
scale_x_log10() +
ggtitle("Relación entre criminalidad y valor de vivienda") +
theme_minimal()ggplot(Boston, aes(x = tax, y = medv)) +
geom_point(color = "orange") +
ggtitle("Relación entre impuestos y valor de vivienda") +
theme_minimal()Observaciones:
La mayoría de las variables (como crim y zn) presentan un sesgo pronunciado hacia la derecha, lo que indica que los valores bajos son la norma, pero existen casos atípicos extremos que afectan el promedio.
Se detecta una relación lineal positiva muy fuerte entre el número de habitaciones y el valor de la vivienda, así como una relación inversa significativa con el nivel socioeconómico bajo (lstat).
Los scatter plots validan que las variables con mayor capacidad predictiva son rm y lstat, mostrando tendencias claras de crecimiento y decrecimiento respectivamente en relación con el precio.
Observaciones: Al observar la matriz de correlación se identifico lo siguiente:
Los histogramas y boxplots muestran que la mayoría de las variables (como crim y zn) tienen sesgos pronunciados y valores atípicos. Esto indica un mercado con casos extremos (lujo y alta criminalidad) que se alejan del promedio.
La matriz de correlación identifica al número de habitaciones (rm, +0.7) y al estatus socioeconómico (lstat, -0.74) como los factores con mayor impacto en el valor de la vivienda.
Existe una correlación extrema (0.91) entre impuestos (tax) y accesibilidad (rad), sugiriendo que ambas variables aportan información geográfica similar.
El análisis exploratorio realizado sobre el dataset Boston permitió obtener una visión detallada del comportamiento de las variables que afectan el valor de las viviendas. Mediante la utilización de histogramas, boxplots y gráficos de dispersión, se pudo examinar la distribución de los datos, detectar la presencia de valores atípicos y evaluar las relaciones existentes entre distintas variables.
Los hallazgos indican que el número de habitaciones (rm) se relaciona positivamente con el valor de la vivienda, lo que sugiere que las casas con más habitaciones tienden a tener precios más altos. Por otro lado, variables como el porcentaje de población con bajo estatus socioeconómico (lstat) y la tasa de criminalidad (crim) presentan una relación negativa con el valor de las viviendas, señalando que en áreas con niveles elevados de estas variables, los precios suelen ser menores.
En resumen, este análisis permitió identificar patrones clave dentro del dataset y comprender los factores que influyen en el valor de las viviendas, proporcionando una base sólida para análisis más avanzados o la construcción de modelos predictivos de precios.