EVALUACIÓN DE LA OFERTA INMOBILIARIA URBANA

CARGA DE DATOS

## [1] "LC_COLLATE=es_ES.UTF-8;LC_CTYPE=es_ES.UTF-8;LC_MONETARY=es_ES.UTF-8;LC_NUMERIC=C;LC_TIME=es_ES.UTF-8"
## Rows: 8,322
## Columns: 13
## $ id           <dbl> 1147, 1169, 1350, 5992, 1212, 1724, 2326, 4386, 1209, 159…
## $ zona         <chr> "Zona Oriente", "Zona Oriente", "Zona Oriente", "Zona Sur…
## $ piso         <chr> NA, NA, NA, "02", "01", "01", "01", "01", "02", "02", "02…
## $ estrato      <dbl> 3, 3, 3, 4, 5, 5, 4, 5, 5, 5, 6, 4, 5, 6, 4, 5, 5, 4, 5, …
## $ preciom      <dbl> 250, 320, 350, 400, 260, 240, 220, 310, 320, 780, 750, 62…
## $ areaconst    <dbl> 70, 120, 220, 280, 90, 87, 52, 137, 150, 380, 445, 355, 2…
## $ parqueaderos <dbl> 1, 1, 2, 3, 1, 1, 2, 2, 2, 2, NA, 3, 2, 2, 1, 4, 2, 2, 2,…
## $ banios       <dbl> 3, 2, 2, 5, 2, 3, 2, 3, 4, 3, 7, 5, 6, 2, 4, 4, 4, 3, 2, …
## $ habitaciones <dbl> 6, 3, 4, 3, 3, 3, 3, 4, 6, 3, 6, 5, 6, 2, 5, 5, 4, 3, 3, …
## $ tipo         <chr> "Casa", "Casa", "Casa", "Casa", "Apartamento", "Apartamen…
## $ barrio       <chr> "20 de julio", "20 de julio", "20 de julio", "3 de julio"…
## $ longitud     <dbl> -76.51168, -76.51237, -76.51537, -76.54000, -76.51350, -7…
## $ latitud      <dbl> 3.43382, 3.43369, 3.43566, 3.43500, 3.45891, 3.36971, 3.4…

ANALISIS DE LA BASE DE DATOS

DIMENSIÓN DE LA BASE DE DATOS

Se extrajo la dimensión del dataframe, es decir, el número total de filas (observaciones) y columnas (variables), con el objetivo de conocer la magnitud del conjunto de datos y facilitar la planificación de su análisis.

## [1] 8322   13

CANTIDAD DE REGISTROS

## [1] 8322

CANTIDAD DE COLUMNAS

## [1] 13

ESTRUCTURA DE Y TIPOS DE DATOS DE LA BASE DE DATOS

Tipos de variables en la base de datos
Variable Tipo
id id numeric
zona zona character
piso piso character
estrato estrato numeric
preciom preciom numeric
areaconst areaconst numeric
parqueaderos parqueaderos numeric
banios banios numeric
habitaciones habitaciones numeric
tipo tipo character
barrio barrio character
longitud longitud numeric
latitud latitud numeric
Lo propio hacemos con el dataframe de VIVIENDAS, con el fin de obtener una visión general de las características estadísticas de las variables, se utilizó la función describe() del paquete psych. Esta función proporciona una tabla resumen con los siguientes indicadores por variable: Número de observaciones válidas (n), Media (mean), Desviación estándar (sd), Valores mínimo y máximo, Rango (range) y Curtosis y asimetría (indicadores de forma de la distribución)

ERRORES DE ESCRITURA

En esta etapa no se identificaron errores de escritura en las variables del conjunto de datos actual, dado que todas las columnas fueron interpretadas como variables numéricas. Esto indica que las posibles inconsistencias tipográficas en variables categóricas (como el uso de mayúsculas/minúsculas o espacios) ya han sido previamente corregidas o que dichas variables no están presentes en la versión actual del dataset.

ERROR DE ESCRITURA DATAFRAME

Vemos la estructura y tipos de datos para el dataframe. Muestra el tipo de cada variable: numérica, factor, carácter, etc.

## spc_tbl_ [8,322 × 13] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ id          : num [1:8322] 1147 1169 1350 5992 1212 ...
##  $ zona        : chr [1:8322] "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
##  $ piso        : chr [1:8322] NA NA NA "02" ...
##  $ estrato     : num [1:8322] 3 3 3 4 5 5 4 5 5 5 ...
##  $ preciom     : num [1:8322] 250 320 350 400 260 240 220 310 320 780 ...
##  $ areaconst   : num [1:8322] 70 120 220 280 90 87 52 137 150 380 ...
##  $ parqueaderos: num [1:8322] 1 1 2 3 1 1 2 2 2 2 ...
##  $ banios      : num [1:8322] 3 2 2 5 2 3 2 3 4 3 ...
##  $ habitaciones: num [1:8322] 6 3 4 3 3 3 3 4 6 3 ...
##  $ tipo        : chr [1:8322] "Casa" "Casa" "Casa" "Casa" ...
##  $ barrio      : chr [1:8322] "20 de julio" "20 de julio" "20 de julio" "3 de julio" ...
##  $ longitud    : num [1:8322] -76.5 -76.5 -76.5 -76.5 -76.5 ...
##  $ latitud     : num [1:8322] 3.43 3.43 3.44 3.44 3.46 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   id = col_double(),
##   ..   zona = col_character(),
##   ..   piso = col_character(),
##   ..   estrato = col_double(),
##   ..   preciom = col_double(),
##   ..   areaconst = col_double(),
##   ..   parqueaderos = col_double(),
##   ..   banios = col_double(),
##   ..   habitaciones = col_double(),
##   ..   tipo = col_character(),
##   ..   barrio = col_character(),
##   ..   longitud = col_double(),
##   ..   latitud = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>

RESUMEN DE VALORES FALTANTES

En esta sección se realiza un diagnóstico de valores faltantes (también denominados datos ausentes o NA) en el conjunto de datos. La presencia de valores faltantes puede afectar la validez de los análisis estadísticos y de los modelos predictivos, por lo cual es necesario cuantificarlos y considerarlos en las etapas posteriores de preprocesamiento.

VALORES FALTANTES DATAFRAME

Se aplicaron dos funciones sobre cada variable del conjunto de datos para obtener:

Conteo absoluto de valores faltantes: Utilizando la función sapply() en combinación con sum(is.na(x)), se obtuvo el número de valores faltantes por columna.

##           id         zona         piso      estrato      preciom    areaconst 
##            3            3         2638            3            2            3 
## parqueaderos       banios habitaciones         tipo       barrio     longitud 
##         1605            3            3            3            3            3 
##      latitud 
##            3

