Descripción del 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.

Para lograr el objetivo se proceden a realizar las siguientes actividades:

  1. Descarga y Exploración de la base de datos
  2. Limpieza de datos
  3. Análisis de Componentes Principales (PCA)
  4. Análisis de Conglomerados
  5. Análisis de Correspondencia

Análisis exploratorio

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:

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.

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:

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.

Aplicación de métodos multivariados

Análisis de Componentes Principales - PCA

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.

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 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.

Análisis de Correspondencia

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.

Conclusiones y Recomendaciones

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.