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.
Para lograr el objetivo se proceden a realizar las siguientes actividades:
Una vez descargada la base de datos, se realiza un análisis exploratorio y descriptivo de la base de datos con la finalidad de identificar:
## 'data.frame': 8322 obs. of 13 variables:
## $ id : num 1147 1169 1350 5992 1212 ...
## $ zona : chr "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
## $ piso : chr NA NA NA "02" ...
## $ estrato : num 3 3 3 4 5 5 4 5 5 5 ...
## $ preciom : num 250 320 350 400 260 240 220 310 320 780 ...
## $ areaconst : num 70 120 220 280 90 87 52 137 150 380 ...
## $ parqueaderos: num 1 1 2 3 1 1 2 2 2 2 ...
## $ banios : num 3 2 2 5 2 3 2 3 4 3 ...
## $ habitaciones: num 6 3 4 3 3 3 3 4 6 3 ...
## $ tipo : chr "Casa" "Casa" "Casa" "Casa" ...
## $ barrio : chr "20 de julio" "20 de julio" "20 de julio" "3 de julio" ...
## $ longitud : num -76.5 -76.5 -76.5 -76.5 -76.5 ...
## $ latitud : num 3.43 3.43 3.44 3.44 3.46 ...
## 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
A partir del análisis exploratorio y descriptivo se identifica lo siguiente:
La base de datos está compuesta de 13 variables con 8322 registros, en donde 4 de estas variables son de tipo texto y las 9 variables restantes son de tipo numéricas.
Se identifica una variable que se descarta para el análisis la cual es ID, ya que solo funciona como identificador del predio y no aporta información relevante para el desarrollo del trabajo.
La variable “piso” se encuentra como texto cuando debería de ser numérica. Se tiene en cuenta esta variable en la limpieza de datos para identificar cual es la causante de este.
Se identifica la cantidad de datos faltantes para cada una de las variables de la base de datos:
## .
## id 3
## zona 3
## piso 2638
## estrato 3
## preciom 2
## areaconst 3
## parqueaderos 1605
## banios 3
## habitaciones 3
## tipo 3
## barrio 3
## longitud 3
## latitud 3
De los anteriores resultados se identifica lo siguiente:
-Las variables piso y parqueaderos contienen la con mayor cantidad de datos faltantes, por lo que se les debe de dar un tratamiento, debido a que representan un alto porcentaje de los datos.
-La variable ID tiene 3 registros faltantes los cuales corresponden a los mismos 3 registros faltantes de las otras variables. Debido a que no es una cantidad tan representativa, se toma la decisión de eliminar estos registros una vez identificados en el proceso de limpieza de datos.
Para comenzar con la limpieza de datos, primero se identifica los 3 datos faltantes de la variable “ID” para después eliminarlos.
## [1] 8320 8321 8322
Identificamos que los registros 8320, 8321 y 8322 corresponden a los que presentan valores faltantes en la variable “ID”, por lo que se procede a eliminarlos, quedando al final una base de datos de 13 variables y 8319 registros.
## 'data.frame': 8319 obs. of 13 variables:
## $ id : num 1147 1169 1350 5992 1212 ...
## $ zona : chr "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
## $ piso : chr NA NA NA "02" ...
## $ estrato : num 3 3 3 4 5 5 4 5 5 5 ...
## $ preciom : num 250 320 350 400 260 240 220 310 320 780 ...
## $ areaconst : num 70 120 220 280 90 87 52 137 150 380 ...
## $ parqueaderos: num 1 1 2 3 1 1 2 2 2 2 ...
## $ banios : num 3 2 2 5 2 3 2 3 4 3 ...
## $ habitaciones: num 6 3 4 3 3 3 3 4 6 3 ...
## $ tipo : chr "Casa" "Casa" "Casa" "Casa" ...
## $ barrio : chr "20 de julio" "20 de julio" "20 de julio" "3 de julio" ...
## $ longitud : num -76.5 -76.5 -76.5 -76.5 -76.5 ...
## $ latitud : num 3.43 3.43 3.44 3.44 3.46 ...
Siguiendo con la limpieza de los datos, ahora se procede a identificar la causante de que la variable “piso” esea una variable de tipo texto.
Como se puede observar en la siguiente tabla de frecuencia, se esta reconociendo la varibale “piso” como texto, por lo tanto se realiza el cambio de tipo de variable de texto a numérica.
##
## 01 02 03 04 05 06 07 08 09 10 11 12
## 860 1450 1097 607 567 245 204 211 146 130 84 83
## 'data.frame': 8319 obs. of 13 variables:
## $ id : num 1147 1169 1350 5992 1212 ...
## $ zona : chr "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
## $ piso : num NA NA NA 2 1 1 1 1 2 2 ...
## $ estrato : num 3 3 3 4 5 5 4 5 5 5 ...
## $ preciom : num 250 320 350 400 260 240 220 310 320 780 ...
## $ areaconst : num 70 120 220 280 90 87 52 137 150 380 ...
## $ parqueaderos: num 1 1 2 3 1 1 2 2 2 2 ...
## $ banios : num 3 2 2 5 2 3 2 3 4 3 ...
## $ habitaciones: num 6 3 4 3 3 3 3 4 6 3 ...
## $ tipo : chr "Casa" "Casa" "Casa" "Casa" ...
## $ barrio : chr "20 de julio" "20 de julio" "20 de julio" "3 de julio" ...
## $ longitud : num -76.5 -76.5 -76.5 -76.5 -76.5 ...
## $ latitud : num 3.43 3.43 3.44 3.44 3.46 ...
##
## 1 2 3 4 5 6 7 8 9 10 11 12
## 860 1450 1097 607 567 245 204 211 146 130 84 83
Como se puede observar en los anteriores resultados confirman el cambio de tipo texto a tipo numérico para la variable “piso”.
Se realiza un análisis de las variables categóricas “zona” y “tipo” con el objetivo de identificar si se encuentran registros no estándar.
##
## Zona Centro Zona Norte Zona Oeste Zona Oriente Zona Sur
## 124 1920 1198 351 4726
##
## Apartamento Casa
## 5100 3219
Como se puede observar para las variables “zona y”tipo”, los registros son estándar y están escritos de forma correcta. Por otro lado, no se realiza el análisis con la variable “barrio” ya que se decide eliminarla, debido a que no se considera como una variable que aporte información valiosa para el análisis.
Una vez eliminada la variable “barrio”, se procede a realizar un análisis de estadísticas descriptivas para los datos agrupados por “zona” y “tipo”, con el objetivo de utilizar estas para completar los datos faltantes que tienen las variables “piso” y “parqueadero”.
## # A tibble: 10 × 7
## # Groups: zona [5]
## zona tipo Promedio_piso Mediana_piso Max_piso Min_piso
## <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Zona Centro Apartamento 5 4 11 1
## 2 Zona Centro Casa 2 1 4 1
## 3 Zona Norte Apartamento 5 4 12 1
## 4 Zona Norte Casa 2 2 7 1
## 5 Zona Oeste Apartamento 5 5 12 1
## 6 Zona Oeste Casa 3 2 7 1
## 7 Zona Oriente Apartamento 3 2 5 1
## 8 Zona Oriente Casa 2 2 10 1
## 9 Zona Sur Apartamento 4 4 12 1
## 10 Zona Sur Casa 2 2 10 1
## # ℹ 1 more variable: Desviacion_Estandar_piso <dbl>
## # A tibble: 10 × 7
## # Groups: zona [5]
## zona tipo Promedio_parqueaderos Mediana_parqueaderos Max_parqueaderos
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 Zona Centro Apar… 1 1 1
## 2 Zona Centro Casa 1 1 6
## 3 Zona Norte Apar… 1 1 4
## 4 Zona Norte Casa 2 2 10
## 5 Zona Oeste Apar… 2 2 7
## 6 Zona Oeste Casa 2 2 7
## 7 Zona Orien… Apar… 1 1 3
## 8 Zona Orien… Casa 1 1 6
## 9 Zona Sur Apar… 1 1 10
## 10 Zona Sur Casa 2 2 10
## # ℹ 2 more variables: Min_parqueaderos <dbl>,
## # Desviacion_Estandar_parqueaderos <dbl>
De los resultados anteriores se puede observar que:
El promedio y la mediana para la variable “parqueadero” son las mismas, por lo que la imputación se va a realizar con la mediana.
Para la variable “piso” el promedio difiere de la mediana. Por lo tanto, se hace imputación por la mediana.
Para determinar si existen valores ilógicos en el tipo de vivienda, se realiza un conteo agrupado por las variables “zona”, “tipo” y “piso”, con el fin de que una casa no este ubicada en un nivel superior al piso 4.
## # A tibble: 75 × 4
## # Groups: zona, tipo [10]
## zona tipo piso n
## <chr> <chr> <dbl> <int>
## 1 Zona Centro Apartamento 1 1
## 2 Zona Centro Apartamento 2 2
## 3 Zona Centro Apartamento 3 1
## 4 Zona Centro Apartamento 4 13
## 5 Zona Centro Apartamento 5 5
## 6 Zona Centro Apartamento 11 2
## 7 Zona Centro Casa 1 78
## 8 Zona Centro Casa 2 14
## 9 Zona Centro Casa 3 7
## 10 Zona Centro Casa 4 1
## # ℹ 65 more rows
Como se puede observar de este resultado, algunas viviendas tipo casa se encuentran con registros en piso como 5, 6, hasta 10. Por lo que, para el trabajo las casas solo serán hasta un piso 4, por lo que las casas que excedan ese número de pisos serán reconocidas como apartamento.
## # A tibble: 68 × 4
## # Groups: zona, tipo [10]
## zona tipo piso n
## <chr> <chr> <dbl> <int>
## 1 Zona Centro Apartamento 1 1
## 2 Zona Centro Apartamento 2 2
## 3 Zona Centro Apartamento 3 1
## 4 Zona Centro Apartamento 4 13
## 5 Zona Centro Apartamento 5 5
## 6 Zona Centro Apartamento 11 2
## 7 Zona Centro Casa 1 78
## 8 Zona Centro Casa 2 14
## 9 Zona Centro Casa 3 7
## 10 Zona Centro Casa 4 1
## # ℹ 58 more rows
Ya con esto se observa que no hay casas con un registro superior a 4 en la variable “piso”.
Por último, verificamos que no hayan quedado datos faltantes después de haber hecho los cambios en la base de datos.
## .
## id 0
## zona 0
## piso 0
## estrato 0
## preciom 0
## areaconst 0
## parqueaderos 0
## banios 0
## habitaciones 0
## tipo 0
## longitud 0
## latitud 0
Como se puede observar, ya no se tienen datos faltantes en la base de datos. Por lo tanto, pasamos a realizar el análisis aplicando métodos multivariados.
Para iniciar con el método de PCA, primero se deben normalizar los datos de las variables numéricas, las cuales son: “precio”, “area”, “parqueaderos”, “banios” y “habitaciones”.
A continuación se muestran los datos normalizados.
## preciom areaconst parqueaderos banios habitaciones
## 1 -0.5595498 -0.7339949 -0.7120692 -0.07793773 1.6406840
## 2 -0.3465670 -0.3842568 -0.7120692 -0.77811479 -0.4147626
## 3 -0.2552886 0.3152194 0.2415212 -0.77811479 0.2703863
## 4 -0.1031580 0.7349051 1.1951116 1.32241640 -0.4147626
## 5 -0.5291236 -0.5940997 -0.7120692 -0.77811479 -0.4147626
## 6 -0.5899759 -0.6150839 -0.7120692 -0.07793773 -0.4147626
Después de normalizar datos se aplica PCA.
## Standard deviations (1, .., p=5):
## [1] 1.7902709 0.9355834 0.6196102 0.5856678 0.4389648
##
## Rotation (n x k) = (5 x 5):
## PC1 PC2 PC3 PC4 PC5
## preciom 0.4719599 0.39550662 0.33917430 -0.2238936 0.6750265
## areaconst 0.4823039 -0.03931911 0.50690960 0.6124692 -0.3657337
## parqueaderos 0.4306228 0.44569125 -0.74028202 0.2351713 -0.1122512
## banios 0.4859816 -0.17504067 0.02669928 -0.7054197 -0.4846162
## habitaciones 0.3507459 -0.78278259 -0.28155485 0.1477521 0.4038873
Después de aplicar PCA se obtienen la cantidad de componentes como variables utilizadas, así como se observa que tenemos 5 componentes basados en las 5 variables mencionadas anteriormente.
Luego de esto, se grafica la varianza explicada para cada uno de los componentes calculados, esto ayuda a definir los componentes a elegir para reemplazar y reducir la cantidad de variables en el modelo.
Gráfica:
A partir del modelo construido se puede decir que el primer componente principal explica el 64.1% de la variabilidad contenida en la base de datos, segundo componente el 17.5% lo que representa un poco más de 80% de los datos.
## PC1 PC2 PC3 PC4 PC5
## preciom 0.4719599 0.39550662 0.33917430 -0.2238936 0.6750265
## areaconst 0.4823039 -0.03931911 0.50690960 0.6124692 -0.3657337
## parqueaderos 0.4306228 0.44569125 -0.74028202 0.2351713 -0.1122512
## banios 0.4859816 -0.17504067 0.02669928 -0.7054197 -0.4846162
## habitaciones 0.3507459 -0.78278259 -0.28155485 0.1477521 0.4038873
Finalmente, se muestran las coordenadas de los datos originales transformadas mediante la metodología PCA.
## PC1 PC2 PC3 PC4 PC5
## [1,] -0.3871400 -1.78046524 -0.4987454 -0.19433454 0.6710876
## [2,] -1.1791532 0.02154676 0.3108052 0.16240592 0.1960941
## [3,] -0.1477625 -0.08117055 -0.2024971 0.89586612 0.1715686
## [4,] 1.3175972 0.55614752 -0.3950917 -0.23988158 -1.2809483
## [5,] -1.3665207 -0.04240479 0.1425153 0.07475691 0.1496101
## [6,] -1.0650881 -0.18820663 0.1299329 -0.41838958 -0.2231093
También es importante revisar la contribución de cada una de las variables a cada componente, la cual podemos observar en los siguientes gráficos.
Como se puede observar de los anteriores gráficos, las componentes 1 y 2
son las que tienen mayor contribución por variables, lo que confirma lo
visto en la gráfica de la varianza explicada, que las componentes 1 y 2
son las que obtienen el mayor porcentaje de varianza explicada.
Para complementar el análisis, se realiza el circulo de correlación de las variables el cual explica la correlación entre variables y el aporte a las componentes a través de vectores.
De todo lo anteriormente realizado podemos concluir lo siguiente:
Las variables relacionadas con características físicas y de valoración de las propiedades (baños, área, precio) están fuertemente asociadas entre sí y contribuyen significativamente a la variabilidad a lo largo de la dimensión. Es decir, las propiedades con más baños y mayor área construida suelen tener los precios más altos.
El área del inmueble y el número de los baños están altamente correlacionados, lo que nos lleva a la conclusión de que entre más metros cuadrados más baños tiene el inmueble.
El modelo reduce cinco variables a dos dimensiones, seleccionando aquellas que explican la mayoría de la varianza, al menos un 80%. Por lo tanto, estas dos dimensiones son altamente representativas de la estructura de los datos originales.
Además, es crucial considerar la relación entre el precio de los inmuebles, el área construida y el número de baños. Se observa que a medida que aumenta el área construida, el precio tiende a incrementarse. Del mismo modo, la cantidad de baños también ejerce una influencia significativa en el precio.
Agrupar las propiedades residenciales en segmentos homogéneos con características similares para entender las dinámicas de las ofertas específicas en diferentes zonas de la ciudad y diferentes estratos socioeconómicos.
Se procede a calcular el número optimo de cluster con el método de la silueta (silhouette).
Como se puede observar en la grafica anterior, el número optimo de clusters es 2, esto se basa a la observación de un cambio significativo en la variación intra-cluster y una alta cohesión entre los clusters cercanos, lo que indica una clara división del conjunto de datos en dos grupos distintos.
## # NAs in variables:
## zona piso estrato preciom areaconst parqueaderos
## 0 0 0 0 0 0
## banios habitaciones tipo
## 0 0 0
## 0 observation(s) with NAs.
##
## Estimated lambda: 39125.95
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
## 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1
Posteriormente, se realiza un análisis descriptivo agrupado por el cluster generado.
## # A tibble: 2 × 6
## cluster Promedio_precio Mediana_precio Max_precio Min_precio
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 1 307 290 730 58
## 2 2 1004 900 1999 255
## # ℹ 1 more variable: Desviacion_precior <dbl>
## # A tibble: 2 × 6
## cluster Promedio_area Mediana_area Max_area Min_area Desviacion_arear
## <fct> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 133 104 1365 30 87
## 2 2 362 310 1745 100 189
Se puede determinar que el mercado de viviendas urbanas estudiado puede ser mejor comprendido y segmentado en dos grupos. Estos dos clusters representan segmentos claros dentro del mercado inmobiliario, con propiedades que comparten características similares dentro de cada grupo. La identificación de dos clusters distintos sugiere la presencia de diferencias significativas en las características de las propiedades, así como posiblemente diferentes dinámicas y tendencias en el mercado.
Verificar la relación entre las variables categóricas, con el objetivo de identificar patrones de comportamiento de la oferta en mercado inmobiliario.
Para este análisis se optó por tomar en cuenta las variables “zona”, “tipo”, “estrato” y “piso” con el fin de tener un mejor entendimiento del comportamiento de estas variables.
Por lo que se procede a realizar tablas de contingencia para cada una de las posibles combinaciones de estas.
## [1] "Tabla 1: Zona vs Tipo"
##
## Apartamento Casa
## Zona Centro 24 100
## Zona Norte 1199 721
## Zona Oeste 1035 163
## Zona Oriente 63 288
## Zona Sur 2790 1936
## [1] "Tabla 2: Zona vs Estrato"
##
## 3 4 5 6
## Zona Centro 105 14 4 1
## Zona Norte 572 407 769 172
## Zona Oeste 54 84 290 770
## Zona Oriente 340 8 2 1
## Zona Sur 382 1616 1685 1043
## [1] "Tabla 3: Zona vs Piso"
##
## 1 2 3 4 5 6 7 8 9 10 11 12
## Zona Centro 79 16 8 14 5 0 0 0 0 0 2 0
## Zona Norte 177 665 189 538 117 33 33 39 32 27 33 37
## Zona Oeste 86 188 134 99 410 80 57 43 41 28 20 12
## Zona Oriente 74 206 54 8 8 0 0 0 0 1 0 0
## Zona Sur 490 1598 712 988 353 132 114 129 73 74 29 34
## [1] "Tabla 4: Tipo vs Estrato"
##
## 3 4 5 6
## Apartamento 641 1408 1770 1292
## Casa 812 721 980 695
## [1] "Tabla 5: Tipo vs Piso"
##
## 1 2 3 4 5 6 7 8 9 10 11 12
## Apartamento 430 527 573 1585 893 245 204 211 146 130 84 83
## Casa 476 2146 524 62 0 0 0 0 0 0 0 0
## [1] "Tabla 6: Estrato vs Piso"
##
## 1 2 3 4 5 6 7 8 9 10 11 12
## 3 250 579 205 272 131 2 2 7 0 3 2 0
## 4 214 610 306 512 188 56 64 71 44 38 14 12
## 5 277 854 353 574 227 104 86 80 53 58 39 45
## 6 165 630 233 289 347 83 52 53 49 31 29 26
Después de esto procedemos a realizar la prueba Chi-cuadrado de Pearson:
##
## Pearson's Chi-squared test
##
## data: tabla1
## X-squared = 700.17, df = 4, p-value < 2.2e-16
##
## Pearson's Chi-squared test
##
## data: tabla2
## X-squared = 3830.4, df = 12, p-value < 2.2e-16
##
## Pearson's Chi-squared test
##
## data: tabla3
## X-squared = 1781, df = 44, p-value < 2.2e-16
##
## Pearson's Chi-squared test
##
## data: tabla4
## X-squared = 224.56, df = 3, p-value < 2.2e-16
##
## Pearson's Chi-squared test
##
## data: tabla5
## X-squared = 4172.5, df = 11, p-value < 2.2e-16
##
## Pearson's Chi-squared test
##
## data: tabla6
## X-squared = 508.52, df = 33, p-value < 2.2e-16
Dado que el p-value es menor que 0.05 para todas las tablas de contingencia realizadas se rechaza la hipótesis nula, esto significa que hay una asociación muy significativa entre las variables.
## **Results of the Correspondence Analysis (CA)**
## The row variable has 5 categories; the column variable has 2 categories
## The chi square of independence between the two variables is equal to 700.1651 (p-value = 3.209837e-150 ).
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$col" "results for the columns"
## 3 "$col$coord" "coord. for the columns"
## 4 "$col$cos2" "cos2 for the columns"
## 5 "$col$contrib" "contributions of the columns"
## 6 "$row" "results for the rows"
## 7 "$row$coord" "coord. for the rows"
## 8 "$row$cos2" "cos2 for the rows"
## 9 "$row$contrib" "contributions of the rows"
## 10 "$call" "summary called parameters"
## 11 "$call$marge.col" "weights of the columns"
## 12 "$call$marge.row" "weights of the rows"
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.08416458 100 100
En este caso y como se puede observar en el resultado para la tabla de contingencia 1 (Zona vs Tipo), no es posible realizar una gráfica debido a que la correspondencia se puede explicar con una sola variable.
## **Results of the Correspondence Analysis (CA)**
## The row variable has 5 categories; the column variable has 4 categories
## The chi square of independence between the two variables is equal to 3830.435 (p-value = 0 ).
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$col" "results for the columns"
## 3 "$col$coord" "coord. for the columns"
## 4 "$col$cos2" "cos2 for the columns"
## 5 "$col$contrib" "contributions of the columns"
## 6 "$row" "results for the rows"
## 7 "$row$coord" "coord. for the rows"
## 8 "$row$cos2" "cos2 for the rows"
## 9 "$row$contrib" "contributions of the rows"
## 10 "$call" "summary called parameters"
## 11 "$call$marge.col" "weights of the columns"
## 12 "$call$marge.row" "weights of the rows"
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.32215213 69.965515 69.96551
## dim 2 0.12745096 27.680002 97.64552
## dim 3 0.01084108 2.354483 100.00000
Para la tabla de contingencia 2 (Zona vs Estrato), se puede evidenciar que los inmuebles catalogados en estrato 6 se encuentra mayormente ubicados en la Zona Oeste, por otro lado, en la zona Sur se encuentran ubicados los estratos 4 y 5, y en la Zona Oriente y Centro se encuentran los inmuebles de estrato 3.
Los resultados indican que la primera componente resume el 69.96%, mientras que los dos primeros ejes resumen un 97.64% de los datos.
## **Results of the Correspondence Analysis (CA)**
## The row variable has 5 categories; the column variable has 12 categories
## The chi square of independence between the two variables is equal to 1781.022 (p-value = 0 ).
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$col" "results for the columns"
## 3 "$col$coord" "coord. for the columns"
## 4 "$col$cos2" "cos2 for the columns"
## 5 "$col$contrib" "contributions of the columns"
## 6 "$row" "results for the rows"
## 7 "$row$coord" "coord. for the rows"
## 8 "$row$cos2" "cos2 for the rows"
## 9 "$row$contrib" "contributions of the rows"
## 10 "$call" "summary called parameters"
## 11 "$call$marge.col" "weights of the columns"
## 12 "$call$marge.row" "weights of the rows"
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.136487359 63.752069 63.75207
## dim 2 0.049757011 23.241071 86.99314
## dim 3 0.020794929 9.713132 96.70627
## dim 4 0.007051571 3.293728 100.00000
Para la tabla de contingencia 3 (Zona vs Piso), se puede evidenciar que los inmuebles con piso 1 se encuentran mayormente ubicados en la Zona Oriente y Centro, para la Zona Sur y Norte los inmuebles tienen piso 2, 3 y 4. Para la Zona Norte los inmuebles tienen piso 6, 7, 9, 10 y 12, y para la Zona Oeste los inmuebles tienen piso 5.
Los resultados indican que la primera componente resume el 63.75%, mientras que los dos primeros ejes resumen un 86.99% de los datos.
## **Results of the Correspondence Analysis (CA)**
## The row variable has 2 categories; the column variable has 4 categories
## The chi square of independence between the two variables is equal to 224.5591 (p-value = 2.075534e-48 ).
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$col" "results for the columns"
## 3 "$col$coord" "coord. for the columns"
## 4 "$col$cos2" "cos2 for the columns"
## 5 "$col$contrib" "contributions of the columns"
## 6 "$row" "results for the rows"
## 7 "$row$coord" "coord. for the rows"
## 8 "$row$cos2" "cos2 for the rows"
## 9 "$row$contrib" "contributions of the rows"
## 10 "$call" "summary called parameters"
## 11 "$call$marge.col" "weights of the columns"
## 12 "$call$marge.row" "weights of the rows"
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.02699353 100 100
En este caso y como se puede observar en el resultado para la tabla de contingencia 4 (Tipo vs Estrato), no es posible realizar una gráfica debido a que la correspondencia se puede explicar con una sola variable.
## **Results of the Correspondence Analysis (CA)**
## The row variable has 2 categories; the column variable has 12 categories
## The chi square of independence between the two variables is equal to 4172.487 (p-value = 0 ).
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$col" "results for the columns"
## 3 "$col$coord" "coord. for the columns"
## 4 "$col$cos2" "cos2 for the columns"
## 5 "$col$contrib" "contributions of the columns"
## 6 "$row" "results for the rows"
## 7 "$row$coord" "coord. for the rows"
## 8 "$row$cos2" "cos2 for the rows"
## 9 "$row$contrib" "contributions of the rows"
## 10 "$call" "summary called parameters"
## 11 "$call$marge.col" "weights of the columns"
## 12 "$call$marge.row" "weights of the rows"
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.5015611 100 100
En este caso y como se puede observar en el resultado para la tabla de contingencia 5 (Tipo vs Piso), no es posible realizar una gráfica debido a que la correspondencia se puede explicar con una sola variable.
## **Results of the Correspondence Analysis (CA)**
## The row variable has 4 categories; the column variable has 12 categories
## The chi square of independence between the two variables is equal to 508.5198 (p-value = 1.479665e-86 ).
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$col" "results for the columns"
## 3 "$col$coord" "coord. for the columns"
## 4 "$col$cos2" "cos2 for the columns"
## 5 "$col$contrib" "contributions of the columns"
## 6 "$row" "results for the rows"
## 7 "$row$coord" "coord. for the rows"
## 8 "$row$cos2" "cos2 for the rows"
## 9 "$row$contrib" "contributions of the rows"
## 10 "$call" "summary called parameters"
## 11 "$call$marge.col" "weights of the columns"
## 12 "$call$marge.row" "weights of the rows"
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.037954647 62.090934 62.09093
## dim 2 0.019230572 31.459763 93.55070
## dim 3 0.003942299 6.449304 100.00000
Para la tabla de contingencia 6 (Estrato vs Piso), se puede evidenciar que los inmuebles catalogados en estrato 6 mayormente tienen piso 5, los inmuebles catalogados en estrato 3 tienen piso 1 y 2, y para los inmuebles catalogados en estrato 4 y 5 tienen piso 4.
Los resultados indican que la primera componente resume el 62.09%, mientras que los dos primeros ejes resumen un 93.54% de los datos.
En resumen, la oferta de viviendas en el mercado inmobiliario de Cali es variada, abarcando propiedades con diferencias en precio, tamaño, ubicación y características. Por ello, es esencial clasificar o segmentar el mercado para comprender mejor esta diversidad, lo que facilitará la identificación de oportunidades y desafíos específicos en cada grupo.
Segmentar el mercado permite desarrollar estrategias de marketing y ventas más personalizadas, optimizando el atractivo de las propiedades dentro de cada segmento. Al adaptar las estrategias a las características y necesidades de cada grupo, se incrementan las probabilidades de éxito en la comercialización de las propiedades.