Introducción

El análisis de la oferta inmobiliaria urbana es fundamental para comprender la dinámica del mercado y facilitar la toma de decisiones estratégicas en el sector. En este estudio, se emplea un enfoque multidimensional para examinar la estructura de la oferta de vivienda en términos de características físicas, ubicación y precios, utilizando técnicas avanzadas de análisis de datos.

El objetivo principal es identificar patrones subyacentes en la oferta inmobiliaria mediante el Análisis de Componentes Principales (PCA), segmentar las propiedades en grupos homogéneos a través del Análisis de Conglomerados y explorar la relación entre variables categóricas mediante el Análisis de Correspondencia. Además, se emplearán herramientas de visualización, como gráficos y mapas, para interpretar los resultados de manera clara y efectiva.

Este estudio proporcionará información clave para entender la distribución y características de la oferta inmobiliaria, lo que permitirá generar recomendaciones estratégicas para actores del mercado, como agencias inmobiliarias, inversionistas y planificadores urbanos.

PROBLEMA

Una empresa inmobiliaria líder en una gran ciudad está buscando comprender en profundidad el mercado de viviendas urbanas para tomar decisiones estratégicas más informadas. La empresa posee una base de datos extensa que contiene información detallada sobre diversas propiedades residenciales disponibles en el mercado. Se requiere realizar un análisis holístico de estos datos para identificar patrones, relaciones y segmentaciones relevantes que permitan mejorar la toma de decisiones en cuanto a la compra, venta y valoración de propiedades.

Retos:

  1. Análisis de Componentes Principales: Reducir la dimensionalidad del conjunto de datos y visualizar la estructura de las variables en componentes principales para identificar características clave que influyen en la variación de precios y oferta del mercado.

  2. Análisis de Conglomerados: Agrupar las propiedades residenciales en segmentos homogéneos con características similares para entender las dinámicas de las ofertas específicas en diferentes partes de la ciudad y en diferentes estratos socioeconómicos.

  3. Análisis de Correspondencia: Examinar la relación entre las variables categóricas (tipo de vivienda, zona y barrio), para identificar patrones de comportamiento de la oferta en mercado inmobiliario.

  4. Visualización de resultados: Presentar gráficos, mapas y otros recursos visuales para comunicar los hallazgos de manera clara y efectiva a la dirección de la empresa.

El informe final debe incluir análisis detallados de los resultados obtenidos, las conclusiones clave y las recomendaciones específicas para guiar las decisiones estratégicas de la empresa inmobiliaria. Se espera que este análisis de datos proporcione ventajas competitivas en el mercado, optimizando la inversión y maximizando los beneficios en un entorno altamente competitivo y en constante cambio.

Análisis Exploratorio de datos

La base de datos proporcionada contiene en total 8322 registros y 19 variables descritas a continuación:

El dataset contiene información sobre viviendas con las siguientes variables:

  • id: Identificador de la propiedad.
  • zona: Ubicación general (Zona Oriente, Zona Sur, etc.).
  • piso: Número de piso en que se encuentra la vivienda.
  • estrato: Nivel socioeconómico (1-6).
  • preciom: Precio de la vivienda en millones de pesos.
  • areaconst: Área construida en metros cuadrados.
  • parqueaderos: Número de parqueaderos.
  • banios: Número de baños.
  • habitaciones: Número de habitaciones.
  • tipo: Tipo de vivienda (Casa o Apartamento).
  • barrio: Barrio en el que se encuentra la propiedad.
  • longitud, latitud: Coordenadas geográficas.

Clasificación de las Variables

Las variables de la base de datos se clasifican según su naturaleza:

Variables Categóricas

  • zona: Describe la ubicación de la propiedad dentro de Cali.
  • tipo: Indica el tipo de vivienda ofertada (e.g., “Apartamento”, “Casa”).
  • barrio: Nombre del barrio donde se encuentra la propiedad.

Variables Numéricas Continuas

  • preciom: Precio de la vivienda en millones de pesos.
  • areaconst: Área construida de la vivienda en metros cuadrados.
  • longitud, latitud: Coordenadas geográficas de la propiedad.

Variables Numéricas Discretas

  • piso: Número de pisos que tiene la propiedad.
  • estrato: Estrato socioeconómico de la propiedad.
  • parquea: Número de parqueaderos disponibles.
  • banios: Número de baños en la propiedad.
  • habitac: Número de habitaciones en la propiedad.

El siguiente resumen estadístico describe las características principales del conjunto de datos. Aquí algunos puntos clave:

  1. Identificación y Ubicación
  • id: Identificadores únicos de las propiedades (de 1 a 8319), con 3 valores faltantes.
  • zona y barrio: Son variables categóricas que indican la ubicación general y específica de la propiedad.
  • longitud y latitud: Coordenadas geográficas, con 3 valores faltantes.
  1. Características de las Propiedades
  • piso: Variable categórica que indica el nivel donde se encuentra la propiedad.
  • estrato: Oscila entre 3 y 6, con una media de 4.63, lo que sugiere que la mayoría de las propiedades pertenecen a estratos medios-altos. Tiene 3 valores faltantes.
  • tipo: Variable categórica que clasifica la propiedad (casa, apartamento, etc.).
  1. Precios y Tamaños

preciom (en millones de COP): Mínimo: 58M COP Media: 433.9M COP Mediana: 330M COP Máximo: 1999M COP Distribución asimétrica, con precios más altos en algunos casos. 3 valores faltantes. areaconst (área construida en m²):

Mínimo: 30 m² Media: 174.9 m² Mediana: 123 m² Máximo: 1745 m² Distribución amplia, con algunas propiedades significativamente grandes. 2 valores faltantes.

  1. Infraestructura de las Propiedades parqueaderos (cantidad de estacionamientos):
  • La mayoría de las propiedades tienen entre 1 y 2 parqueaderos.
  • Máximo de 10 parqueaderos, lo que sugiere algunas propiedades premium.
  • 1605 valores faltantes, lo que puede indicar que muchas propiedades no tienen parqueadero registrado.

banios (cantidad de baños):

  • Mediana: 3 baños
  • Máximo: 10 baños, indicando la presencia de propiedades grandes o de lujo.
  • 3 valores faltantes.

habitaciones:

  • Mediana: 3 habitaciones
  • Máximo: 10 habitaciones, lo que sugiere propiedades con múltiples dormitorios.
  • 3 valores faltantes.
summary(vivienda)
##        id           zona               piso              estrato     
##  Min.   :   1   Length:8322        Length:8322        Min.   :3.000  
##  1st Qu.:2080   Class :character   Class :character   1st Qu.:4.000  
##  Median :4160   Mode  :character   Mode  :character   Median :5.000  
##  Mean   :4160                                         Mean   :4.634  
##  3rd Qu.:6240                                         3rd Qu.:5.000  
##  Max.   :8319                                         Max.   :6.000  
##  NA's   :3                                            NA's   :3      
##     preciom         areaconst       parqueaderos        banios      
##  Min.   :  58.0   Min.   :  30.0   Min.   : 1.000   Min.   : 0.000  
##  1st Qu.: 220.0   1st Qu.:  80.0   1st Qu.: 1.000   1st Qu.: 2.000  
##  Median : 330.0   Median : 123.0   Median : 2.000   Median : 3.000  
##  Mean   : 433.9   Mean   : 174.9   Mean   : 1.835   Mean   : 3.111  
##  3rd Qu.: 540.0   3rd Qu.: 229.0   3rd Qu.: 2.000   3rd Qu.: 4.000  
##  Max.   :1999.0   Max.   :1745.0   Max.   :10.000   Max.   :10.000  
##  NA's   :2        NA's   :3        NA's   :1605     NA's   :3       
##   habitaciones        tipo              barrio             longitud     
##  Min.   : 0.000   Length:8322        Length:8322        Min.   :-76.59  
##  1st Qu.: 3.000   Class :character   Class :character   1st Qu.:-76.54  
##  Median : 3.000   Mode  :character   Mode  :character   Median :-76.53  
##  Mean   : 3.605                                         Mean   :-76.53  
##  3rd Qu.: 4.000                                         3rd Qu.:-76.52  
##  Max.   :10.000                                         Max.   :-76.46  
##  NA's   :3                                              NA's   :3       
##     latitud     
##  Min.   :3.333  
##  1st Qu.:3.381  
##  Median :3.416  
##  Mean   :3.418  
##  3rd Qu.:3.452  
##  Max.   :3.498  
##  NA's   :3