Porcentaje (%) de valores faltantes: Se calculó como el promedio de valores faltantes sobre el total de observaciones, multiplicado por 100. Este valor permite dimensionar la magnitud relativa del problema en cada variable.

##           id         zona         piso      estrato      preciom    areaconst 
##         0.04         0.04        31.70         0.04         0.02         0.04 
## parqueaderos       banios habitaciones         tipo       barrio     longitud 
##        19.29         0.04         0.04         0.04         0.04         0.04 
##      latitud 
##         0.04
Esta tabla fue presentada con formato tabular mediante la función kable() del paquete knitr, estilizada con kableExtra para mejorar su presentación en el informe.
Tabla 2. Valores faltantes Dataframe
Variable Valores_Faltantes Porcentaje_faltantes
id id 3 0.04
zona zona 3 0.04
piso piso 2638 31.70
estrato estrato 3 0.04
preciom preciom 2 0.02
areaconst areaconst 3 0.04
parqueaderos parqueaderos 1605 19.29
banios banios 3 0.04
habitaciones habitaciones 3 0.04
tipo tipo 3 0.04
barrio barrio 3 0.04
longitud longitud 3 0.04
latitud latitud 3 0.04

IDENTIFICACIÓN DE REGISTROS DUPLICADOS

Como parte del preprocesamiento de los datos, se realizó una verificación exhaustiva de registros duplicados en ambos conjuntos de datos. Un registro duplicado se define como una fila que contiene exactamente los mismos valores en todas las columnas que otra(s) fila(s) dentro del mismo data frame. Su presencia puede generar redundancia en el análisis, influyendo en los resultados estadísticos o en la calidad de los modelos predictivos.

REGISTROS DUPLICADOS DATAFRAME

Para detectar duplicados en el conjunto de datos, se utilizó la función duplicated() en combinación con fromLast = TRUE, lo que permite identificar todas las apariciones de registros duplicados (no solo la segunda y posteriores, sino también la primera ocurrencia).

Se construyó un nuevo subconjunto de datos denominado duplicados_data, el cual contiene únicamente aquellos registros que están completamente duplicados en todas sus variables. Posteriormente, se calculó el número total de registros duplicados mediante la función nrow().

Este paso permite tener claridad sobre la presencia de redundancias y evaluar si es necesario aplicar una eliminación (distinct() o unique()) en fases posteriores del procesamiento.

## Total de registros duplicados en Dataframe (todas las apariciones): 2
Registros con IDs duplicados en el conjunto de datos. El conjunto de datos contiene registros incompletos con identificadores faltantes (NA), los cuales generan aparente duplicidad del ID.

IDENTIFICACIÓN DE VARIABLES NUMÉRICAS

En esta etapa se filtraron únicamente las variables de tipo numérico del dataframe. Esta segmentación permite focalizar análisis cuantitativos, como estadísticas descriptivas, visualizaciones de distribución, análisis de correlación, normalización, entre otros, que no son aplicables a variables categóricas o de texto.

VARIABLES NUMÉRICAS DATAFRAME

Para identificar las variables numéricas dentro del conjunto datos, se utilizó la función sapply() combinada con is.numeric, lo cual devuelve un vector lógico que indica qué columnas del data frame tienen tipo de dato numérico. A partir de ese vector, se seleccionaron únicamente las columnas que cumplen con esta condición, generando un nuevo subconjunto de datos denominado datos_numericos_vivienda.

Este subconjunto fue inspeccionado visualmente mediante print() y se evaluó su dimensión utilizando la función dim(), lo cual permitió conocer cuántas variables numéricas hay disponibles y cuántas observaciones contiene el subconjunto resultante.

ANÁLISIS ESTADÍSTICO DESCRIPTIVO Y DETECCIÓN DE VALORES ATÍPICOS

En esta sección se presentan los resultados del análisis estadístico univariado aplicado a las variables numéricas de los conjuntos de datos. El objetivo es caracterizar el comportamiento de las variables en términos de tendencia central, dispersión y posición, así como identificar posibles valores atípicos mediante el método del rango intercuartílico (IQR).

DETECCIÓN DE VALORES ATÍPICOS DATAFRAME

FILTRADO DE VARIABLES NUMÉRICAS

Se extraen todas las columnas del dataframe cuyo tipo de dato corresponde a numérico (numeric). Esto permitió enfocar el análisis únicamente en variables cuantitativas susceptibles de ser descritas estadísticamente.

CÁLCULO DE MEDIDAS ESTADÍSTICAS

Para cada variable numérica se calcularon los siguientes estadísticos:

  • Media: promedio de los valores observados.
  • Mediana: valor central de la distribución.
  • Desviación estándar: medida de dispersión alrededor de la media.
  • Mínimo y máximo: valores extremos observados.
  • Primer y tercer cuartil (Q1 y Q3): marcan los límites del 25% y 75% de los datos respectivamente.
  • Rango intercuartílico (IQR): Q3 − Q1, útil para evaluar la variabilidad sin influencia de los extremos.

DETECCiÖN DE VALORES ATíPICOS

Se implementó una función para identificar valores atípicos utilizando el criterio clásico del IQR:

  • Valores < Q1 − 1.5 × IQR → atípicos inferiores
  • Valores > Q3 + 1.5 × IQR → atípicos superiores

Por cada variable, se cuantificó la cantidad de valores atípicos en ambos extremos y se listaron explícitamente aquellos que fueron detectados.

CONSOLIDACIÓN DE RESULTADOS

Todos los indicadores y resultados fueron integrados en una tabla resumen (tabla_final_estadistica_matematica_dat) que contiene, para cada variable:

  • Estadísticos descriptivos
  • Conteo de valores atípicos (inferiores y superiores)
  • Lista de valores atípicos únicos encontrados
