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. las cuáles se describen a continuación.
| Variable | Tipo | N° registros | N° faltantes | Visualización preliminar |
|---|---|---|---|---|
| id | numeric | 8319 | 3 | 1147.000, 1169.000, 1350.000, 5992.000, 1212.000 |
| zona | character | 8319 | 3 | Zona Oriente, Zona Oriente, Zona Oriente, Zona Sur, Zona Norte |
| piso | character | 5684 | 2638 | NA, NA, NA, 02, 01 |
| estrato | numeric | 8319 | 3 | 3.000, 3.000, 3.000, 4.000, 5.000 |
| preciom | numeric | 8320 | 2 | 250.000, 320.000, 350.000, 400.000, 260.000 |
| areaconst | numeric | 8319 | 3 | 70.000, 120.000, 220.000, 280.000, 90.000 |
| parqueaderos | numeric | 6717 | 1605 | 1.000, 1.000, 2.000, 3.000, 1.000 |
| banios | numeric | 8319 | 3 | 3.000, 2.000, 2.000, 5.000, 2.000 |
| habitaciones | numeric | 8319 | 3 | 6.000, 3.000, 4.000, 3.000, 3.000 |
| tipo | character | 8319 | 3 | Casa, Casa, Casa, Casa, Apartamento |
| barrio | character | 8319 | 3 | 20 de julio, 20 de julio, 20 de julio, 3 de julio, acopi |
| longitud | numeric | 8319 | 3 | -76.512, -76.512, -76.515, -76.540, -76.513 |
| latitud | numeric | 8319 | 3 | 3.434, 3.434, 3.436, 3.435, 3.459 |
Como se observa en la Tabla 1, se cuenta con \(8.322\) registros en los cuales se presentan casos de datos faltantes para las diferentes variables. Adicionalmente el conjunto de datos cuenta con variables como la zona en la que se encuentra ubicada la vivienda, el estrato de la vivienda, el precio de la vivienda en millones de pesos (MCOP), el área construida en \(m^2\) y el tipo de vivienda, entre otros. La compañía quiere identificar patrones, relaciones y segmentaciones relevantes que permitan mejorar la toma de decisiones en cuanto a la compra, venta y valoración de propiedades.
La Tabla 1 mostró que las variables piso y parqueaderos contienen bastantes casos de datos faltantes, por tanto estas variables serán eliminadas del conjunto de datos, adicionalmente las demás variables contienen entre 2 y 3 casos de datos faltantes por lo cuál procederemos a imputar estos valores con la mediana para las variables continuas y discretas, y la moda para las variables categóricas. Adicionalmente, se eliminó la variable id ya que no aporta nada al análisis.
En este caso lo primero fue identificar la distribución de los datos para determinar cuál es el tratamiento de datos atípicos más adecuado. Como se observa a continuación, los datos aparentemente no siguen una distribución normal debido a que los gráficos de densidad no presentan una forma del todo gaussiana.
TableGrob (2 x 3) "arrange": 6 grobs
z cells name grob
1 1 (1-1,1-1) arrange gtable[layout]
2 2 (1-1,2-2) arrange gtable[layout]
3 3 (1-1,3-3) arrange gtable[layout]
4 4 (2-2,1-1) arrange gtable[layout]
5 5 (2-2,2-2) arrange gtable[layout]
6 6 (2-2,3-3) arrange gtable[layout]
Una vez visualizado que los datos no siguen una distribución normal, para analizar los casos de datos extremos se evaluó el porcentaje de datos atípicos por variable aplicando el método del rango inter cuartil (IQR) obteniendose los resultados mostrados en la Tabla 2, y posteriormente, dado que la cantidad de atípicos apenas superó el 10% para una de las variables, normalmente se procedería con el recorte de los datos, no obstante, al analizar detenidamente los gráficos de cajas y de densidad, se evidencia que para la mayoría de las variables los casos de atípicos se dan en la cola superior de la distribución de las variables, lo cuál indica que puede ser un comportamiento natural de los datos. Por lo tanto se decide continuar con el conjunto de datos incluyendo los datos atípicos para el análisis.
| variable | porcentaje de atípicos |
|---|---|
| latitud | 0.00% |
| longitud | 1.56% |
| habitaciones | 10.67% |
| banios | 0.87% |
| areaconst | 4.59% |
| preciom | 6.63% |
| estrato | 0.00% |
Para apoyar el entendimiento de la dinámica de precios se requirió determinar la influencia que tienen las variables numéricas en el precio de la vivienda, realizando para esto un gráfico de pares en el que observamos algunas correlaciones interesantes entre el área construida de la vivienda y el número de habitaciones con el precio de la misma.
Adicionalmente, visualizamos la distribución de los precios dependiendo del tipo de vivienda, es decir, si se trata de una casa o apartamento. En el siguiente gráfico podemos observar que las casa aparentemente tienen en promedio un precio más elevado que los apartamentos.
Se realizó una prueba t para comprobar la diferencia en la media del precio de los dos grupos, la cuá, como se verá a continuación indica que existen diferencias significativas entre el precio medio de las casas comparado con el precio medio de los apartamentos, lo cuál significa que el tipo de vivienda puede tener relación con la dinámica de precios de las mismas.
Welch Two Sample t-test
data: preciom by tipo
t = -23.078, df = 5789.9, p-value < 2.2e-16
alternative hypothesis: true difference in means between group Apartamento and group Casa is not equal to 0
95 percent confidence interval:
-187.7735 -158.3699
sample estimates:
mean in group Apartamento mean in group Casa
366.9218 539.9935
Adicional a lo anterior, en las siguientes gráficas podemos observar que en la zona sur se concentra un número importante de viviendas, el cuál es más del doble respecto a las demás zonas. Las zonas norte y oeste presentan menos viviendas siendo estas principalmente del tipo apartamento.
Al observar el gráfico de cajas de la parte derecha, se observa que los precios de viviendas en la zona oeste son significativamente mayores respecto a las demás zonas. Adicionalmente, las zonas norte y sur presentan valores levemente más altos que la zona oriente.
Al realizar un análisis de varianza ANOVA del precio de las viviendas en función de la zona, se evidencia que existe una diferencia estadísticamente significativa en el precio promedio (preciom) entre las diferentes zonas. El alto valor de F (269.4) y el valor p extremadamente bajo (<2e-16) indican que zona tiene un impacto considerable en precio de la vivienda.
Df Sum Sq Mean Sq F value Pr(>F)
zona 4 103083469 25770867 269.4 <2e-16 ***
Residuals 8317 795465077 95643
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Para realizar el análisis de conglomerados, transformamos las variables categóricas zona, tipo y barrio en variables numéricas para incluirlas en el análisis, obteniendose el conjunto de datos de la siguiente manera.
# A tibble: 6 × 10
zona estrato preciom areaconst banios habitaciones tipo barrio longitud
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 4 3 250 70 3 6 2 1 -76.5
2 4 3 320 120 2 3 2 1 -76.5
3 4 3 350 220 2 4 2 1 -76.5
4 5 4 400 280 5 3 2 2 -76.5
5 2 5 260 90 2 3 1 3 -76.5
6 2 5 240 87 3 3 1 3 -76.5
# ℹ 1 more variable: latitud <dbl>
Dado que los rangos de las variables son diferente y con fin de que estas diferencias en las dimensiones de las variables no afecte los cálculos de las distancias se realiza el escalado de las características, obteniendose un conjunto de datos con datos como los siguientes.
zona estrato preciom areaconst banios habitaciones
1 0.06163572 -1.5876059 -0.5595266 -0.7339788 -0.0779236 1.6410785
2 0.06163572 -1.5876059 -0.3465092 -0.3841860 -0.7782261 -0.4146749
3 0.06163572 -1.5876059 -0.2552161 0.3153997 -0.7782261 0.2705762
4 0.81484051 -0.6158454 -0.1030608 0.7351511 1.3226815 -0.4146749
5 -1.44477387 0.3559152 -0.5290955 -0.5940617 -0.7782261 -0.4146749
6 -1.44477387 0.3559152 -0.5899576 -0.6150492 -0.0779236 -0.4146749
tipo barrio longitud latitud
1 1.2590014 -1.867729 0.9730498 0.3794530
2 1.2590014 -1.867729 0.9333836 0.3764036
3 1.2590014 -1.867729 0.7609217 0.4226143
4 1.2590014 -1.859966 -0.6549900 0.4071325
5 -0.7941849 -1.852202 0.8684230 0.9679947
6 -0.7941849 -1.852202 0.6672175 -1.1243894
En el siguiente gráfico se muestra la como a medida que aumenta el número de clusters se disminuye la curva tiende a aplanarse, para este caso se observa que la curva comienza a aplanarse más notoriamente a partir del cuarto cluster (método del codo), por tanto, se seleccionan 4 clusteres para el ejercicio.
Realizando la validación por el método de la silueta se observa que el número óptimo de clústers indicado es de 2, ya que es el número de clústers donde se da el mayor coeficiente de silhouette.
Coeficiente de Silhouette promedio k=2 : 0.5589543
Al aplicar el algoritmo de clústering podemos visualizar las agrupaciones creadas para las variables area construida y precio de la vivienda de la siguiente manera.
Como podemos observar en el siguiente gráfico, los clústeres presentan buena diferenciación entre variables en las que anteriormente se identificó correlación, de igual manera, mantienen un comportamiento coherente entre zonas, así como una dinámica de precios diferenciada.
Adicionalmente, en el siguiente gráfico podemos observar que los agrupamientos se mantienen al segmentarlos por estrato, mostrando los diferentes niveles de precios, sin embargo, se aprecian interacciones entre los clústeres 1 y 2, lo cuál puede indicar que existen características similares entre estas dos agrupaciones.
Standard deviations (1, .., p=10):
[1] 1.8368351 1.4007898 1.2190475 1.0109775 0.8001237 0.7033173 0.5889340
[8] 0.4997944 0.4877561 0.4315966
Rotation (n x k) = (10 x 10):
PC1 PC2 PC3 PC4 PC5
zona -0.10244853 0.46235809 0.529866195 -0.029861777 -0.04317685
estrato -0.28661413 0.36243259 -0.413841309 -0.074438831 -0.25256825
preciom -0.44899912 0.06530322 -0.284498882 -0.084545426 -0.27693950
areaconst -0.45582336 -0.17762130 -0.007995896 -0.039348576 -0.15314882
banios -0.47479527 -0.07574925 -0.028787741 -0.075003962 0.03185282
habitaciones -0.33015451 -0.33873677 0.272724030 -0.023758004 0.40021086
tipo -0.30423686 -0.33114449 0.364746416 0.063913136 -0.04819941
barrio 0.05710943 0.03778950 0.003306146 -0.961204736 0.21788601
longitud 0.21750500 -0.36202328 0.251209362 -0.225103624 -0.77869282
latitud 0.14289494 -0.50638687 -0.442277612 -0.003127659 0.12981391
PC6 PC7 PC8 PC9 PC10
zona 0.07592370 -0.162527608 -0.60559946 -0.304290222 -0.026310940
estrato 0.18349858 0.480522316 -0.32648483 0.397405590 0.129620603
preciom -0.10738474 -0.267646666 0.08801668 -0.195264308 -0.707326618
areaconst -0.32292420 -0.539470422 -0.10577710 0.269545461 0.506415841
banios 0.40474898 0.179074432 0.28179736 -0.590123621 0.371237860
habitaciones 0.51505608 -0.055288480 -0.11550627 0.428622630 -0.275218436
tipo -0.54314249 0.585539266 -0.08044710 -0.043677549 -0.109980798
barrio -0.14790061 0.038874319 0.02162864 0.006287248 0.004189028
longitud 0.31393190 0.004219894 -0.01429269 0.051752204 -0.006067398
latitud 0.01470513 -0.022589521 -0.63861253 -0.319538037 0.005041012
Como se puese observar en el gráfico con los 5 primeros componentes se explica cerca del 85% de la varianza contenida en todo el conjunto de datos.
Como se puede observar en el siguiente gráfico, el precio de la vivienda, el área construida, el número de baños y habitaciones se ven representados por el primer componente, lo que significa que un valor propio alto del PC1 sugiere viviendas más grandes y costosas. Adicionalmente, el segundo componente representa la ubicación geográfica y el nivel socioeconómico ya que se observan valores propios altos para las variables estrato, zona y latitud. El tercer y cuarto componente principal representa las principales características de la vivienda mostrando que para ciertos barrios y zonas pueden diferenciarse bien viviendas con mayores niveles de servicios.
Al observar las variables en el plano de componentes principales es posible identificar el sentido y la caracterización de los componentes, para explicarlo con un ejemplo se seleccionaron cuatro casos extremos conformados por las siguientes viviendas.
zona estrato preciom areaconst banios habitaciones
Vivienda 5152 Zona Sur 6 1800 1090 5 4
Vivienda 8037 Zona Oriente 3 62 63 1 2
Vivienda 5217 Zona Sur 6 285 57 2 1
Vivienda 5889 Zona Centro 3 520 583 5 9
tipo barrio longitud latitud
Vivienda 5152 Casa pance -76.54278 3.34104
Vivienda 8037 Apartamento villa del lago -76.49000 3.43800
Vivienda 5217 Apartamento pance -76.54402 3.34078
Vivienda 5889 Casa san bosco -76.49900 3.44300
Como se observa en el siguiente gráfico, la Vivienda 5152 tiene un área de construcción bastante grande (1090 \(m^2\)), así como un precio elevado (1.800 MCOP) y un gran número de baños (5), por otro lado, la Vivienda 8037 tiene un área mucho más reducida (63 \(m^2\)), un precio considerablemente más bajo (62 MCOP) y tan solo un baño, por eso el primer caso se ubica en el punto rojo de la zona izquierda mientras que el segundo caso se ubica en el extremo derecho mostrando el sentido en que aumentan los valores del primer componente principal. Por otra parte, la Vivienda 5217 es una vivienda estrato 6 ubicada en la zona sur con una ubicación latitudinal de 3.34078, mientras que la Vivienda 5889 es una vivienda estrato 3 ubicada en la zona centro con una ubicación latitudinal de 3.44300, por esto la primera se ubica en el punto azul la zona superior del plano y el segundo se ubica en el punto azul de la zona inferior, lo que permite ver el sentido de los valores del segundo componente principal.
La representación gráfica de los dos primeros componentes principales nos permite observar la relación existente entre las variables : preciom, areaconst, banios y antigüedad, formando un grupo que presenta un mayor efecto sobre el primer componente, mientras que las variables zona, estrato y latitud presentan un mayor efecto sobre el segundo componente.
Para la realización del análisis de correspondencia tomamos una muestra de \(n=4.000\) y convertimos en factor la variable tipo
A continuación, se presenta la tabla cruzada con las variables involucradas en el análisis.
Casa Apartamento
Zona Centro 14 47
Zona Norte 564 344
Zona Oeste 508 78
Zona Oriente 31 140
Zona Sur 1345 929
Se realiza una prueba Chi cuadrado cuyo resultado indica que se rechaza la hipótesis de independencia de las variables zona y tipo de vivienda (p-value: < 2.2e-16), indicando grado tipo de relación entre ellas.
Pearson's Chi-squared test
data: tabla
X-squared = 336.79, df = 4, p-value < 2.2e-16
Para medir el grado de representatividad del proceso calculamos 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.08419867 100 100
Los resultados indican que la primera componente resume el 100%.
`geom_line()`: Each group consists of only one observation.
ℹ Do you need to adjust the group aesthetic?
Para la realización del análisis de correspondencia tomamos una muestra de \(n=4.000\) y convertimos en factor la variable barrio.
Se realiza una prueba Chi cuadrado cuyo resultado indica que se rechaza la hipótesis de independencia de las variables estrato y barrio (p-value: < 2.2e-16), indicando grado tipo de relación entre ellas.
Warning in chisq.test(tabla): Chi-squared approximation may be incorrect
Pearson's Chi-squared test
data: tabla
X-squared = 7498.2, df = 969, p-value < 2.2e-16
Finalmente se realiza en análisis de correspndencia en el cuál como se visualiza en el gráfico, se aprecia que hay barrios en los que principalmente predomina y estrato específico.
Para medir el grado de representatividad del proceso calculamos 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.8441695 45.03332 45.03332
dim 2 0.7128430 38.02754 83.06086
dim 3 0.3175316 16.93914 100.00000
Los resultados indican que la primera componente resume el 45% y sumado a la segunda componente se resume el 83% de la variabilidad total del conjunto de datos.
El análisis exploratorio nos permitió identificar la naturaleza de la distribución de los datos y adicionalmente las correlacines existentes entre las variables como el área de construcción total de la vivienda y el precio, lo que indica que a mayor área de construcción mayor precio. Adicionalmente, el número de baños tambien presenta una correlación significativa con el precio. También, se observa que el precio medio es significativamente más alto para las casas respecto a los apartamentos. así como variación de los precios entre las diferentes zonas.
El análisis de conglomerados muestra las agrupaciones que permiten segmentar las viviendas con característiccas similares mostrandose agrupaciones para los diferentes niveles de precios, zonas y estratos como se mostró en las gráficas anteriormente, presentando buena diferenciación entre los grupos.
El análisis de componentes principales permitió identificar y corroborar la importancia de variables como el precio y las características de la vivienda, así como su ubicación y características socioeconómicas y su comportamiento en la dinámica de compra y venta de las viviendas.
Finalmente, el análisis de correspondencia evidenció que en ciertos barrios de la ciudad predominan las viviendas de estratos más altos, y que no existe independencia entre las diferentes variables categóricas analizadas.