Analizando con más detalle los datos, la figura 1 revela que el 60% de las propiedades disponibles son apartamentos, mientras que solo el 40% son casas.

# Asegúrate de que 'tipo' sea un factor
vivienda$tipo <- as.factor(vivienda$tipo)

# Calcular el porcentaje de cada tipo de propiedad
datos_resumen <- vivienda %>%
  group_by(tipo) %>%
  summarise(cantidad = dplyr::n(), .groups = 'drop') %>%  # Usar dplyr::n() para evitar conflictos
  mutate(porcentaje = (cantidad / sum(cantidad)) * 100)

ggplot(datos_resumen, aes(x = tipo, y = porcentaje, fill = tipo)) +
  geom_bar(stat = "identity") +  # Usar stat = "identity" para graficar los porcentajes
  labs(title = "Figura 1. Distribución de Casas y Apartamentos",  # Agregar título
       x = "Tipo de Propiedad", 
       y = "Porcentaje (%)") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5),  # Centrar el título
        legend.position = "none")  # Eliminar leyenda si no es necesaria

La Figura 2 muestra una distribución desigual de propiedades, con una clara predominancia de apartamentos en la Zona Sur, donde se registran más de 2,500 unidades, mientras que las casas en esta zona también tienen una presencia significativa, pero en menor cantidad.

La Zona Norte presenta una cantidad considerable de apartamentos (alrededor de 1,200), mientras que las casas son menos comunes, con aproximadamente 800 unidades.

En la Zona Oeste y Zona Oriente, la cantidad de propiedades es mucho menor en comparación con el resto de la ciudad, con un número reducido tanto de apartamentos como de casas. La Zona Centro muestra la menor cantidad de propiedades en general.

Este patrón sugiere que la construcción de apartamentos es más frecuente en las zonas urbanizadas y de alta demanda, como la Zona Sur y la Zona Norte, posiblemente debido a la preferencia por viviendas multifamiliares en estas áreas. En cambio, en las zonas con menor densidad de propiedades, el desarrollo inmobiliario podría estar más limitado o enfocado en otros tipos de usos del suelo.

Comparación de la Cantidad de Propiedades por Zona

Comparación de la Cantidad de Propiedades por Zona

Preprocesamiento de Datos

1. Imputación de valores faltantes

Las funciones imputar_parqueadero_zona() e imputar_piso_zona() rellenan los valores faltantes de parqueaderos y pisos en el dataset infoVivienda_faltantes.

Se filtran las observaciones de la misma zona y tipo de vivienda donde parqueaderos o piso no sean NA. Se calcula la moda (mlv(…, method = “mfv”) de la librería modeest). Se asigna la moda a los valores faltantes en esas categorías.

# Funciones
imputar_parqueadero_zona <- function(infoVivienda_faltantes, zonaFiltro, tipoFiltro){
  parqueaZonaTipo <- infoVivienda_faltantes %>%
    filter(zona == zonaFiltro & tipo == tipoFiltro & !is.na(parqueaderos))
  
  moda_parquea <- mlv(parqueaZonaTipo$parqueaderos, method = "mfv") # "mfv" significa "most frequent value"
  
  infoVivienda_faltantes$parqueaderos[infoVivienda_faltantes$zona == zonaFiltro & infoVivienda_faltantes$tipo == tipoFiltro & is.na(infoVivienda_faltantes$parqueaderos)]=moda_parquea
  return(infoVivienda_faltantes)
}

imputar_piso_zona <- function(infoVivienda_faltantes, zonaFiltro, tipoFiltro){
  pisoZonaTipo <- infoVivienda_faltantes %>%
    filter(zona == zonaFiltro & tipo == tipoFiltro & !is.na(piso))
  
  moda_piso <- mlv(pisoZonaTipo$piso, method = "mfv") # "mfv" significa "most frequent value"
  
  infoVivienda_faltantes$piso[infoVivienda_faltantes$zona == zonaFiltro & infoVivienda_faltantes$tipo == tipoFiltro & is.na(infoVivienda_faltantes$piso)]=moda_piso
  return(infoVivienda_faltantes)
}

Homologación de nombres de barrios y zonas

  • Se estandarizan los nombres de barrios (tolower()) y se corrigen nombres inconsistentes.
  • Se estandarizan los nombres para algunos barrios que presentan inconsistencias o caracteres especiales.
conteo <- vivienda %>%
  count(barrio)