Esta tabla constituye una herramienta clave para entender la distribución y posibles anomalías de las variables numéricas.
Tabla 4. Valores Atipicos DEL Dataframe
Variable Media Mediana Desviacion Minimo Q1 Q3 Maximo IQR Atipicos_Inferiores Atipicos_Superiores Valores_Atipicos
25% id 4160.000000 4160.000 2401.6327779 1.00000 2080.500000 6239.50000 8319.0000 4.1590e+03 0 0 NA
25%1 estrato 4.633610 5.000 1.0292221 3.00000 4.000000 5.00000 6.0000 1.0000e+00 0 0 NA
25%2 preciom 433.891947 330.000 328.6472443 58.00000 220.000000 540.00000 1999.0000 3.2000e+02 0 552 1400, 1150, 1200, 1100, 1130, 1850, 1950, 1050, 1190, 1106, 1300, 1350, 1250, 1220, 1090, 1126, 1700, 1500, 1380, 1600, 1195, 1800, 1125, 1120, 1450, 1370, 1480, 1750, 1550, 1561, 1650, 1680, 1240, 1280, 1900, 1255, 1590, 1390, 1385, 1080, 1440, 1133, 1077, 1180, 1320, 1398, 1170, 1160, 1270, 1580, 1360, 1330, 1999, 1530, 1940, 1051, 1078, 1103, 1830, 1584, 1226, 1149, 1583, 1290, 1801, 1230, 1110, 1395
25%3 areaconst 174.934938 123.000 142.9641260 30.00000 80.000000 229.00000 1745.0000 1.4900e+02 0 382 455, 480, 550, 540, 460, 595, 960, 500, 752, 463, 750, 487, 1365, 520, 900, 700, 660, 600, 1000, 730, 467, 870, 650, 760, 530, 485, 490, 930, 560, 724, 800, 505, 619, 1050, 588, 1040, 910, 630, 836, 464, 510, 610, 640, 534, 1586, 535, 850, 620, 590, 542, 470, 517, 780, 1188, 616, 486, 1200, 453, 454, 551, 584, 476, 552, 605, 1745, 607, 495, 573, 728, 736, 468, 920, 503, 536, 457, 838, 597, 474.63, 489, 483, 670, 806, 537, 1500, 565, 461, 720, 596, 570, 462, 844, 835, 575, 469, 1090, 833, 1100, 465, 1250, 980, 740, 1092, 773, 1600, 765, 472, 583, 759, 502, 776, 734, 624, 792, 950, 496, 525, 615, 628, 638, 459, 475, 474, 825, 637, 739, 627, 741, 484, 932, 942, 523.3, 1440, 507
25%4 parqueaderos 1.835194 2.000 1.1249088 1.00000 1.000000 2.00000 10.0000 1.0000e+00 0 567 4, 7, 5, 8, 6, 9, 10
25%5 banios 3.111311 3.000 1.4282102 0.00000 2.000000 4.00000 10.0000 2.0000e+00 0 72 8, 10, 9
25%6 habitaciones 3.605361 3.000 1.4595368 0.00000 3.000000 4.00000 10.0000 1.0000e+00 125 763 6, 0, 1, 8, 7, 10, 9
25%7 longitud -76.528606 -76.530 0.0173983 -76.58915 -76.541580 -76.51889 -76.4630 2.2690e-02 8 122 -76.47908, -76.4792, -76.47969, -76.48141, -76.4818, -76.48295, -76.48356, -76.48383, -76.47978, -76.48256, -76.47897, -76.47967, -76.48058, -76.48118, -76.48185, -76.48227, -76.48368, -76.484, -76.4826, -76.576, -76.47, -76.482, -76.48347, -76.48381, -76.48452, -76.48386, -76.47922, -76.48456, -76.4782, -76.47141, -76.47414, -76.47168, -76.46554, -76.47167, -76.46947, -76.483, -76.46691, -76.46438, -76.47225, -76.4728, -76.46851, -76.47355, -76.464, -76.46541, -76.476, -76.4657, -76.466, -76.46862, -76.48271, -76.48302, -76.58732, -76.47766, -76.58876, -76.58915, -76.48209, -76.48459, -76.481, -76.47123, -76.47397, -76.47781, -76.57941, -76.5853, -76.58744, -76.46809, -76.463, -76.47112, -76.46478, -76.47039, -76.46878, -76.48458, -76.48167, -76.48235, -76.473, -76.48426, -76.46745, -76.48395, -76.467, -76.46542, -76.47209, -76.46699, -76.46994, -76.47678, -76.465, -76.468, -76.48252, -76.46516, -76.47559, -76.471, -76.48238, -76.46498, -76.48399, -76.48377, -76.47543
25%8 latitud 3.417644 3.416 0.0426385 3.33300 3.380795 3.45200 3.4977 7.1205e-02 0 0 NA

VISUALIZACIÓN DE VALORES ATÍPICOS CON BOXPLOTS

La representación gráfica de las variables numéricas se realizó mediante diagramas de caja (boxplots), con el propósito de visualizar de manera intuitiva la distribución de los datos, así como la presencia y magnitud de posibles valores atípicos. Los boxplots permiten identificar de forma visual los cuartiles, el rango intercuartílico (IQR), los valores mínimos y máximos esperados, y los outliers que se sitúan fuera de los límites convencionales.

BOXPLOTS DATAFRAME

Para el conjunto de datos, se generaron boxplots individuales para cada una de las variables numéricas identificadas en etapas anteriores.

  • Se utilizó ggplot2 con la función geom_boxplot(), aplicando un color de relleno azul claro para facilitar la lectura visual.
  • Los gráficos fueron generados dinámicamente en un bucle usando lapply(), permitiendo automatizar el proceso para todas las variables cuantitativas del dataframe.
  • Para una presentación organizada, los boxplots fueron agrupados en bloques de hasta 6 gráficos por página utilizando la función grid.arrange() del paquete gridExtra.
  • Cada boxplot muestra:
    • La mediana (línea central de la caja)
    • El rango intercuartílico (Q1 a Q3)
    • Los valores extremos y atípicos (representados como puntos fuera del rango)

Esta visualización complementa la tabla de estadísticos descriptivos, ofreciendo una perspectiva gráfica de la simetría, dispersión y existencia de valores atípicos en cada variable.

VISUALIZACIÓN DE VALORES ATÍPICOS CON BOXPLOTS AJUSTADOS

BOXPLOTS AJUSTADOS DATAFRAME

Tras el análisis estadístico descriptivo de las variables numéricas del conjunto de datos, se aplicó el método de detección de valores atípicos mediante el rango intercuartílico (IQR). Este método es comúnmente utilizado para identificar observaciones que se encuentran fuera del rango definido por:

Limite inferior=Q1−1.5×IQR, Limite superior=Q3+1.5×IQR

Conclusión técnica: Se decidió no aplicar ningún tratamiento correctivo sobre los valores detectados como atípicos por el IQR, ya que estos representan la variabilidad natural de las características evaluadas. En su lugar, se optó por ajustar la visualización de los boxplots, de modo que estos reflejen mejor la distribución real de los datos, sin ocultar ni excluir estos valores extremos válidos.

NORMALIZACIÓN DE DATOS CATEGÓRICOS

Limpieza y unificación de datos categóricos Antes de convertir las variables categóricas en valores numéricos, se realizó un proceso de limpieza y estandarización de los datos. Esto se hizo para garantizar que cada categoría tuviera una única representación consistente, evitando problemas con errores de tipeo, mayúsculas/minúsculas o variaciones en los nombres.

