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

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

2 Análisis exploratorio de los datos

## # A tibble: 6 × 13
##      id zona    piso  estrato preciom areaconst parqueaderos banios habitaciones
##   <dbl> <chr>   <chr>   <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>
## 1  1147 Zona O… <NA>        3     250        70            1      3            6
## 2  1169 Zona O… <NA>        3     320       120            1      2            3
## 3  1350 Zona O… <NA>        3     350       220            2      2            4
## 4  5992 Zona S… 02          4     400       280            3      5            3
## 5  1212 Zona N… 01          5     260        90            1      2            3
## 6  1724 Zona N… 01          5     240        87            1      3            3
## # ℹ 4 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>
##        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

Datos faltantes

##      preciom id zona estrato areaconst banios habitaciones tipo barrio longitud
## 4808       1  1    1       1         1      1            1    1      1        1
## 1909       1  1    1       1         1      1            1    1      1        1
## 876        1  1    1       1         1      1            1    1      1        1
## 726        1  1    1       1         1      1            1    1      1        1
## 1          1  0    0       0         0      0            0    0      0        0
## 2          0  0    0       0         0      0            0    0      0        0
##            2  3    3       3         3      3            3    3      3        3
##      latitud parqueaderos piso     
## 4808       1            1    1    0
## 1909       1            1    0    1
## 876        1            0    1    1
## 726        1            0    0    2
## 1          0            0    0   12
## 2          0            0    0   13
##            3         1605 2638 4275

EN la gráfica se identifica que tres registros no cuentan con la mayoría de los datos, solo uno de estos registros cuenta con la variable preciom, por lo que se decide eliminar estos tres registros siendo insignificante para el tamaño de la tabla. Quedando con una base de 8319 registros.

## [1] 8319   13

Se grafican los datos faltantes

##           id         zona         piso      estrato      preciom    areaconst 
##            0            0         2635            0            0            0 
## parqueaderos       banios habitaciones         tipo       barrio     longitud 
##         1602            0            0            0            0            0 
##      latitud 
##            0

En la variable parqueadero se reemplazan los datos faltantes por cero entendiendo que no lo diligenciaron porque no habia.

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   1.000   2.000   3.000   3.771   5.000  12.000    2635

Se puede observar que la variable piso tienen una media 3.7 y una mediana de 3 por lo que se trabajara con este último valor.

Se validan los datos duplicados

## duplicados
## FALSE 
##  8319

3 Análisis de los componentes principales

1. Convertir la variable de piso en numérica

## [1] "numeric"

2. se crea BD con las variables numéricas con las cuales se va a trabajar esta técnica (piso, precio, area construida, parqueaderos, baños y habitaciones)

##   piso preciom areaconst parqueaderos banios habitaciones
## 1    3     250        70            1      3            6
## 2    3     320       120            1      2            3
## 3    3     350       220            2      2            4
## 4    2     400       280            3      5            3
## 5    1     260        90            1      2            3
## 6    1     240        87            1      3            3

3. Matriz de correlaciones

Se observa que la variable piso presenta una correlación baja las demás variables, por lo que se procede a eliminarla.

Se estandarizan las variables numéricas para evitar que las diferentes escalas afecten las estimaciones.

##         preciom  areaconst parqueaderos      banios habitaciones
## [1,] -0.5595498 -0.7339949   -0.3875522 -0.07793773    1.6406840
## [2,] -0.3465670 -0.3842568   -0.3875522 -0.77811479   -0.4147626
## [3,] -0.2552886  0.3152194    0.4168506 -0.77811479    0.2703863
## [4,] -0.1031580  0.7349051    1.2212534  1.32241640   -0.4147626
## [5,] -0.5291236 -0.5940997   -0.3875522 -0.77811479   -0.4147626
## [6,] -0.5899759 -0.6150839   -0.3875522 -0.07793773   -0.4147626

4. Elección del número de componenetes principales

## Standard deviations (1, .., p=5):
## [1] 1.7687244 0.9580196 0.6596223 0.5697744 0.4405313
## 
## Rotation (n x k) = (5 x 5):
##                    PC1         PC2        PC3        PC4         PC5
## preciom      0.4786167  0.35962053 -0.3591123  0.2636141  0.66569141
## areaconst    0.4837887 -0.08525642 -0.5617850 -0.5381787 -0.39171573
## parqueaderos 0.4083175  0.52028538  0.6606172 -0.3457569 -0.08134506
## banios       0.4959071 -0.15655331  0.1211208  0.6948247 -0.48178371
## habitaciones 0.3524592 -0.75378949  0.3230334 -0.1963215  0.40580928

En la gráfica se observa que el CP1 explica el 62.6% de la variabilidad en la bases de datos y en la suma de los dos primeros suman el 81%

En este gráfico se identifica la contribución de las variables de mayor(azul) a menor(naranja) : “habitaciones”, “preciom”, “banios”, “parqueaderos” y “areaconst”.