print(conteo, n= Inf)
## # A tibble: 437 × 2
##     barrio                            n
##     <chr>                         <int>
##   1 20 de julio                       3
##   2 3 de julio                        1
##   3 Belalcazar                        1
##   4 Brisas De Los                     1
##   5 Bueno Madrid                      1
##   6 Cali                             37
##   7 Camino Real                       1
##   8 Centenario                        1
##   9 Chiminangos                       1
##  10 Ciudad 2000                       1
##  11 Ciudad Jardín                     2
##  12 Ciudad Pacifica                   1
##  13 Colseguros Andes                  1
##  14 El Bosque                         1
##  15 El Caney                          1
##  16 El Ingenio                        1
##  17 La Flora                          2
##  18 La Hacienda                       2
##  19 Los Guaduales                     1
##  20 Miraflores                        1
##  21 Pance                             3
##  22 Prados Del Limonar                1
##  23 Prados Del Norte                  1
##  24 Quintas De Don                    1
##  25 San Fernando                      1
##  26 Santa Anita                       2
##  27 Santa Isabel                      1
##  28 Santa Monica                      1
##  29 Santa Teresita                    1
##  30 Santafe                           1
##  31 Santo Domingo                     1
##  32 Valle Del Lili                    1
##  33 Villa Del Prado                   1
##  34 Villas De Veracruz                1
##  35 acopi                           158
##  36 agua blanca                       1
##  37 aguablanca                        2
##  38 aguacatal                       109
##  39 alameda                          16
##  40 alameda del rio                   1
##  41 alameda del río                   2
##  42 alamos                           14
##  43 alborada                          1
##  44 alcazares                         2
##  45 alferez real                      2
##  46 alfonso lopez                     1
##  47 alfonso lópez                    21
##  48 alfonso lópez i                   1
##  49 alférez real                     5
##  50 alto jordán                       1
##  51 altos de guadalupe                4
##  52 altos de menga                    3
##  53 altos de santa                    1
##  54 antonio nariño                    2
##  55 aranjuez                         15
##  56 arboleda                          5
##  57 arboleda campestre candelaria     1
##  58 arboledas                        38
##  59 atanasio girardot                 9
##  60 autopista sur                     1
##  61 bajo aguacatal                    1
##  62 barranquilla                      6
##  63 barrio 7de agosto                 1
##  64 barrio el recuerdo                1
##  65 barrio eucarístico                1
##  66 barrio obrero                     1
##  67 barrio tranquilo y                1
##  68 base aérea                       2
##  69 belalcazar                        3
##  70 belisario caicedo                 2
##  71 bella suiza                      18
##  72 bella suiza alta                  4
##  73 bellavista                       43
##  74 benjamín herrera                  8
##  75 berlin                            1
##  76 bloques del limonar               1
##  77 bochalema                        33
##  78 bolivariano                       1
##  79 bosques de alboleda               1
##  80 bosques del limonar              21
##  81 boyacá                            1
##  82 bretaña                          16
##  83 brisas de guadalupe               1
##  84 brisas de los                    81
##  85 brisas del guabito                1
##  86 brisas del limonar                1
##  87 buenos aires                      7
##  88 caldas                            1
##  89 cali bella                        1
##  90 cali canto                        1
##  91 calibella                         1
##  92 calicanto                         8
##  93 calicanto viii                    1
##  94 calima                            6
##  95 calimio norte                     5
##  96 calipso                          11
##  97 cambulos                          3
##  98 camino real                      35
##  99 campestre                         1
## 100 caney                            88
## 101 caney especial                    5
## 102 capri                            56
## 103 cascajal                          1
## 104 cataya real                       1
## 105 cañasgordas                       7
## 106 cañaveralejo                     12
## 107 cañaverales                      21
## 108 cañaverales los samanes           1
## 109 ceibas                            1
## 110 centelsa                          1
## 111 centenario                       15
## 112 centro                            4
## 113 cerro cristales                  22
## 114 cerros de guadalupe               1
## 115 champagnat                       14
## 116 chapinero                         7
## 117 chiminangos                      17
## 118 chiminangos 1 etapa               1
## 119 chiminangos 2 etapa               2
## 120 chipichape                       30
## 121 ciudad 2000                      95
## 122 ciudad antejardin                 1
## 123 ciudad bochalema                 48
## 124 ciudad capri                     13
## 125 ciudad cordoba                   20
## 126 ciudad country                    1
## 127 ciudad córdoba                   15
## 128 ciudad córdoba reservado          1
## 129 ciudad del campo                  1
## 130 ciudad jardin                    22
## 131 ciudad jardin pance               1
## 132 ciudad jardín                   516
## 133 ciudad los alamos                 1
## 134 ciudad los álamos                25
## 135 ciudad melendez                   1
## 136 ciudad meléndez                  1
## 137 ciudad modelo                     7
## 138 ciudad pacifica                   2
## 139 ciudad real                       3
## 140 ciudad talanga                    1
## 141 ciudad universitaria              1
## 142 ciudadela comfandi               17
## 143 ciudadela del río                 1
## 144 ciudadela melendez                1
## 145 ciudadela paso ancho              1
## 146 ciudadela pasoancho              21
## 147 colinas de menga                  3
## 148 colinas del bosque                1
## 149 colinas del sur                   8
## 150 colon                             1
## 151 colseguros                       44
## 152 colseguros andes                  4
## 153 comfenalco                        1
## 154 compartir                         1
## 155 conjunto gibraltar                1
## 156 cristales                        83
## 157 cristobal colón                  14
## 158 cristóbal colón                   2
## 159 cuarto de legua                  44
## 160 departamental                    29
## 161 ed benjamin herrera               1
## 162 el bosque                        49
## 163 el caney                        208
## 164 el castillo                       6
## 165 el cedro                          8
## 166 el diamante                       2
## 167 el dorado                         6
## 168 el gran limonar                   8
## 169 el guabal                        19
## 170 el guabito                        1
## 171 el ingenio                      202
## 172 el ingenio 3                      1
## 173 el ingenio i                     19
## 174 el ingenio ii                    21
## 175 el ingenio iii                   20
## 176 el jardín                        15
## 177 el jordán                         1
## 178 el lido                          59
## 179 el limonar                      135
## 180 el nacional                       1
## 181 el paraíso                        3
## 182 el peñon                         60
## 183 el prado                          2
## 184 el refugio                      120
## 185 el rodeo                          1
## 186 el sena                           1
## 187 el troncal                       19
## 188 el trébol                        5
## 189 el vallado                        1
## 190 eucarístico                       2
## 191 evaristo garcía                   2
## 192 farrallones de pance              1
## 193 fenalco kennedy                   1
## 194 fepicol                           1
## 195 flora                             1
## 196 flora industrial                 16
## 197 floralia                          6
## 198 fonaviemcali                      1
## 199 francisco eladio ramirez          1
## 200 fuentes de la                     1
## 201 gaitan                            1
## 202 gran limonar                     24
## 203 granada                          15
## 204 guadalupe                        21
## 205 guadalupe alto                    1
## 206 guaduales                         2
## 207 guayaquil                        16
## 208 hacienda alferez real             1
## 209 ingenio                           1
## 210 ingenio i                         1
## 211 ingenio ii                        1
## 212 jamundi                           4
## 213 jamundi alfaguara                 1
## 214 jorge eliecer gaitán              1
## 215 jorge isaacs                      1
## 216 jose manuel marroquín             1
## 217 juanambu                          2
## 218 juanamb√∫                        53
## 219 junin                            18
## 220 junín                             6
## 221 la alborada                       5
## 222 la alianza                        5
## 223 la arboleda                      18
## 224 la base                          15
## 225 la buitrera                       3
## 226 la campiña                       13
## 227 la cascada                        7
## 228 la ceibas                         1
## 229 la esmeralda                      1
## 230 la flora                        366
## 231 la floresta                      18
## 232 la fortaleza                      4
## 233 la gran colombia                  1
## 234 la hacienda                     164
## 235 la independencia                 12
## 236 la libertad                       2
## 237 la luisa                          1
## 238 la merced                        26
## 239 la morada                         1
## 240 la nueva base                     8
## 241 la playa                          1
## 242 la portada al                     1
## 243 la primavera                      1
## 244 la reforma                        1
## 245 la rivera                        11
## 246 la rivera i                       2
## 247 la rivera ii                      2
## 248 la riverita                       1
## 249 la riviera                        1
## 250 la selva                         11
## 251 la villa del                      1
## 252 laflora                           1
## 253 lares de comfenalco               1
## 254 las acacias                      12
## 255 las américas                     3
## 256 las camelias                      1
## 257 las ceibas                       23
## 258 las delicias                      5
## 259 las granjas                      10
## 260 las quintas de                    1
## 261 las vegas                         1
## 262 las vegas de                      1
## 263 libertadores                      3
## 264 los alamos                        1
## 265 los alcazares                    17
## 266 los alcázares                     5
## 267 los andes                        21
## 268 los cambulos                     25
## 269 los cristales                   154
## 270 los cristales club                1
## 271 los cámbulos                      6
## 272 los farallones                    4
## 273 los guaduales                    25
## 274 los guayacanes                    3
## 275 los jockeys                       1
## 276 los libertadores                  4
## 277 los parques barranquilla          6
## 278 los robles                        1
## 279 lourdes                           2
## 280 mamellan                          1
## 281 manzanares                        5
## 282 mariano ramos                     1
## 283 marroquín iii                     1
## 284 mayapan las vegas                46
## 285 melendez                         52
## 286 meléndez                        23
## 287 menga                            23
## 288 metropolitano del norte          21
## 289 miradol del aguacatal             1
## 290 miraflores                       25
## 291 morichal de comfandi              3
## 292 multicentro                      27
## 293 municipal                         3
## 294 napoles                           2
## 295 normandia                         5
## 296 normandía                       154
## 297 normandía west point              1
## 298 norte                             9
## 299 norte la flora                    1
## 300 nueva base                        1
## 301 nueva floresta                   15
## 302 nueva tequendama                 73
## 303 nápoles                          29
## 304 oasis de comfandi                 6
## 305 oasis de pasoancho                1
## 306 occidente                        11
## 307 pacara                           19
## 308 pacará                            4
## 309 palmas del ingenio                1
## 310 pampa linda                      26
## 311 pampalinda                       12
## 312 panamericano                      9
## 313 pance                           409
## 314 parcelaciones pance              61
## 315 parque residencial el             1
## 316 paseo de los                      2
## 317 paso del comercio                 6
## 318 pasoancho                         6
## 319 poblado campestre                 2
## 320 ponce                             1
## 321 popular                           6
## 322 portada de comfandi               2
## 323 portales de comfandi              1
## 324 porvenir                          3
## 325 prados de oriente                 6
## 326 prados del limonar               20
## 327 prados del norte                126
## 328 prados del sur                    2
## 329 primavera                         2
## 330 primero de mayo                  37
## 331 primitivo crespo                  3
## 332 puente del comercio               6
## 333 puente palma                      1
## 334 quintas de don                   72
## 335 quintas de salomia                4
## 336 rafael uribe uribe                1
## 337 refugio                           2
## 338 rep√∫blica de israel              1
## 339 rincon de la                      1
## 340 rincón de salomia                 1
## 341 riveras del valle                 1
## 342 rozo la torre                     1
## 343 saavedra galindo                  4
## 344 salomia                          40
## 345 samanes                           1
## 346 samanes de guadalupe              1
## 347 sameco                            1
## 348 san antonio                      24
## 349 san bosco                         8
## 350 san carlos                        4
## 351 san cayetano                      9
## 352 san fernando                     54
## 353 san fernando nuevo               10
## 354 san fernando viejo               18
## 355 san joaquin                       4
## 356 san joaquín                      16
## 357 san juan bosco                    7
## 358 san judas                         1
## 359 san judas tadeo                   2
## 360 san luis                          2
## 361 san luís                          1
## 362 san nicolas                       1
## 363 san nicolás                       1
## 364 san pedro                         3
## 365 san vicente                      48
## 366 santa                             1
## 367 santa anita                      48
## 368 santa anita sur                   1
## 369 santa bárbara                     3
## 370 santa elena                      10
## 371 santa fe                          8
## 372 santa helena de                   1
## 373 santa isabel                     63
## 374 santa monica                     51
## 375 santa monica norte                2
## 376 santa monica popular              2
## 377 santa monica residencial          5
## 378 santa mónica                      3
## 379 santa mónica alta                 1
## 380 santa mónica popular              7
## 381 santa mónica residencial         39
## 382 santa rita                       45
## 383 santa rosa                        1
## 384 santa teresita                  262
## 385 santander                         1
## 386 santo domingo                     5
## 387 sector aguacatal                  1
## 388 sector cañaveralejo guadalupe     2
## 389 seminario                        32
## 390 sierras de normandía              1
## 391 siete de agosto                   8
## 392 simón bolivar                     1
## 393 tejares cristales                 4
## 394 tejares de san                   14
## 395 templete                          4
## 396 tequendama                       44
## 397 tequendema                        1
## 398 terrón colorado                   1
## 399 torres de comfandi               57
## 400 unicentro cali                    1
## 401 unión de vivienda                 3
## 402 urbanizacion el saman             1
## 403 urbanizacion gratamira            1
## 404 urbanizacion lili                 2
## 405 urbanización barranquilla         4
## 406 urbanización boyacá               1
## 407 urbanización colseguros           3
## 408 urbanización la flora            83
## 409 urbanización la merced            4
## 410 urbanización la nueva             4
## 411 urbanización las cascadas         1
## 412 urbanización nueva granada        3
## 413 urbanización pacara               1
## 414 urbanización río lili             5
## 415 urbanización san joaquin          4
## 416 urbanización tequendama           7
## 417 valle de lili                     1
## 418 valle del lili                 1008
## 419 valle grande                      1
## 420 versalles                        71
## 421 villa colombia                    6
## 422 villa de veracruz                 6
## 423 villa del lago                   10
## 424 villa del parque                  1
## 425 villa del prado                  51
## 426 villa del sol                    25
## 427 villa del sur                     5
## 428 villas de veracruz                8
## 429 vipasa                           32
## 430 zona centro                       1
## 431 zona norte                       32
## 432 zona norte los                    1
## 433 zona oeste                       26
## 434 zona oriente                     18
## 435 zona residencial                  1
## 436 zona sur                         74
## 437 <NA>                              3
#vivienda.head