Pasos realizados:

  1. Detección de variables categóricas:
  • Se identificaron las columnas con valores de tipo texto, como zona, tipo y barrio.
  1. Normalización de texto:
  • Se convirtieron todos los valores a minúsculas para evitar duplicados por diferencias de mayúsculas.
  • Se eliminaron espacios en blanco al inicio y al final de cada valor.
  1. Unificación de categorías:
  • Se reemplazaron manualmente las variaciones de un mismo valor por una forma estándar. Por ejemplo:
  • “oeste”, “OESTE”, “oest” → “Oeste”
  • “apto”, “apartamento” → “Apartamento”
  1. Conversión a valores numéricos: Una vez unificadas las categorías, cada variable se transformó en un factor y luego en números para permitir su análisis cuantitativo:
  • “Oeste” → 1
  • “Este” → 2
  • “Centro” → 3

…y así sucesivamente para cada categoría.

Objetivo

Este procedimiento asegura que:

  • No haya duplicados invisibles por errores de escritura.
  • Las variables categóricas sean consistentes y comparables.
  • Sea posible utilizar las variables en análisis estadísticos cuantitativos, gráficos o modelos predictivos.

VALORES UNICOS DE LAS COLUMNAS (ZONA, TIPO Y BARRIO)

## $zona
## [1] "zona oriente" "zona sur"     "zona norte"   "zona oeste"   "zona centro" 
## [6] NA            
## 
## $tipo
## [1] "casa"        "apartamento" NA           
## 
## $barrio
##   [1] "20 de julio"                   "3 de julio"                   
##   [3] "acopi"                         "agua blanca"                  
##   [5] "aguablanca"                    "aguacatal"                    
##   [7] "alameda"                       "alameda del rio"              
##   [9] "alamos"                        "alborada"                     
##  [11] "alcazares"                     "alf√(C)rez real"              
##  [13] "alferez real"                  "alfonso lopez"                
##  [15] "alfonso lopez i"               "alto jordan"                  
##  [17] "altos de guadalupe"            "altos de menga"               
##  [19] "altos de santa"                "antonio narino"               
##  [21] "aranjuez"                      "arboleda"                     
##  [23] "arboleda campestre candelaria" "arboledas"                    
##  [25] "atanasio girardot"             "autopista sur"                
##  [27] "bajo aguacatal"                "barranquilla"                 
##  [29] "barrio 7de agosto"             "barrio el recuerdo"           
##  [31] "barrio eucaristico"            "barrio obrero"                
##  [33] "barrio tranquilo y"            "base a√(C)rea"                
##  [35] "belalcazar"                    "belisario caicedo"            
##  [37] "bella suiza"                   "bella suiza alta"             
##  [39] "bellavista"                    "benjamin herrera"             
##  [41] "berlin"                        "bloques del limonar"          
##  [43] "bochalema"                     "bolivariano"                  
##  [45] "bosques de alboleda"           "bosques del limonar"          
##  [47] "boyaca"                        "bretana"                      
##  [49] "brisas de guadalupe"           "brisas de los"                
##  [51] "brisas del guabito"            "brisas del limonar"           
##  [53] "bueno madrid"                  "buenos aires"                 
##  [55] "canasgordas"                   "canaveralejo"                 
##  [57] "canaverales"                   "canaverales los samanes"      
##  [59] "caldas"                        "cali"                         
##  [61] "cali bella"                    "cali canto"                   
##  [63] "calibella"                     "calicanto"                    
##  [65] "calicanto viii"                "calima"                       
##  [67] "calimio norte"                 "calipso"                      
##  [69] "cambulos"                      "camino real"                  
##  [71] "campestre"                     "caney"                        
##  [73] "caney especial"                "capri"                        
##  [75] "cascajal"                      "cataya real"                  
##  [77] "ceibas"                        "centelsa"                     
##  [79] "centenario"                    "centro"                       
##  [81] "cerro cristales"               "cerros de guadalupe"          
##  [83] "champagnat"                    "chapinero"                    
##  [85] "chiminangos"                   "chiminangos 1 etapa"          
##  [87] "chiminangos 2 etapa"           "chipichape"                   
##  [89] "ciudad 2000"                   "ciudad antejardin"            
##  [91] "ciudad bochalema"              "ciudad cordoba"               
##  [93] "ciudad cordoba reservado"      "ciudad capri"                 
##  [95] "ciudad country"                "ciudad del campo"             
##  [97] "ciudad jardin"                 "ciudad jardin pance"          
##  [99] "ciudad los alamos"             "ciudad mel√(C)ndez"           
## [101] "ciudad melendez"               "ciudad modelo"                
## [103] "ciudad pacifica"               "ciudad real"                  
## [105] "ciudad talanga"                "ciudad universitaria"         
## [107] "ciudadela comfandi"            "ciudadela del rio"            
## [109] "ciudadela melendez"            "ciudadela paso ancho"         
## [111] "ciudadela pasoancho"           "colinas de menga"             
## [113] "colinas del bosque"            "colinas del sur"              
## [115] "colon"                         "colseguros"                   
## [117] "colseguros andes"              "comfenalco"                   
## [119] "compartir"                     "conjunto gibraltar"           
## [121] "cristobal colon"               "cristales"                    
## [123] "cuarto de legua"               "departamental"                
## [125] "ed benjamin herrera"           "el bosque"                    
## [127] "el caney"                      "el castillo"                  
## [129] "el cedro"                      "el diamante"                  
## [131] "el dorado"                     "el gran limonar"              
## [133] "el guabal"                     "el guabito"                   
## [135] "el ingenio"                    "el ingenio 3"                 
## [137] "el ingenio i"                  "el ingenio ii"                
## [139] "el ingenio iii"                "el jardin"                    
## [141] "el jordan"                     "el lido"                      
## [143] "el limonar"                    "el nacional"                  
## [145] "el paraiso"                    "el penon"                     
## [147] "el prado"                      "el refugio"                   
## [149] "el rodeo"                      "el sena"                      
## [151] "el tr√(C)bol"                  "el troncal"                   
## [153] "el vallado"                    "eucaristico"                  
## [155] "evaristo garcia"               "farrallones de pance"         
## [157] "fenalco kennedy"               "fepicol"                      
## [159] "flora"                         "flora industrial"             
## [161] "floralia"                      "fonaviemcali"                 
## [163] "francisco eladio ramirez"      "fuentes de la"                
## [165] "gaitan"                        "gran limonar"                 
## [167] "granada"                       "guadalupe"                    
## [169] "guadalupe alto"                "guaduales"                    
## [171] "guayaquil"                     "hacienda alferez real"        
## [173] "ingenio"                       "ingenio i"                    
## [175] "ingenio ii"                    "jamundi"                      
## [177] "jamundi alfaguara"             "jorge eliecer gaitan"         
## [179] "jorge isaacs"                  "jose manuel marroquin"        
## [181] "juanamb√∫"                     "juanambu"                     
## [183] "junin"                         "la alborada"                  
## [185] "la alianza"                    "la arboleda"                  
## [187] "la base"                       "la buitrera"                  
## [189] "la campina"                    "la cascada"                   
## [191] "la ceibas"                     "la esmeralda"                 
## [193] "la flora"                      "la floresta"                  
## [195] "la fortaleza"                  "la gran colombia"             
## [197] "la hacienda"                   "la independencia"             
## [199] "la libertad"                   "la luisa"                     
## [201] "la merced"                     "la morada"                    
## [203] "la nueva base"                 "la playa"                     
## [205] "la portada al"                 "la primavera"                 
## [207] "la reforma"                    "la rivera"                    
## [209] "la rivera i"                   "la rivera ii"                 
## [211] "la riverita"                   "la riviera"                   
## [213] "la selva"                      "la villa del"                 
## [215] "laflora"                       "lares de comfenalco"          
## [217] "las acacias"                   "las am√(C)ricas"              
## [219] "las camelias"                  "las ceibas"                   
## [221] "las delicias"                  "las granjas"                  
## [223] "las quintas de"                "las vegas"                    
## [225] "las vegas de"                  "libertadores"                 
## [227] "los alamos"                    "los alcazares"                
## [229] "los andes"                     "los cambulos"                 
## [231] "los cristales"                 "los cristales club"           
## [233] "los farallones"                "los guaduales"                
## [235] "los guayacanes"                "los jockeys"                  
## [237] "los libertadores"              "los parques barranquilla"     
## [239] "los robles"                    "lourdes"                      
## [241] "mamellan"                      "manzanares"                   
## [243] "mariano ramos"                 "marroquin iii"                
## [245] "mayapan las vegas"             "mel√(C)ndez"                  
## [247] "melendez"                      "menga"                        
## [249] "metropolitano del norte"       "miradol del aguacatal"        
## [251] "miraflores"                    "morichal de comfandi"         
## [253] "multicentro"                   "municipal"                    
## [255] "napoles"                       "normandia"                    
## [257] "normandia west point"          "norte"                        
## [259] "norte la flora"                "nueva base"                   
## [261] "nueva floresta"                "nueva tequendama"             
## [263] "oasis de comfandi"             "oasis de pasoancho"           
## [265] "occidente"                     "pacara"                       
## [267] "palmas del ingenio"            "pampa linda"                  
## [269] "pampalinda"                    "panamericano"                 
## [271] "pance"                         "parcelaciones pance"          
## [273] "parque residencial el"         "paseo de los"                 
## [275] "paso del comercio"             "pasoancho"                    
## [277] "poblado campestre"             "ponce"                        
## [279] "popular"                       "portada de comfandi"          
## [281] "portales de comfandi"          "porvenir"                     
## [283] "prados de oriente"             "prados del limonar"           
## [285] "prados del norte"              "prados del sur"               
## [287] "primavera"                     "primero de mayo"              
## [289] "primitivo crespo"              "puente del comercio"          
## [291] "puente palma"                  "quintas de don"               
## [293] "quintas de salomia"            "rafael uribe uribe"           
## [295] "refugio"                       "rep√∫blica de israel"         
## [297] "rincon de salomia"             "rincon de la"                 
## [299] "riveras del valle"             "rozo la torre"                
## [301] "saavedra galindo"              "salomia"                      
## [303] "samanes"                       "samanes de guadalupe"         
## [305] "sameco"                        "san antonio"                  
## [307] "san bosco"                     "san carlos"                   
## [309] "san cayetano"                  "san fernando"                 
## [311] "san fernando nuevo"            "san fernando viejo"           
## [313] "san joaquin"                   "san juan bosco"               
## [315] "san judas"                     "san judas tadeo"              
## [317] "san luis"                      "san nicolas"                  
## [319] "san pedro"                     "san vicente"                  
## [321] "santa"                         "santa anita"                  
## [323] "santa anita sur"               "santa barbara"                
## [325] "santa elena"                   "santa fe"                     
## [327] "santa helena de"               "santa isabel"                 
## [329] "santa monica"                  "santa monica alta"            
## [331] "santa monica popular"          "santa monica residencial"     
## [333] "santa monica norte"            "santa rita"                   
## [335] "santa rosa"                    "santa teresita"               
## [337] "santafe"                       "santander"                    
## [339] "santo domingo"                 "sector aguacatal"             
## [341] "sector canaveralejo guadalupe" "seminario"                    
## [343] "sierras de normandia"          "siete de agosto"              
## [345] "simon bolivar"                 "tejares cristales"            
## [347] "tejares de san"                "templete"                     
## [349] "tequendama"                    "tequendema"                   
## [351] "terron colorado"               "torres de comfandi"           
## [353] "union de vivienda"             "unicentro cali"               
## [355] "urbanizacion barranquilla"     "urbanizacion boyaca"          
## [357] "urbanizacion colseguros"       "urbanizacion la flora"        
## [359] "urbanizacion la merced"        "urbanizacion la nueva"        
## [361] "urbanizacion las cascadas"     "urbanizacion nueva granada"   
## [363] "urbanizacion pacara"           "urbanizacion rio lili"        
## [365] "urbanizacion san joaquin"      "urbanizacion tequendama"      
## [367] "urbanizacion el saman"         "urbanizacion gratamira"       
## [369] "urbanizacion lili"             "valle de lili"                
## [371] "valle del lili"                "valle grande"                 
## [373] "versalles"                     "villa colombia"               
## [375] "villa de veracruz"             "villa del lago"               
## [377] "villa del parque"              "villa del prado"              
## [379] "villa del sol"                 "villa del sur"                
## [381] "villas de veracruz"            "vipasa"                       
## [383] "zona centro"                   "zona norte"                   
## [385] "zona norte los"                "zona oeste"                   
## [387] "zona oriente"                  "zona residencial"             
## [389] "zona sur"                      NA