Del gráfico se puede concluir que entre más metros cuadrados más baños tiene el inmueble y que las propiedades con precios altos tienden a tener más parqueaderos.

4 Análisis de conglomerados

1. Se determina el número de clústeres con el método del codo

## Warning: did not converge in 10 iterations

Se analiza y concluye que k puede ser 2, ya que en este se da el primer punto de flexión en diferente dirección.

2. Se determina el número óptimo de clústeres con el método de la silueta

## Warning: did not converge in 10 iterations

Con el método anterior se confirma que 2 es un número óptimo para los clusteres.

Validación de la calidad del agrupamiento

## Coeficiente de Silhouette promedio k=2 :  0.6448905

Con el coeficiente de Silhouette promedio = 0.64 con k=2 se puede considerar un clustering moderado. Lo que sugiere que, en general, las observaciones están bien agrupadas, pero puede haber algunos puntos que no están perfectamente asignados a un cluster. Aunque no es un valor excepcionalmente alto, es lo suficientemente bueno para sugerir que los clusters están razonablemente bien separados.

Tamaño de los cluster

## 
##    1    2 
## 5835 2484

Cluster Graficados

5 Análisis de Correspondencia

##    
##     Zona Centro Zona Norte Zona Oeste Zona Oriente Zona Sur
##   3         105        572         54          340      382
##   4          14        407         84            8     1616
##   5           4        769        290            2     1685
##   6           1        172        770            1     1043

De esta tabla pse conlcuye:

  • Las zonas donde más se concentran los inmuebles es la norte y la sur.
  • En la zona norte predomina el estrato 4 y 5, al igual que en la zona sur.
  • Las zonas donde menos se concentran los inmuebles es centro y oriente.
  • En la zona centro predomina el estrato 3, al igual que en la zona oriente.
  • La zona oeste tiene un número intermedio de viviendas donde predomina el estrato

Se hacce prueba Chicuadrado para analizar la asociación entre ambas variables

## 
##  Pearson's Chi-squared test
## 
## data:  tabla_ez
## X-squared = 3830.4, df = 12, p-value < 2.2e-16

El resultado de la prueba de chi-cuadrado indica que hay una asociación significativa entre las variables “estrato” y “zona”.

El valor extremadamente bajo del valor p (p-value = 2.2e-16) indica que la asociación entre el estrato y la zona es altamente significativa. Esto significa que la distribución de los estratos varía significativamente según la zona en la que se encuentran las propiedades.

Se procede a realizar el análisis de correspondencia que consiste en estimar las coordenadas para cada uno de los niveles de ambas variables y representarlas en un plano cartesiano.

El gráfico nos permite establecer relaciones y validar las ya descritas inicialmente con la tabla de cruzada:

Los estratos 4 y 5 están ubicados principalmente en la Zona Sur y Norte El estrato 3 está presente en las Zonas Oriente y Centro El estrato 6 se encuentra ubicado en la Zona Oeste Para medir el grado de representatividad del proceso se calcula 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.32215213              69.965515                          69.96551
## dim 2 0.12745096              27.680002                          97.64552
## dim 3 0.01084108               2.354483                         100.00000

Los resultados indican que la primera componente resume el 70% y los dos primeros ejes resumen un 97.7% de los datos.

6 Conclusiones

Componentes Principales:

Visualizar la estructura de los datos en términos de componentes principales ayuda a identificar las características clave que explican la mayor parte de la variación en los datos.

Estas características son cruciales para comprender el mercado inmobiliario y tomar decisiones estratégicas informadas.

Las variables numéricas más relevantes identificadas son “preciom”, “areaconst” y “banios”, ya que desempeñan un papel crucial en este contexto.

Análisis de Conglomerados:

La identificación de dos clústeres distintos indica diferencias significativas en las características de las propiedades y posiblemente en las dinámicas del mercado.

Esta información es valiosa para la empresa inmobiliaria, ya que permite comprender mejor las necesidades de los clientes.

Permite adaptar estrategias de marketing y ventas de manera más efectiva.

Análisis de Correspondencia:

Se encontró una asociación significativa entre el estrato y la zona.

Esto sugiere que la distribución de los estratos varía significativamente según la zona en la que se encuentran las propiedades.

Esta técnica resalta la importancia de mostrar relaciones entre variables categóricas, brindando mucha información al momento de analizar el conjunto de datos.

7 Recomendaciones

Focalizar en Variables Clave:

Preciom, areaconst son variables críticas. Estas deberían ser monitoreadas y optimizadas continuamente.

Desarrollar estrategias de marketing y ventas personalizadas para cada segmento. Por ejemplo, diferentes campañas publicitarias o paquetes de servicios para diferentes clusters.

Aprovechar la asociación significativa entre el estrato y la zona para adaptar las estrategias de desarrollo y marketing a las características específicas de cada área.