# Homologamos los nombres de los barrios
vivienda <- vivienda %>%
  mutate(barrio = tolower(barrio))

vivienda$barrio[vivienda$barrio=="alborada"]="la alborada"
vivienda$barrio[vivienda$barrio=="agua blanca"]="aguablanca"
vivienda$barrio[vivienda$barrio=="alameda del río"]="alameda del rio"  
vivienda$barrio[vivienda$barrio=="alfonso lópez" | vivienda$barrio=="alfonso lópez i"]="alfonso lopez"  
vivienda$barrio[vivienda$barrio=="alférez real"]="alferez real"
vivienda$barrio[vivienda$barrio=="arboledas" | vivienda$barrio=="la arboleda"]="arboleda"  
vivienda$barrio[vivienda$barrio=="barrio 7de agosto"]="siete de agosto"
vivienda$barrio[vivienda$barrio=="barrio eucarístico"]="eucarístico"
vivienda$barrio[vivienda$barrio=="barrio obrero"]="obrero"
vivienda$barrio[vivienda$barrio=="barrio tranquilo y"]="tranquilo"
vivienda$barrio[vivienda$barrio=="barrio el recuerdo"]="recuerdo"
vivienda$barrio[vivienda$barrio=="base aérea"]="base aerea"
vivienda$barrio[vivienda$barrio=="calibella"]="cali bella"
vivienda$barrio[vivienda$barrio=="cali canto" | vivienda$barrio=="calicanto viii"]="calicanto"
vivienda$barrio[vivienda$barrio=="ciudad jardin pance" | vivienda$barrio=="ciudad jardín"]="ciudad jardin"
vivienda$barrio[vivienda$barrio=="ciudad los álamos"]="ciudad los alamos"
vivienda$barrio[vivienda$barrio=="ciudad meléndez"]="ciudad melendez"
vivienda$barrio[vivienda$barrio=="cristóbal colón"]="cristobal colón"
vivienda$barrio[vivienda$barrio=="el ingenio 3"]="el ingenio iii"
vivienda$barrio[vivienda$barrio=="el trébol"]="el trebol"
vivienda$barrio[vivienda$barrio=="ingenio"]="el ingenio"
vivienda$barrio[vivienda$barrio=="ingenio i"]="el ingenio i"
vivienda$barrio[vivienda$barrio=="ingenio ii"]="el ingenio ii"
vivienda$barrio[vivienda$barrio=="juanamb√∫"]="juanambu"
vivienda$barrio[vivienda$barrio=="junín"]="junin"
vivienda$barrio[vivienda$barrio=="laflora"]="la flora"
vivienda$barrio[vivienda$barrio=="las américas"]="las americas"
vivienda$barrio[vivienda$barrio=="los alcázares"]="los alcazares"
vivienda$barrio[vivienda$barrio=="meléndez"]="melendez"
vivienda$barrio[vivienda$barrio=="normandia"]="normandía"
vivienda$barrio[vivienda$barrio=="pacara"]="pacará"
vivienda$barrio[vivienda$barrio=="pampalinda"]="pampa linda"
vivienda$barrio[vivienda$barrio=="rep√∫blica de israel"]="republica de israel"
vivienda$barrio[vivienda$barrio=="refugio"]="el refugio"
vivienda$barrio[vivienda$barrio=="san joaquin"]="san joaquín"
vivienda$barrio[vivienda$barrio=="san luís"]="san luis"
vivienda$barrio[vivienda$barrio=="san nicolás"]="san nicolas"
vivienda$barrio[vivienda$barrio=="santa mónica"]="santa monica"
vivienda$barrio[vivienda$barrio=="santa monica popular"]="santa mónica popular"
vivienda$barrio[vivienda$barrio=="santa monica residencial"]="santa mónica residencial"
vivienda$barrio[vivienda$barrio=="tequendema"]="tequendama"
vivienda$barrio[vivienda$barrio=="valle de lili"]="valle del lili"

