Introducción

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.

Tabla 1. Información general del conjunto de datos
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.

1. Análisis Exploratorio de datos

1.1. Identificación y Tratamiento a Datos Faltantes y Atípicos

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.

2. Análisis Estadístico

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.

Tabla 2. Porcentaje de datos atípicos por variable
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

2. Análisis de Conglomerados

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.

3. Análisis de Componentes Principales

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.

4. Análisis de Corresponencia

4.1. Análisis de correspondencia por Tipo de Vivienda

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?

4.2. Análisis de correspondencia por Barrio

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.

5. Resultados