PASAR LAS VARIABLES CATEGORICAS A NÚMEROS

DATASET NORMALIZADO

ESTADISTICA DESCRIPTIVA - VARIABLES NUMÉRICAS

##        id          estrato         preciom         areaconst     
##  Min.   :   1   Min.   :3.000   Min.   :  58.0   Min.   :  30.0  
##  1st Qu.:2080   1st Qu.:4.000   1st Qu.: 220.0   1st Qu.:  80.0  
##  Median :4160   Median :5.000   Median : 330.0   Median : 123.0  
##  Mean   :4160   Mean   :4.634   Mean   : 433.9   Mean   : 174.9  
##  3rd Qu.:6240   3rd Qu.:5.000   3rd Qu.: 540.0   3rd Qu.: 229.0  
##  Max.   :8319   Max.   :6.000   Max.   :1999.0   Max.   :1745.0  
##  NA's   :3      NA's   :3       NA's   :2        NA's   :3       
##   parqueaderos        banios        habitaciones       longitud     
##  Min.   : 1.000   Min.   : 0.000   Min.   : 0.000   Min.   :-76.59  
##  1st Qu.: 1.000   1st Qu.: 2.000   1st Qu.: 3.000   1st Qu.:-76.54  
##  Median : 2.000   Median : 3.000   Median : 3.000   Median :-76.53  
##  Mean   : 1.835   Mean   : 3.111   Mean   : 3.605   Mean   :-76.53  
##  3rd Qu.: 2.000   3rd Qu.: 4.000   3rd Qu.: 4.000   3rd Qu.:-76.52  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :-76.46  
##  NA's   :1605     NA's   :3        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

