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