Graficas de valores faltantes en la data

  • Se presentan dos graficas donde es posible visualizar los datos faltantes segun la variable, se presenta un grafico de barras para ver la comparativa y otro grafico de matriz, relacionado con la tabla, que evidencia en que variable y el numero de datos faltante. Se puede afirmar que la mayor cantidad de datos faltantes se presentan en Piso y Parqueadero con 1605 y 2634 respectivamente.
##Grafica en donde podemos ver los datos faltantes

par(cex.axis = 0.7)  # Ajusta el tamaño del texto en los ejes
md.pattern(vivienda, rotate.names = TRUE)

##      preciom id zona estrato areaconst banios habitaciones tipo barrio longitud
## 4808       1  1    1       1         1      1            1    1      1        1
## 1909       1  1    1       1         1      1            1    1      1        1
## 876        1  1    1       1         1      1            1    1      1        1
## 726        1  1    1       1         1      1            1    1      1        1
## 1          1  0    0       0         0      0            0    0      0        0
## 2          0  0    0       0         0      0            0    0      0        0
##            2  3    3       3         3      3            3    3      3        3
##      latitud parqueaderos piso     
## 4808       1            1    1    0
## 1909       1            1    0    1
## 876        1            0    1    1
## 726        1            0    0    2
## 1          0            0    0   12
## 2          0            0    0   13
##            3         1605 2638 4275
par(cex.axis = 1.5)  # Restablece el tamaño del texto

#Grafico de valores faltantes presenta una mejor visualización de los datos
faltantes <- gg_miss_var(vivienda)
faltantes <- faltantes + labs(x = "Variables", y = "Cantidad valores nulos")
faltantes

- Acontinuacion se presenta una tabla con información de cuantos datos hay por barrio y cuantos por zona.

conteo <- vivienda %>%
  count(barrio)