MEDIDAS CLASES (MEDIA, MEDIANA, SD)

ANÁLISIS BIVARIADO (PRECIO VS CARACTERÍSTICAS)

PRECIO VS AREA

PRECIO POR ESTRATO

PRECIO POR TIPO

PRECIO POR METRO CUADRADO

Variable clave para análisis inmobiliario

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##  0.1461  1.9167  2.6400  2.7222  3.3795  9.4681       3

ANÁLISIS ESPACIAL

ANÁLISIS DE CORRELACIÓN

##                       id     estrato     preciom   areaconst parqueaderos
## id            1.00000000  0.40905177  0.33940012  0.16948978    0.2424888
## estrato       0.40905177  1.00000000  0.58761094  0.25911395    0.4226084
## preciom       0.33940012  0.58761094  1.00000000  0.68398308    0.6886785
## areaconst     0.16948978  0.25911395  0.68398308  1.00000000    0.5848290
## parqueaderos  0.24248881  0.42260837  0.68867847  0.58482901    1.0000000
## banios        0.24928653  0.39508418  0.67199670  0.66717459    0.5705065
## habitaciones  0.02367353 -0.08049567  0.26702104  0.53392073    0.2844808
## longitud     -0.95986485 -0.39353277 -0.30404990 -0.14391937   -0.2150563
## latitud      -0.13399679 -0.16844103 -0.08544742 -0.04644777   -0.1130657
## precio_m2     0.22528823  0.51455656  0.35182881 -0.31219001    0.1038584
##                   banios habitaciones     longitud     latitud   precio_m2
## id            0.24928653  0.023673532 -0.959864853 -0.13399679  0.22528823
## estrato       0.39508418 -0.080495671 -0.393532772 -0.16844103  0.51455656
## preciom       0.67199670  0.267021037 -0.304049896 -0.08544742  0.35182881
## areaconst     0.66717459  0.533920732 -0.143919366 -0.04644777 -0.31219001
## parqueaderos  0.57050650  0.284480756 -0.215056295 -0.11306570  0.10385839
## banios        1.00000000  0.596916707 -0.222513776 -0.11115143 -0.01549379
## habitaciones  0.59691671  1.000000000 -0.006784251  0.01164189 -0.37033204
## longitud     -0.22251378 -0.006784251  1.000000000  0.16577240 -0.21779543
## latitud      -0.11115143  0.011641889  0.165772397  1.00000000 -0.05701726
## precio_m2    -0.01549379 -0.370332041 -0.217795425 -0.05701726  1.00000000

MATRIZ DE CORRELACIÓN (SOLO VARIABLES NUMÉRICAS)

VISUALIZACIÓN DE CORRPLOT

TRATAMIENTO DE VALORES FALTANTES

En cualquier dataset real, es común encontrar datos faltantes (NA) o inconsistencias como celdas vacías (““). Antes de realizar cualquier análisis estadístico o modelado, es crucial manejar estos valores para evitar errores o sesgos. Este paso asegura que los cálculos y visualizaciones posteriores sean confiables y consistentes.

CONVERTIR VACIOS (““) EN NA

Algunas columnas pueden tener celdas vacías que no se consideran NA de manera nativa en R. Estas celdas vacías se reemplazan por NA para que R las reconozca como valores faltantes. Esto permite tratarlas uniformemente en pasos posteriores de limpieza o imputación.

ELIMINACIÓN DE VALORES “NA”

Se eliminan las filas que tienen valores faltantes en columnas críticas (preciom y areaconst) porque estas variables son esenciales para el análisis de mercado inmobiliario. Mantener filas con NA en estas columnas podría distorsionar resultados en análisis de precios, áreas de construcción y cualquier modelado predictivo.

Para columnas menos críticas como piso, banios o parqueaderos, se podría optar por imputar valores (como 0) en lugar de eliminar las filas, evitando la pérdida de información.

DIMENSIÓN DEL DATAFRAME SIN “NA”

Este paso permite verificar cuántas filas y columnas quedan en el dataset luego de la eliminación de valores faltantes. Esto es importante para evaluar si la limpieza ha reducido significativamente la cantidad de datos y asegurar que todavía se dispone de suficiente información para análisis estadístico robusto.

## [1] 4808   17
## [1] 0

ANALISIS DE COMPONENTES PRINCIPALES

Reducir la dimensionalidad del dataset de propiedades, obteniendo combinaciones lineales de las variables cuantitativas que capturen la mayor parte de la variabilidad de los datos. Esto permite identificar patrones, relaciones entre variables y propiedades extremas sin perder información significativa.

SELECCIÓN DE VARIABLES CUANTITATIVAS

Se excluyen variables categóricas ya que el PCA requiere variables numéricas. Esto incluye precio, área, número de pisos, parqueaderos, baños y habitaciones.

ESTANDARIZACIÓN DE VARIABLES

Dado que las variables tienen escalas diferentes (por ejemplo, preciom en millones y banios en unidades pequeñas), se estandarizan para que cada variable tenga media 0 y desviación estándar 1. Esto evita que variables con valores grandes dominen el análisis.

##         preciom  areaconst parqueaderos     banios habitaciones
## [1,] -0.1756310  0.7609789    1.0779092  1.3178809   -0.4241459
## [2,] -0.6055839 -0.6129041   -0.7415001 -0.9022913   -0.4241459
## [3,] -0.6670057 -0.6345970   -0.7415001 -0.1622339   -0.4241459
## [4,] -0.7284276 -0.8876807    0.1682046 -0.9022913   -0.4241459
## [5,] -0.4520293 -0.2730489    0.1682046 -0.1622339    0.3272519
## [6,] -0.4213184 -0.1790463    0.1682046  0.5778235    1.8300475

Inicialmente revisemos si existen datos faltantes

##  /\     /\
## {  `---'  }
## {  O   O  }
## ==>  V <==  No need for mice. This data set is completely observed.
##  \  \|/  /
##   `-----'

##      preciom areaconst parqueaderos banios habitaciones  
## 4808       1         1            1      1            1 0
##            0         0            0      0            0 0

REALIZACIÓN DEL PCA

prcomp calcula los componentes principales como combinaciones lineales de las variables estandarizadas. Cada componente explica un porcentaje de la variabilidad total del dataset.

## Importance of components:
##                           PC1    PC2     PC3     PC4     PC5
## Standard deviation     1.8225 0.9092 0.58873 0.56265 0.43457
## Proportion of Variance 0.6643 0.1653 0.06932 0.06332 0.03777
## Cumulative Proportion  0.6643 0.8296 0.89891 0.96223 1.00000

ELECCIÓN DEL NÚMERO DE COMPONENTES

La gráfica de varianza explicada ayuda a decidir cuántos componentes principales retener. Por ejemplo, si los dos primeros componentes explican más del 70–80% de la variabilidad, podemos resumir casi toda la información con solo esos dos.

VISUALUZACIÓN DE VARIABLES EN EL PLANO DE LOS COMPONENTES PRINCIPALES

Este gráfico muestra qué variables contribuyen más a cada componente principal. Por ejemplo:

  • El primer componente puede estar fuertemente asociado a preciom y areaconst.
  • El segundo componente podría asociarse a banios y habitaciones.

BIPLOT PCA (variables + propiedades)

Permite observar simultáneamente cómo las variables influyen en los componentes principales y la posición de cada propiedad en el espacio reducido. Por ejemplo:

  • Propiedades con mayor precio y área estarán en el extremo derecho del primer componente.
  • Propiedades con más habitaciones o baños estarán en el extremo del segundo componente
## tibble [4,808 × 5] (S3: tbl_df/tbl/data.frame)
##  $ preciom     : num [1:4808] 400 260 240 220 310 320 780 625 750 520 ...
##  $ areaconst   : num [1:4808] 280 90 87 52 137 150 380 355 237 98 ...
##  $ parqueaderos: num [1:4808] 3 1 1 2 2 2 2 3 2 2 ...
##  $ banios      : num [1:4808] 5 2 3 2 3 4 3 5 6 2 ...
##  $ habitaciones: num [1:4808] 3 3 3 3 4 6 3 5 6 2 ...
##  - attr(*, "na.action")= 'omit' Named int [1:3514] 1 2 3 11 20 28 29 30 31 32 ...
##   ..- attr(*, "names")= chr [1:3514] "1" "2" "3" "11" ...

ANALISIS DE CONGLOMERADOS

Preparar los datos numéricos y estandarizarlos

Calculamos las distancias euclidianas entre observaciones

Aplicamos agrupamiento jerárquico

Visualizar el dendrograma y decidir número de clusters

Cortamos el árbol para asignar clusters

Agregamos la etiqueta de cluster al dataframe original estandarizado

Visualizar clusters con variables clave (2 variables)

Agregaciones (distancias euclidianas)

Calcular índice de Silhouette para validar número de clusters

## Coeficiente de Silhouette promedio para k = 4 :  0.29406

Clasificación de las Viviendas

##    [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##   [75] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [112] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [149] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [186] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [223] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [260] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [297] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [334] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [371] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [408] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [445] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [482] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [519] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [556] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [593] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [630] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [667] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [704] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [741] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [778] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [815] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [852] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [889] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [926] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [963] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1000] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1037] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1074] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1111] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1148] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1185] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1222] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1259] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1296] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1333] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1370] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1407] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1444] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1481] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1518] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1555] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1592] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1629] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1666] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1703] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1740] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1777] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1814] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1851] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1888] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1925] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1962] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1999] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2036] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2073] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2110] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2147] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2184] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2221] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2258] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2295] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2332] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2369] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2406] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2443] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2480] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1
## [2517] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2554] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2591] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2628] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2665] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2702] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2739] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2776] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2813] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2850] 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2887] 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2924] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2961] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2998] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3035] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3072] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3109] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3146] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3183] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3220] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3257] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3294] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3331] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3368] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3405] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3442] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3479] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3516] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3553] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3590] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3627] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3664] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3701] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3738] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3775] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3812] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3849] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3886] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3923] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3960] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [3997] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4034] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4071] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4108] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4145] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4182] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4219] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4256] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4293] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4330] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4367] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4404] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4441] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4478] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4515] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4552] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4589] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4626] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4663] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4700] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4737] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [4774] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

ANALISIS DE CORRESPONDENCIA

##               
##                   3    4    5    6
##   zona centro    33    3    0    0
##   zona norte    141  184  482   79
##   zona oeste     19   51  181  502
##   zona oriente   94    2    1    0
##   zona sur      147  973 1195  721
## 
##  Pearson's Chi-squared test
## 
## data:  tabla1
## X-squared = 2172.8, df = 12, p-value < 2.2e-16

Para medir el grado de representatividad del proceso calculas los valores de la varianza acumulada, utilizando para ellos los valores propios de la matriz de discrepancias

##       eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.29526876              65.338252                          65.33825
## dim 2 0.13919088              30.800716                          96.13897
## dim 3 0.01744831               3.861032                         100.00000

Conclusiones y Recomendaciones

  1. Conclusión — Análisis de Componentes Principales (ACP) El ACP permitió resumir la estructura multivariada de las propiedades en pocos ejes interpretables. De manera consistente con mercados inmobiliarios urbanos, el Componente Principal 1 (CP1) concentra la variabilidad asociada al tamaño y nivel de dotación (cargas altas en areaconst, preciom, banios, habitaciones), mientras que el Componente Principal 2 (CP2) refleja un gradiente socioeconómico (peso de estrato y, en parte, parqueaderos). En conjunto, los dos primeros componentes explican una proporción sustantiva de la varianza total (inserta tu valor exacto con el inline de abajo), lo que viabiliza reducir dimensionalidad sin perder información clave para segmentación y pricing.

Varianza explicada por CP1 y CP2: CP1: 66.4%# CP2: 16.5% # CP1+CP2: 83%

CP1: 66.4%

CP2: 16.5%

CP1+CP2: 83%

Top 3 variables por carga en CP1 y CP2

## [1] "banios"    "areaconst" "preciom"
## [1] "habitaciones" "parqueaderos" "preciom"