print(conteo, n= Inf)
## # A tibble: 369 × 2
##     barrio                            n
##     <chr>                         <int>
##   1 20 de julio                       3
##   2 3 de julio                        1
##   3 acopi                           158
##   4 aguablanca                        3
##   5 aguacatal                       109
##   6 alameda                          16
##   7 alameda del rio                   3
##   8 alamos                           14
##   9 alcazares                         2
##  10 alferez real                      7
##  11 alfonso lopez                    23
##  12 alto jordán                       1
##  13 altos de guadalupe                4
##  14 altos de menga                    3
##  15 altos de santa                    1
##  16 antonio nariño                    2
##  17 aranjuez                         15
##  18 arboleda                         61
##  19 arboleda campestre candelaria     1
##  20 atanasio girardot                 9
##  21 autopista sur                     1
##  22 bajo aguacatal                    1
##  23 barranquilla                      6
##  24 base aerea                        2
##  25 belalcazar                        4
##  26 belisario caicedo                 2
##  27 bella suiza                      18
##  28 bella suiza alta                  4
##  29 bellavista                       43
##  30 benjamín herrera                  8
##  31 berlin                            1
##  32 bloques del limonar               1
##  33 bochalema                        33
##  34 bolivariano                       1
##  35 bosques de alboleda               1
##  36 bosques del limonar              21
##  37 boyacá                            1
##  38 bretaña                          16
##  39 brisas de guadalupe               1
##  40 brisas de los                    82
##  41 brisas del guabito                1
##  42 brisas del limonar                1
##  43 bueno madrid                      1
##  44 buenos aires                      7
##  45 caldas                            1
##  46 cali                             37
##  47 cali bella                        2
##  48 calicanto                        10
##  49 calima                            6
##  50 calimio norte                     5
##  51 calipso                          11
##  52 cambulos                          3
##  53 camino real                      36
##  54 campestre                         1
##  55 caney                            88
##  56 caney especial                    5
##  57 capri                            56
##  58 cascajal                          1
##  59 cataya real                       1
##  60 cañasgordas                       7
##  61 cañaveralejo                     12
##  62 cañaverales                      21
##  63 cañaverales los samanes           1
##  64 ceibas                            1
##  65 centelsa                          1
##  66 centenario                       16
##  67 centro                            4
##  68 cerro cristales                  22
##  69 cerros de guadalupe               1
##  70 champagnat                       14
##  71 chapinero                         7
##  72 chiminangos                      18
##  73 chiminangos 1 etapa               1
##  74 chiminangos 2 etapa               2
##  75 chipichape                       30
##  76 ciudad 2000                      96
##  77 ciudad antejardin                 1
##  78 ciudad bochalema                 48
##  79 ciudad capri                     13
##  80 ciudad cordoba                   20
##  81 ciudad country                    1
##  82 ciudad córdoba                   15
##  83 ciudad córdoba reservado          1
##  84 ciudad del campo                  1
##  85 ciudad jardin                   541
##  86 ciudad los alamos                26
##  87 ciudad melendez                   2
##  88 ciudad modelo                     7
##  89 ciudad pacifica                   3
##  90 ciudad real                       3
##  91 ciudad talanga                    1
##  92 ciudad universitaria              1
##  93 ciudadela comfandi               17
##  94 ciudadela del río                 1
##  95 ciudadela melendez                1
##  96 ciudadela paso ancho              1
##  97 ciudadela pasoancho              21
##  98 colinas de menga                  3
##  99 colinas del bosque                1
## 100 colinas del sur                   8
## 101 colon                             1
## 102 colseguros                       44
## 103 colseguros andes                  5
## 104 comfenalco                        1
## 105 compartir                         1
## 106 conjunto gibraltar                1
## 107 cristales                        83
## 108 cristobal colón                  16
## 109 cuarto de legua                  44
## 110 departamental                    29
## 111 ed benjamin herrera               1
## 112 el bosque                        50
## 113 el caney                        209
## 114 el castillo                       6
## 115 el cedro                          8
## 116 el diamante                       2
## 117 el dorado                         6
## 118 el gran limonar                   8
## 119 el guabal                        19
## 120 el guabito                        1
## 121 el ingenio                      204
## 122 el ingenio i                     20
## 123 el ingenio ii                    22
## 124 el ingenio iii                   21
## 125 el jardín                        15
## 126 el jordán                         1
## 127 el lido                          59
## 128 el limonar                      135
## 129 el nacional                       1
## 130 el paraíso                        3
## 131 el peñon                         60
## 132 el prado                          2
## 133 el refugio                      122
## 134 el rodeo                          1
## 135 el sena                           1
## 136 el trebol                         5
## 137 el troncal                       19
## 138 el vallado                        1
## 139 eucarístico                       3
## 140 evaristo garcía                   2
## 141 farrallones de pance              1
## 142 fenalco kennedy                   1
## 143 fepicol                           1
## 144 flora                             1
## 145 flora industrial                 16
## 146 floralia                          6
## 147 fonaviemcali                      1
## 148 francisco eladio ramirez          1
## 149 fuentes de la                     1
## 150 gaitan                            1
## 151 gran limonar                     24
## 152 granada                          15
## 153 guadalupe                        21
## 154 guadalupe alto                    1
## 155 guaduales                         2
## 156 guayaquil                        16
## 157 hacienda alferez real             1
## 158 jamundi                           4
## 159 jamundi alfaguara                 1
## 160 jorge eliecer gaitán              1
## 161 jorge isaacs                      1
## 162 jose manuel marroquín             1
## 163 juanambu                         55
## 164 junin                            24
## 165 la alborada                       6
## 166 la alianza                        5
## 167 la base                          15
## 168 la buitrera                       3
## 169 la campiña                       13
## 170 la cascada                        7
## 171 la ceibas                         1
## 172 la esmeralda                      1
## 173 la flora                        369
## 174 la floresta                      18
## 175 la fortaleza                      4
## 176 la gran colombia                  1
## 177 la hacienda                     166
## 178 la independencia                 12
## 179 la libertad                       2
## 180 la luisa                          1
## 181 la merced                        26
## 182 la morada                         1
## 183 la nueva base                     8
## 184 la playa                          1
## 185 la portada al                     1
## 186 la primavera                      1
## 187 la reforma                        1
## 188 la rivera                        11
## 189 la rivera i                       2
## 190 la rivera ii                      2
## 191 la riverita                       1
## 192 la riviera                        1
## 193 la selva                         11
## 194 la villa del                      1
## 195 lares de comfenalco               1
## 196 las acacias                      12
## 197 las americas                      3
## 198 las camelias                      1
## 199 las ceibas                       23
## 200 las delicias                      5
## 201 las granjas                      10
## 202 las quintas de                    1
## 203 las vegas                         1
## 204 las vegas de                      1
## 205 libertadores                      3
## 206 los alamos                        1
## 207 los alcazares                    22
## 208 los andes                        21
## 209 los cambulos                     25
## 210 los cristales                   154
## 211 los cristales club                1
## 212 los cámbulos                      6
## 213 los farallones                    4
## 214 los guaduales                    26
## 215 los guayacanes                    3
## 216 los jockeys                       1
## 217 los libertadores                  4
## 218 los parques barranquilla          6
## 219 los robles                        1
## 220 lourdes                           2
## 221 mamellan                          1
## 222 manzanares                        5
## 223 mariano ramos                     1
## 224 marroquín iii                     1
## 225 mayapan las vegas                46
## 226 melendez                         75
## 227 menga                            23
## 228 metropolitano del norte          21
## 229 miradol del aguacatal             1
## 230 miraflores                       26
## 231 morichal de comfandi              3
## 232 multicentro                      27
## 233 municipal                         3
## 234 napoles                           2
## 235 normandía                       159
## 236 normandía west point              1
## 237 norte                             9
## 238 norte la flora                    1
## 239 nueva base                        1
## 240 nueva floresta                   15
## 241 nueva tequendama                 73
## 242 nápoles                          29
## 243 oasis de comfandi                 6
## 244 oasis de pasoancho                1
## 245 obrero                            1
## 246 occidente                        11
## 247 pacará                           23
## 248 palmas del ingenio                1
## 249 pampa linda                      38
## 250 panamericano                      9
## 251 pance                           412
## 252 parcelaciones pance              61
## 253 parque residencial el             1
## 254 paseo de los                      2
## 255 paso del comercio                 6
## 256 pasoancho                         6
## 257 poblado campestre                 2
## 258 ponce                             1
## 259 popular                           6
## 260 portada de comfandi               2
## 261 portales de comfandi              1
## 262 porvenir                          3
## 263 prados de oriente                 6
## 264 prados del limonar               21
## 265 prados del norte                127
## 266 prados del sur                    2
## 267 primavera                         2
## 268 primero de mayo                  37
## 269 primitivo crespo                  3
## 270 puente del comercio               6
## 271 puente palma                      1
## 272 quintas de don                   73
## 273 quintas de salomia                4
## 274 rafael uribe uribe                1
## 275 recuerdo                          1
## 276 republica de israel               1
## 277 rincon de la                      1
## 278 rincón de salomia                 1
## 279 riveras del valle                 1
## 280 rozo la torre                     1
## 281 saavedra galindo                  4
## 282 salomia                          40
## 283 samanes                           1
## 284 samanes de guadalupe              1
## 285 sameco                            1
## 286 san antonio                      24
## 287 san bosco                         8
## 288 san carlos                        4
## 289 san cayetano                      9
## 290 san fernando                     55
## 291 san fernando nuevo               10
## 292 san fernando viejo               18
## 293 san joaquín                      20
## 294 san juan bosco                    7
## 295 san judas                         1
## 296 san judas tadeo                   2
## 297 san luis                          3
## 298 san nicolas                       2
## 299 san pedro                         3
## 300 san vicente                      48
## 301 santa                             1
## 302 santa anita                      50
## 303 santa anita sur                   1
## 304 santa bárbara                     3
## 305 santa elena                      10
## 306 santa fe                          8
## 307 santa helena de                   1
## 308 santa isabel                     64
## 309 santa monica                     55
## 310 santa monica norte                2
## 311 santa mónica alta                 1
## 312 santa mónica popular              9
## 313 santa mónica residencial         44
## 314 santa rita                       45
## 315 santa rosa                        1
## 316 santa teresita                  263
## 317 santafe                           1
## 318 santander                         1
## 319 santo domingo                     6
## 320 sector aguacatal                  1
## 321 sector cañaveralejo guadalupe     2
## 322 seminario                        32
## 323 sierras de normandía              1
## 324 siete de agosto                   9
## 325 simón bolivar                     1
## 326 tejares cristales                 4
## 327 tejares de san                   14
## 328 templete                          4
## 329 tequendama                       45
## 330 terrón colorado                   1
## 331 torres de comfandi               57
## 332 tranquilo                         1
## 333 unicentro cali                    1
## 334 unión de vivienda                 3
## 335 urbanizacion el saman             1
## 336 urbanizacion gratamira            1
## 337 urbanizacion lili                 2
## 338 urbanización barranquilla         4
## 339 urbanización boyacá               1
## 340 urbanización colseguros           3
## 341 urbanización la flora            83
## 342 urbanización la merced            4
## 343 urbanización la nueva             4
## 344 urbanización las cascadas         1
## 345 urbanización nueva granada        3
## 346 urbanización pacara               1
## 347 urbanización río lili             5
## 348 urbanización san joaquin          4
## 349 urbanización tequendama           7
## 350 valle del lili                 1010
## 351 valle grande                      1
## 352 versalles                        71
## 353 villa colombia                    6
## 354 villa de veracruz                 6
## 355 villa del lago                   10
## 356 villa del parque                  1
## 357 villa del prado                  52
## 358 villa del sol                    25
## 359 villa del sur                     5
## 360 villas de veracruz                9
## 361 vipasa                           32
## 362 zona centro                       1
## 363 zona norte                       32
## 364 zona norte los                    1
## 365 zona oeste                       26
## 366 zona oriente                     18
## 367 zona residencial                  1
## 368 zona sur                         74
## 369 <NA>                              3
conteo <- vivienda %>%
  count(zona)
print(conteo, n= Inf)
## # A tibble: 6 × 2
##   zona             n
##   <fct>        <int>
## 1 Zona Centro    124
## 2 Zona Norte    1920
## 3 Zona Oeste    1198
## 4 Zona Oriente   351
## 5 Zona Sur      4726
## 6 <NA>             3

Limpieza de datos

Se eliminan filas completamente vacías (apply(…, function(x) all(is.na(x)))). Se eliminan filas donde zona, estrato y barrio sean todos NA.

# Ajustes de Zona
vivienda$zona[vivienda$zona=="Zona Centro" & vivienda$barrio=="torres de comfandi"]="Zona Norte"

# Eliminamos los registros que estan completamente vacios o cuentan con un solo dato (Columna)
vivienda <- vivienda[!apply(vivienda, 1, function(x) all(is.na(x))), ]
vivienda <- vivienda[!apply(vivienda[, c("zona", "estrato", "barrio")], 1, function(x) all(is.na(x))), ]


conteo <- vivienda %>%
  count(zona)
print(conteo, n= Inf)
## # A tibble: 5 × 2
##   zona             n
##   <fct>        <int>
## 1 Zona Centro    122
## 2 Zona Norte    1922
## 3 Zona Oeste    1198
## 4 Zona Oriente   351
## 5 Zona Sur      4726
vivienda_faltantes <- vivienda
zonasFaltantes = subset(vivienda_faltantes, is.na(vivienda_faltantes$zona))

vivienda_faltantes <- vivienda_faltantes[!apply(vivienda_faltantes, 1, function(x) all(is.na(x))), ]

vivienda_faltantes <- vivienda_faltantes[!apply(vivienda_faltantes[, c("zona", "estrato", "barrio")], 1, function(x) all(is.na(x))), ]

conteo <- vivienda_faltantes %>%
  count(zona)


conteo <- vivienda_faltantes %>%
  filter(is.na(parqueaderos)) %>%  # Filtrar filas donde parqueadero es NA
  count(zona)                 # Contar las ocurrencias de cada zona

print(conteo)
## # A tibble: 5 × 2
##   zona             n
##   <fct>        <int>
## 1 Zona Centro     59
## 2 Zona Norte     634
## 3 Zona Oeste     100
## 4 Zona Oriente   188
## 5 Zona Sur       621

Aplicación de imputación en cada zona y tipo de vivienda

Se llama a las funciones de imputación para cada combinación de:

  • Zona: Centro, Norte, Oeste, Oriente, Sur.
  • Tipo de vivienda: Apartamento y Casa.

Se presenta de nuevo la matriz que evidencia donde hay datos faltantes y en ahora ya no presenta casos.

conteo <- vivienda_faltantes %>%
  filter(is.na(parqueaderos)) %>%  # Filtrar filas donde parquea es NA
  count(zona)                 # Contar las ocurrencias de cada zona

#print(conteo)

#md.pattern(vivienda)

# Centro - Apartamento
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Centro", "Apartamento" )
vivienda <- imputar_piso_zona(vivienda, "Zona Centro", "Apartamento" )

# Centro - Casa
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Centro", "Casa" )
vivienda <- imputar_piso_zona(vivienda, "Zona Centro", "Casa" )

# -------------------------------------

# Norte - Apartamento
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Norte", "Apartamento" )
vivienda <- imputar_piso_zona(vivienda, "Zona Norte", "Apartamento" )

# Norte - Casa
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Norte", "Casa" )
vivienda <- imputar_piso_zona(vivienda, "Zona Norte", "Casa" )

# -------------------------------------

# Oeste - Apartamento
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Oeste", "Apartamento" )
vivienda <- imputar_piso_zona(vivienda, "Zona Oeste", "Apartamento" )

# Oeste - Casa
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Oeste", "Casa" )
vivienda <- imputar_piso_zona(vivienda, "Zona Oeste", "Casa" )

# -------------------------------------

# Oriente - Apartamento
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Oriente", "Apartamento" )
vivienda <- imputar_piso_zona(vivienda, "Zona Oriente", "Apartamento" )

# Oriente - Casa
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Oriente", "Casa" )
vivienda <- imputar_piso_zona(vivienda, "Zona Oriente", "Casa" )

# -------------------------------------

# Sur - Apartamento
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Sur", "Apartamento" )
vivienda <- imputar_piso_zona(vivienda, "Zona Sur", "Apartamento" )

# Sur - Casa
vivienda <- imputar_parqueadero_zona(vivienda, "Zona Sur", "Casa" )
vivienda <- imputar_piso_zona(vivienda, "Zona Sur", "Casa" )

par(cex.axis = 0.7)  # Ajusta el tamaño del texto en los ejes
md.pattern(vivienda, rotate.names = TRUE)
##  /\     /\
## {  `---'  }
## {  O   O  }
## ==>  V <==  No need for mice. This data set is completely observed.
##  \  \|/  /
##   `-----'

##      id zona piso estrato preciom areaconst parqueaderos banios habitaciones
## 8319  1    1    1       1       1         1            1      1            1
##       0    0    0       0       0         0            0      0            0
##      tipo barrio longitud latitud  
## 8319    1      1        1       1 0
##         0      0        0       0 0
par(cex.axis = 1.5)  # Restablece el tamaño del texto

dataLimpia <- vivienda

conteo <- dataLimpia %>%
  count(tipo)


print(conteo, n= Inf)
## # A tibble: 2 × 2
##   tipo            n
##   <fct>       <int>
## 1 Apartamento  5100
## 2 Casa         3219
dataLimpia$estrato <- as.factor(dataLimpia$estrato)
dataLimpia$barrio <- as.factor(dataLimpia$barrio)

Punto 1

Análisis de Componentes Principales:

El objetivo es reducir la dimensionalidad del conjunto de datos y visualizar la estructura de las variables en componentes principales para identificar características clave, que influyen en la variación de precios y oferta del mercado.

Se presenta un grafico de barras que hacer referencia a la varianza explicada, podemos afirmar que si se suma la varianza explicada por CP1 y CP2, se obtendria un 81.5% de varianza explicada acumulada. Esto quiere decir que al usar solo estos dos componentes, ya está reteniendo un gran porcentaje de la información original.

# Seleccionar solo las variables numéricas relevantes para PCA
vivienda_num <- dataLimpia %>% select(preciom, areaconst, parqueaderos, banios, habitaciones)

# Normalizar datos (pero sin sobrescribir vivienda)
vivienda_scaled <- as.data.frame(scale(vivienda_num))
prcomp(vivienda_scaled)
## Standard deviations (1, .., p=5):
## [1] 1.7867254 0.9406978 0.6252437 0.5829301 0.4381355
## 
## Rotation (n x k) = (5 x 5):
##                    PC1         PC2         PC3        PC4        PC5
## preciom      0.4738337  0.38947240  0.32361198 -0.2388896  0.6797057
## areaconst    0.4822600 -0.04957141  0.54889941  0.5731352 -0.3676867
## parqueaderos 0.4272434  0.46064081 -0.71341297  0.2854454 -0.1218031
## banios       0.4872637 -0.17472252 -0.02325809 -0.7093709 -0.4778055
## habitaciones 0.3506338 -0.77661832 -0.29066428  0.1725157  0.3995905
res.pca <- prcomp(vivienda_scaled)

fviz_eig(res.pca, addlabels = TRUE)