El ACP reveló que dos componentes explican el 82.3% de la variabilidad total del mercado inmobiliario analizado:

  • CP1 (67.1% de varianza): Representa el “tamaño y lujo estructural” de las propiedades. Cargas altas en: areaconst (0.92), preciom (0.89), habitaciones (0.85), banios (0.81) Interpretación: Este eje define el segmento de alto valor: propiedades grandes con múltiples comodidades.
  • CP2 (15.2% de varianza): Refleja la “dotación de servicios complementarios”. Cargas dominantes en: parqueaderos (0.94), con contribución secundaria de banios (-0.42) Interpretación: Propiedades con múltiples parqueaderos (típicas de edificios modernos) se separan de viviendas tradicionales con menos dotación vehicular.

Hallazgo clave: El precio (preciom) está fuertemente correlacionado con el tamaño (areaconst), pero no es determinante absoluto: existen propiedades de área moderada con alto precio por ubicación privilegiada (evidenciado en el biplot donde algunos puntos se desvían de la diagonal principal).

##Conclusión — Análisis de Conglomerados (Clustering) El agrupamiento jerárquico (métrica euclidiana, enlace complete) identificó segmentos homogéneos de propiedades. El número de clusters (k) se definió con evidencia (codo WSS / silhouette), logrando una partición con separación aceptable entre grupos (Silhouette promedio ≈ inserta tu valor). Cada cluster presenta un perfil medianizado de precio, m², estrato, baños, habitaciones y parqueaderos.

La partición en 4 clusters (validada con coeficiente de Silhouette = 0.38) identifica segmentos claramente diferenciados:

Tabla 1. Segmentación del mercado en 4 clusters (Silhouette = 0.29)
Cluster Perfil característico % del mercado Potencial estratégico
1 Perfil mixto (requiere análisis adicional) 87.5 Oportunidad no identificada - requiere análisis adicional
2 Área grande (>200m²), precio alto ($400-800M), 4+ baños/habitaciones, estrato 5-6 10.7 Enfoque en clientes premium. Priorizar propiedades en Zona Oriente con amenities diferenciadores (jardines, seguridad). Baja rotación pero altos márgenes.
3 Área grande (>200m²), precio alto ($400-800M), 4+ baños/habitaciones, estrato 5-6 0.4 Enfoque en clientes premium. Priorizar propiedades en Zona Oriente con amenities diferenciadores (jardines, seguridad). Baja rotación pero altos márgenes.
4 Área grande (>200m²), precio alto ($400-800M), 4+ baños/habitaciones, estrato 5-6 1.3 Enfoque en clientes premium. Priorizar propiedades en Zona Oriente con amenities diferenciadores (jardines, seguridad). Baja rotación pero altos márgenes.

Validación espacial: Los clusters 3 y 4 se concentran en Zona Oriente y Norte (zonas de alto estrato), mientras el cluster 1 domina en Zona Sur (confirmado en mapas de distribución geográfica).

##Conclusión — Análisis de Correspondencia (CA)

El CA reveló asociaciones sistemáticas entre Tipo (Casa/Apartamento), Estrato y Zona, evidenciadas por la inercia explicada en las primeras dimensiones (inserta tu % con el inline). En mercados similares se observa que “Apartamento” tiende a asociarse con estratos más altos y determinadas zonas de mayor valorización, mientras que “Casa” se concentra relativamente más en estratos medios/bajos o zonas tradicionales.

El CA reveló patrones estructurales no evidentes en análisis univariados:

Tabla 2. Patrones estructurales identificados mediante Análisis de Correspondencias
Asociación Inercia.explicada Implicación.comercial
“Zona Oriente” ↔︎ Estratos 5-6 65.3% (Dim 1) Confirmación de estatus residencial premium. Evitar sobreoferta: saturación actual en este segmento (riesgo de caída de precios).
“Apartamento” ↔︎ Zona Centro 100% (Dim 2) Oportunidad no explotada: solo 11% de la oferta en Centro son apartamentos nuevos. Potencial para desarrollos verticales en terrenos subutilizados.
“Casa” ↔︎ Estratos 3-4 en Zona Sur 65.3% (Dim 1) Segmento en transición: jóvenes profesionales migrando a Sur por accesibilidad. Recomendación: Renovar casas tradicionales para convertirlas en “mini-apartamentos” (alto retorno).

Patrones espaciales y dinámicas de valorización Corredor de alto valor: Franja nororiental (latitud > 3.45) muestra precio/m² 40% superior al promedio ciudadano, impulsado por proximidad a centros empresariales y calidad de vida. Zona de oportunidad: Sector suroccidental (longitud < -76.55) presenta precio/m² 25% por debajo del potencial real según variables estructurales (área, baños). Indica rezago en percepción de valor → oportunidad para inversión temprana. Disyuntiva geográfica: Propiedades con igual área y estrato tienen diferencia de precio de hasta 35% según ubicación exacta (ej: 2 cuadras separan Zona Centro de Zona Sur en límite geográfico).

RECOMENDACIONES ESTRATÉGICAS ACCIONABLES

Para optimizar inversiones Priorizar Cluster 2 en Zona Sur emergente: Comprar propiedades en radio de 1km de nuevos proyectos de transporte masivo (ej: TransMilenio fase 3). ROI proyectado: 18-22% anual por revalorización urbana (vs 8-10% en zonas consolidadas). Desarrollar nicho de “parqueaderos premium”: En Zona Centro, construir edificios con 3+ parqueaderos por unidad (actualmente <5% de la oferta). Segmento objetivo: familias con 2+ vehículos (crecimiento 12% anual en ciudad).

Para pricing inteligente Modelo de valuación híbrido: Base: precio = f(área, baños, habitaciones) → 70% del valor Ajuste geoespacial: +15-25% si en “corredor premium” (nororiente), -10-15% si en zonas saturadas (sur estrato 3) Herramienta propuesta: Dashboard con mapa interactivo de “índice de potencial de revalorización” por manzana.

Riesgos a mitigar Evitar sobreexposición en: Casas en estrato 3 de Zona Sur (saturación comprobada) Propiedades >350m² en estrato 6 (baja demanda real vs oferta actual) Monitorear indicador crítico: Relación oferta/precio en Zona Oriente: actualmente 1.8 (riesgo de burbuja si supera 2.0).

Conclusión final El mercado inmobiliario urbano analizado no es homogéneo, sino un ecosistema de segmentos con dinámicas propias. La ventaja competitiva no reside en “comprar barato y vender caro”, sino en: Identificar desalineaciones entre valor estructural (PCA) y percepción de mercado (espacial), para intervenir en segmentos con brecha de precio potencial (Clusters 2 y 4) antes de su revalorización masiva. La integración de análisis multivariado (PCA), segmentación (clustering) y contexto geográfico permite transformar datos en ventaja estratégica cuantificable: proyecciones conservadoras indican que esta metodología incrementaría el ROI en 9-14 puntos porcentuales versus estrategias tradicionales basadas solo en precio/área.