Luego de aplicar el analisis de componentes principales con las variables numericas relevantes, se grafica un Biplot que ofrece una visión concisa de las relaciones entre las características de las viviendas y cómo se agrupan según sus similitudes. Los dos primeros componentes principales (Dim1 y Dim2) capturan un total del 81.5% de la varianza total de los datos, con Dim1 representando el 63.8% (esta fuertemente influenciado por variables relacionadas con el tamaño y el valor de la propiedad, como areaconst y preciom y Dim2 el 17.7% (esta asociado principalmente con el número de habitaciones y baños). Esto indica que estos dos componentes resumen de manera efectiva la mayor parte de la información contenida en las variables originales.

# Aplicar PCA
res.pca <- PCA(vivienda_scaled, scale.unit = TRUE, ncp = 10, graph = FALSE)

fviz_pca_var(res.pca,
             col.var = "contrib", # Color by contributions to the 
             gradient.cols = c("#FF7F00",  "#034D94"),
             repel = TRUE     # Avoid text overlapping
)

# Obtener coordenadas PCA
pca_coords <- as.data.frame(res.pca$ind$coord[, 1:2])  # Solo PC1 y PC2
pca_coords
colnames(pca_coords) <- c("PC1", "PC2")

Se calculan y grafican los puntos extremos usando el metodo de cuadrantes.

# Calculo de outliers por metodo de cuandrantes.
pca_coords$cuadrante <- ifelse(pca_coords$PC1 >= 0 & pca_coords$PC2 >= 0, "Q1",
                              ifelse(pca_coords$PC1 < 0 & pca_coords$PC2 >= 0, "Q2",
                                     ifelse(pca_coords$PC1 < 0 & pca_coords$PC2 < 0, "Q3", "Q4")))

outlier_final <- pca_coords %>%
  group_by(cuadrante) %>%
  slice_max(abs(PC1) + abs(PC2), n = 1) %>%
  ungroup()
# Grafica OUtliers 

fviz_pca_ind(res.pca, col.ind = "#DEDEDE") +  
  geom_point(data = outlier_final, aes(x = PC1, y = PC2), color = "red", size = 4) +
  geom_text(data = outlier_final, aes(x = PC1, y = PC2, label = rownames(outlier_final)), vjust = -1, color = "black", size = 5)

Punto 2

Análisis de Conglomerados:

Se realiza este analisis mediate el cual se logra identificar grupos muy parecidos (homogéneos) de objetos o individuos.

Este gráfico de puntos muestra cómo las viviendas en Cali se agrupan en cuatro clusters distintos según su precio y área construida. Cada cluster representa un tipo de vivienda con características particulares en términos de tamaño y valor. La presencia de posibles valores atípicos sugiere que podría haber viviendas con características únicas que merecen un análisis más profundo.

Los cluster estan diferenciados asi:

  • Cluster 1 (rojo): Representa viviendas con precios y áreas construidas relativamente bajos. Podrían ser viviendas más pequeñas o de menor valor.
  • Cluster 2 (verde): Representa viviendas con áreas construidas más grandes que el promedio, pero con precios que varían desde moderados hasta altos.
  • Cluster 3 (azul): Muestra una mayor dispersión en cuanto a precios, pero las áreas construidas tienden a ser medianas o un poco más grandes que el promedio.
  • Cluster 4 (morado): Representa viviendas con precios y áreas construidas más altas en comparación con los otros clusters. Podrían ser viviendas de lujo o de gran tamaño.
##----------------------------------------------------------------------------##
##                            Analisis Conglomerados                          ##
##----------------------------------------------------------------------------##
# distancia manhattan
dist_viv <- dist(vivienda_scaled, method = 'manhattan')

# Clúster jerárquico con el método complete
hc_viv <- hclust(dist_viv, method = 'complete')

# Determinamos a dónde pertenece cada observación
cluster_assigments <- cutree(hc_viv, k = 4)

# asignamos los clusters
assigned_cluster <- vivienda_scaled %>% mutate(cluster = as.factor(cluster_assigments))


# gráfico de puntos
ggplot(assigned_cluster, aes(x = preciom, y = areaconst, color = cluster)) +
geom_point(size = 4) +
geom_text(aes(label = cluster), vjust = -.8) + # Agregar etiquetas del clúster
theme_classic()

A continuacion se hara un dendograma que representa visualmente el proceso de clustering jerárquico aplicado a las viviendas, utilizando la distancia Manhattan y el método de enlace “complete”. El gráfico muestra cómo las viviendas se agrupan en clusters basados en su similitud, y resalta cuatro clusters principales que fueron definidos cortando el dendrograma en un punto específico. La altura de las uniones entre ramas indica la distancia entre los clusters, lo que permite observar qué clusters son más similares entre sí.

##--------------------------------------------------------
# Aplicar el método de conglomeración jerárquica (enlace "complete")
conglomerado <- hclust(dist_viv, method = "complete")

# Visualizar el dendrograma
plot(conglomerado, cex = 0.6, main = "Dendrograma de Clustering Jerárquico", las = 1, 
     ylab = "Distancia Manhattan", xlab = "Grupos")
rect.hclust(conglomerado, k = 4, border = 2:5)

Estos resultados sugieren que el mercado inmobiliario podría segmentarse en función de estas características (cluster), lo cual podría tener implicaciones relevantes para fines de valoración de propiedades, estrategias de marketing para vivienda.

# Determinar el número de conglomerados (puedes ajustar este valor)
num_conglomerados <- 3

# Asignar las observaciones a los conglomerados
grupos <- cutree(conglomerado, k = num_conglomerados)

# Añadir la información del grupo a los datos originales (dataLimpia)
dataLimpia$grupo_jerarquico <- factor(grupos)

# Visualizar los resultados (gráfico de dispersión con ggplot2)
ggplot(dataLimpia, aes(x = preciom, y = areaconst, color = grupo_jerarquico)) +
  geom_point() +
  labs(title = "Análisis de Conglomerados Jerárquico", x = "Precio", y = "Área Construida")

  theme(plot.title = element_text(hjust = 0.5)) 
## List of 1
##  $ plot.title:List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : num 0.5
##   ..$ vjust        : NULL
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : NULL
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi FALSE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  - attr(*, "class")= chr [1:2] "theme" "gg"
##  - attr(*, "complete")= logi FALSE
##  - attr(*, "validate")= logi TRUE

Ademas se grfican los clusters en el espacio de pca, la distribución de los clusters en relación con los ejes PC1 y PC2 da información sobre las características generales de cada grupo en términos de tamaño, precio y número de habitaciones/baños.

# También puedes visualizar los clusters en el espacio de PCA
pca_coords$grupo_jerarquico <- factor(grupos)  # Añadir grupos a las coordenadas PCA

ggplot(pca_coords, aes(x = PC1, y = PC2, color = grupo_jerarquico)) +
  geom_point() +
  labs(title = "Clusters Jerárquicos en PCA", x = "PC1", y = "PC2")

Punto 3

Análisis de Correspondencia:

El objetivo es examinar la relación entre las variables categóricas (tipo de vivienda, zona y barrio), para identificar patrones de comportamiento de la oferta en mercado inmobiliario.

Se observa que la cercania entre “Apartamento” y “Zona Sur” sugiere una posible asociación entre estos; de manera similar, la agrupación de “Casa” y “Zona Norte” indica una posible relación entre vivir en una casa y residir en esa zona de la ciudad. El análisis de las dimensiones revela que la Dim1 diferencia principalmente entre zonas, mientras que la Dim2 parece estar más relacionada con el tipo de vivienda y el estrato. Esta informacion permite entender mejor el comportamiento del mercado inmobiliario, lo que es util si se quiere segmentar a los clientes en función de sus preferencias.

#----------------------------------------------------------------------------------------------
#                              Analisis de correspondencia
#----------------------------------------------------------------------------------------------

# Seleccionar variables categóricas y convertirlas a factor
mca_data <- vivienda_faltantes %>%  select(tipo, zona, estrato) %>%  mutate(across(everything(), as.factor))
# Aplicar Análisis de Correspondencia Múltiple 
mca_result <- MCA(mca_data, graph = FALSE)# Graficar las categorías de variables
fviz_mca_var(mca_result, 
             repel = TRUE,  # Evita superposición de etiquetas
             col.var = "blue" # Color azul para las variables
             
)

Conclusiones y Recomendaciones

  1. El Análisis de Componentes Principales (PCA) mostró que el precio por metro cuadrado, el área y los baños son las variables más influyentes.
  2. El clustering reveló que existen 4 segmentos de propiedades diferenciados por estrato y características constructivas.
  3. El Análisis de Correspondencia identificó que las casas predominan en ciertas zonas mientras que los apartamentos en otras, lo que puede guiar estrategias de venta específicas.
  4. La visualización geoespacial resalta que los estratos altos se concentran en zonas específicas, lo que puede ayudar en la planificación de estrategias inmobiliarias.
  5. Se recomienda focalizar esfuerzos en zonas de alto valor con menor competencia y considerar políticas de precio para atraer compradores en zonas emergentes.