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.
suppressWarnings({suppressMessages(library(paqueteMODELOS))
suppressMessages(library(mice))
suppressMessages(library(tidyverse))
suppressMessages(library(naniar))
suppressMessages(library(pacman))
suppressMessages(library(DataExplorer))
suppressMessages(library(ggcorrplot))
suppressMessages(library(Cairo))
suppressMessages(library(factoextra))
suppressMessages(library(ggrepel))
suppressMessages(library(textshape))
suppressMessages(library(cluster))
suppressMessages(library(NbClust))
suppressMessages(library(FactoMineR))
suppressMessages(library(pander))
suppressMessages(library(sf))
suppressMessages(library(corrplot))
suppressMessages(library(gridExtra))
})
Cargue y lectura de la base de datos
## # A tibble: 8,322 × 13
## id zona piso estrato preciom areaconst parqueaderos banios habitaciones
## <dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1147 Zona … <NA> 3 250 70 1 3 6
## 2 1169 Zona … <NA> 3 320 120 1 2 3
## 3 1350 Zona … <NA> 3 350 220 2 2 4
## 4 5992 Zona … 02 4 400 280 3 5 3
## 5 1212 Zona … 01 5 260 90 1 2 3
## 6 1724 Zona … 01 5 240 87 1 3 3
## 7 2326 Zona … 01 4 220 52 2 2 3
## 8 4386 Zona … 01 5 310 137 2 3 4
## 9 1209 Zona … 02 5 320 150 2 4 6
## 10 1592 Zona … 02 5 780 380 2 3 3
## # ℹ 8,312 more rows
## # ℹ 4 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>
Estructura del data frame.
## 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>
Se observa que la base de datos tiene 8322 registros y 13 variables dentro de las cuales cuenta con 3 variables cualitativas y 10 cuantitativas, 4 variables tipo texto y 8 variables tipo númericas. dentro de las variables tipo texto se encuentra piso, sin embargo, se realiza la transformación a tipo númerico.
## 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 : num [1:8322] NA NA NA 2 1 1 1 1 2 2 ...
## $ 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>
Se procede a realizar la verificación de la existencia de datos faltantes.
De acuerdo a esto, se observa en el siguiente gráfico la existencia de valores faltantes en el dataset, siendo las variables piso y parqueaderos las que mayor cantidad de datos faltantes presentan.
## 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
A continuación, vemos de forma más detallada la distribución de los valores faltantes en el dataset.
Se presenta a continuación la suma de los valores faltantes por cada atributo de la data. Donde, piso cuenta con un toal de 2638 datos faltantes y parqueaderos con un total de 1605 de datos faltantes.
## id zona piso estrato preciom areaconst
## 3 3 2638 3 2 3
## parqueaderos banios habitaciones tipo barrio longitud
## 1605 3 3 3 3 3
## latitud
## 3
Se opta por remover estás columnas (parqueaderos y piso) con valores faltantes en el conjunto de datos, ya que la imputación utilizando medidas de tendencia central podría distorsionar incorrectamente el análisis del problema. Además, la columna parqueadderos tiene un total de 19.29% de NA y la columna piso de 31.70%.
## /\ /\
## { `---' }
## { O O }
## ==> V <== No need for mice. This data set is completely observed.
## \ \|/ /
## `-----'
## zona estrato preciom areaconst habitaciones banios tipo barrio longitud
## 8319 1 1 1 1 1 1 1 1 1
## 0 0 0 0 0 0 0 0 0
## latitud
## 8319 1 0
## 0 0
## 'data.frame': 8319 obs. of 10 variables:
## $ zona : chr "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
## $ 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 ...
## $ habitaciones: num 6 3 4 3 3 3 3 4 6 3 ...
## $ banios : num 3 2 2 5 2 3 2 3 4 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 ...
Distribución de los datos según variable.
De los gráficos de histograma se deduce que los precios de las propiedades disponibles se concentran en precios menores a 500 millones de pesos. También, gran parte de las propiedades tienen en 2 a 4 baños.
Por otro lado, en promedio el área construida de las propiedades es de 174 metros cuadrados y cuentan con 2 o 3 habitaciones. Asimismo, la mayoría de las propiedades se centran en estratos 4,5 y 6.
En general, se puede concluir que las variables Área construida y Precio están medianamente fuerte correlacionadas. Esto significa que las propiedades con una mayor área construida tienden a tener un precio más alto. Las variables habitaciones y Área construida también están correlacionadas, pero menos fuertemente que Área construida y Precio. Esto significa que las propiedades ubicadas en pisos más altos o en estratos más altos tienden a tener un precio más alto.
En particular, se puede concluir que:
• Área construida y Precio tienen una correlación positiva de 0,7. Esto significa que las dos variables están directamente relacionadas.
• Precio y Estrato tienen una correlación positiva de 0,61. Esto significa que las dos variables también están directamente relacionadas, pero en menor medida que Área construida y Precio.
• Baños y Área construida tienen una correlación positiva (0.65), entre mayor sea el área construida mayor cantidad de baños hay. También las variables precio y baños presentan una correlación positiva (0.67).
En particular, se puede inferir que:
• Habitaciones y Área construida tienen una distribución muy dispersa, lo que indica que hay una gran variabilidad en el número de habitaciones de las propiedades y sus tamaños.
• Baños también tiene una distribución dispersa, pero en menor medida que Habitaciones.
• Estrato tienen una distribución más concentrada, lo que indica que hay menos variabilidad en el piso y el estrato de las propiedades.
Teniendo en cuenta la estructura de la base de datos, la limpieza realizada y el análisis exploratorio que se realizó, pasamos a realizar el Análisis de Componentes Principales (ACP).
Retengamos en la memoria que el procedimiento de componentes principales (PCA) se emplea principalmente para examinar variables numéricas y disminuir la complejidad dimensional de los datos. Dado que la base de datos actual incluye variables cualitativas, es necesario eliminar las columnas que contienen este tipo de datos, y para ello, se aplican las siguientes instrucciones:
## estrato preciom areaconst habitaciones banios longitud latitud
## 1147 3 250 70 6 3 -76.51168 3.43382
## 1169 3 320 120 3 2 -76.51237 3.43369
## 1350 3 350 220 4 2 -76.51537 3.43566
## 5992 4 400 280 3 5 -76.54000 3.43500
## 1212 5 260 90 3 2 -76.51350 3.45891
## 1724 5 240 87 3 3 -76.51700 3.36971
Con el fin de evitar que las variables que tiene una escala con valores más grandes afecten las estimaciones realizadas (sesgos) se realiza la estandarización de las variables antes de proceder a realizar el proceso de estimación de los componentes principales.
## estrato preciom areaconst habitaciones banios
## 1147 -1.5872276 -0.5595498 -0.7339949 1.6406840 -0.07793773
## 1169 -1.5872276 -0.3465670 -0.3842568 -0.4147626 -0.77811479
## 1350 -1.5872276 -0.2552886 0.3152194 0.2703863 -0.77811479
## 5992 -0.6156201 -0.1031580 0.7349051 -0.4147626 1.32241640
## 1212 0.3559875 -0.5291236 -0.5940997 -0.4147626 -0.77811479
## 1724 0.3559875 -0.5899759 -0.6150839 -0.4147626 -0.07793773
## Standard deviations (1, .., p=5):
## [1] 1.7126464 1.0901014 0.6673458 0.4916079 0.4375986
##
## Rotation (n x k) = (5 x 5):
## PC1 PC2 PC3 PC4 PC5
## estrato 0.3300032 -0.6744363 0.4208934 0.4795545 0.1706159
## preciom 0.5068715 -0.2807656 -0.3015468 -0.2213868 -0.7240921
## areaconst 0.4940473 0.1638135 -0.6525373 0.2984641 0.4628138
## habitaciones 0.3475270 0.6538568 0.4051685 0.4359154 -0.3122700
## banios 0.5189619 0.1092831 0.3767649 -0.6647648 0.3672488
## Importance of components:
## PC1 PC2 PC3 PC4 PC5
## Standard deviation 1.7126 1.0901 0.66735 0.49161 0.4376
## Proportion of Variance 0.5866 0.2377 0.08907 0.04834 0.0383
## Cumulative Proportion 0.5866 0.8243 0.91337 0.96170 1.0000
get_eigenvalue(res.pca)
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 2.9331575 58.663151 58.66315
## Dim.2 1.1883211 23.766422 82.42957
## Dim.3 0.4453505 8.907009 91.33658
## Dim.4 0.2416783 4.833567 96.17015
## Dim.5 0.1914925 3.829851 100.00000
En este caso el primer componente principal explica el 58.7% de la variabilidad contenida en la base de datos y entre los dos primeros más del 82% de los datos (82.5), lo cual indicaría que con sólo una variable (CP1) que se obtiene mediante una combinación lineal de las variables se puede resumir gran parte de la variabilidad que contiene la base de datos.
A continuación, se representan las variables sobre los componentes
principales, donde, área construida, baños y precio se situan sobre el
componente 1 y habitaciones y estrato sobre el 2.
Se visualiza que las características área construida, baños y precio están bien representadas sobre la dimensión 1. Estas características están relacionadas con las dimensiones físicas, comodidades y valor de la propiedad. Mientras que habitaciones y Estrato están representan en la Dimensión 2.
A continuación, se visualiza la correlación de las dimensiones con los atributos, donde se evidencia que la Dim 1, engloba los atributos Precio, Area Construida y Baños. La Dim 2, el resto de los atributos.
En el gráfico vemos como se distribuyen las porpiedades ofertadas sobre o dentro del PCA.
Por otro lado, podemos observar el comportamiento de los datos según las variables Habitaciones, Área construida, Baños, Precio y Estrato.
Una vez calculadas las componentes principales, se puede conocer la varianza explicada por cada una de ellas, la proporción respecto al total y la proporción de varianza acumulada.
## [1] 0.58663151 0.23766422 0.08907009 0.04833567 0.03829851
## [1] 0.5866315 0.8242957 0.9133658 0.9617015 1.0000000
En este caso, la primera componente explica el 58% de la varianza observada en los datos y la segunda el 23%. Las 3 últimas componentes no superan por separado el 1% de varianza explicada. Si se empleasen únicamente las dos primeras componentes se conseguiría explicar el 82% de la varianza observada.
La primera componente explica el 58.66 % de la varianza observada de los datos y la segunda componente el 23.76% de la varianza observada, por tanto, en conjunto ambas componentes logran explicar el 82.42% de esta varianza. Es decir, en ambas componentes contienen la mayor parte de la información contenida en las 5 variables.
En la primera componente, se observa que las variables, a saber, el número de baños, el precio de la vivienda y el área construida, exhiben una influencia significativa en orden de importancia. En la segunda componente, las variables estrato y habitaciones son las que presentan una influencia más destacada en sus respectivas posiciones. El análisis de la matriz de correlaciones inicial revela una fuerte correlación entre las variables de mayor influencia en la primera componente, indicando una posible dependencia entre ellas.
En caso de optar por un modelo de regresión simple, se pueden emplear las dos componentes obtenidas mediante el ACP. Por otro lado, si se busca desarrollar un modelo de regresión múltiple, se pueden utilizar las cinco variables originales. Posteriormente, se recomienda comparar el ajuste y las predicciones de ambos modelos para evaluar su desempeño relativo.
Se seleccionan las variables Estrato, precio, área construida, baños y habitaciones.
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 aconseja estandarizar las variables (restar la media y dividir el resultado por la desviación estándar) antes de generar las cálculos de las distancias.
## estrato preciom areaconst habitaciones banios
## 1147 -1.5872276 -0.5595498 -0.7339949 1.6406840 -0.07793773
## 1169 -1.5872276 -0.3465670 -0.3842568 -0.4147626 -0.77811479
## 1350 -1.5872276 -0.2552886 0.3152194 0.2703863 -0.77811479
## 5992 -0.6156201 -0.1031580 0.7349051 -0.4147626 1.32241640
## 1212 0.3559875 -0.5291236 -0.5940997 -0.4147626 -0.77811479
## 1724 0.3559875 -0.5899759 -0.6150839 -0.4147626 -0.07793773
EL método codo muestra que posiblemente el número óptimo de clústeres adecuado es 4. Esto se puede ver en el hecho de que la gráfica muestra un cambio brusco en la pendiente de la línea de la curva del codo en el punto 4.
EL método de la silueta muestra que posiblemente el número óptimo de
clústeres adecuado es 2. Ya que, el mismo método nos señala en el número
de clúster K el número 2, a su vez en este clúster se visualiza el
cambio abrupto que presenta la línea.
Al observar que no es claro el número de clusters óptimos, utilizamos el método de enlace completo (complete linkage), también conocido como el método de enlace máximo. Este método es una estrategia utilizada en la técnica de agrupamiento jerárquico aglomerativo.
## *** : The Hubert index is a graphical method of determining the number of clusters.
## In the plot of Hubert index, we seek a significant knee that corresponds to a
## significant increase of the value of the measure i.e the significant peak in Hubert
## index second differences plot.
##
## *** : The D index is a graphical method of determining the number of clusters.
## In the plot of D index, we seek a significant knee (the significant peak in Dindex
## second differences plot) that corresponds to a significant increase of the value of
## the measure.
##
## *******************************************************************
## * Among all indices:
## * 7 proposed 2 as the best number of clusters
## * 13 proposed 3 as the best number of clusters
## * 2 proposed 6 as the best number of clusters
## * 2 proposed 10 as the best number of clusters
##
## ***** Conclusion *****
##
## * According to the majority rule, the best number of clusters is 3
##
##
## *******************************************************************
Los resultados de la implementación del método son los siguientes:
Entre todos los índices:
7 propusieron 2 como el mejor número de clústeres.
13 propusieron 3 como el mejor número de clústeres.
2 propusieron 6 como el mejor número de clústeres.
2 propusieron 10 como el mejor número de clústeres.
Conclusión
De acuerdo con la regla de la mayoría (mayoría de los índices), se concluye que el mejor número de clústeres es 3.
De acuerdo a esta información, se gráfica los clúster.
Donde cada clústers quedo con la siguiente distribución:
## asignacion_clusters
## 1 2 3
## 5270 2008 1041
A continuación, se realiza el diagrama de dispersión que representa la relación entre el precio y el área construida de propiedades inmuebles, agrupadas por clústeres. El eje horizontal representa el área construida en metros cuadrados, mientras que el eje vertical representa el precio en miles de pesos colombianos.
Clúster 1: Presenta propiedades con áreas construidas medianamente grandes y a su vez con precios no muy altos.
Clúster 2: Presenta propiedades con áreas construidas muy pequeñas y precios bajos.
Clúster 3: Presentan Propiedades con grandes cantidades de área construida y con precios muy altos.
El clúster 1 se haya presente en todas las zonas (Centro, Norte, Oeste, Oriente, Sur), pero se visualiza que en las zonas Sur y Norte hay bastantes propiedades con precios muy altos. Sin embargo, los precios en promedio son bajos.
Dentro de la relación que hay en entre el precio por zona, se observar que el clúster 2 está presente en las zonas Norte, Oeste y Sur, en estas zonas como se había mencionado se encuentran las propiedades más costosas, y existe presencia de valores atípicos en relación con el precio en estas zonas según lo observado.
Por último, para el clúster 3 los precios más bajos para este grupo se encuentran en la zona Oriente, para las zonas Centro, Norte y Oriente los precios son relativamente homogéneos; y para la zona Oeste se encuentran los precios más altos para el clúster 3.
## Reading layer `mazanascali' from data source
## `C:\Users\juanr\Downloads\mazanascali.shp' using driver `ESRI Shapefile'
## Simple feature collection with 16071 features and 25 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -76.63822 ymin: 3.297279 xmax: -76.46032 ymax: 3.521935
## Geodetic CRS: MAGNA-SIRGAS
Por último, se realiza un mapa de la ciudad de Santiago de Cali, Colombia, donde se plasma como se distribuyen los clústeres en la ciudad. Recordemos las características de cada uno de los clústeres.
Clúster 1:
Esta presente en todas las zonas (Norte, Sur, Centro, Oeste y Oriente).
Los precios en promedio del clúster son de 263 millones de pesos. Y el 50% de las propiedades tiene un precio igual o menor a 250 millones de pesos.
En promedio el número de habitaciones es de 3.
Las propiedades cuentan con 2 baños, esto entre los 50% de las propiedades.
El 75% de las viviendas tienen un estrato igual o menos al 5.
El 77.3% de las propiedades corresponden a Apartamentos y el 22.7% a Casas.
Clúster 2:
Está presente solo en las zonas Norte, Oeste y Sur.
Los precios en promedio del clúster son de 866 millones de pesos. Y el 50% de las propiedades tiene un precio igual o menor a 760 millones de pesos.
En promedio el número de habitaciones es de 4.
Las propiedades cuentan con 4 baños, esto entre los 50% de las propiedades.
El 75% de las viviendas tienen un estrato igual o menos al 6.
El 49.7% de las propiedades corresponden a Apartamentos y el 50.3% a Casas.
Clúster 3:
Está presente en todas las zonas (Norte, Sur, Centro, Oeste y Oriente).
Los precios en promedio del clúster son de 464 millones de pesos. Y el 50% de las propiedades tiene un precio igual o menor a 420 millones de pesos.
En promedio el número de habitaciones es de 6.
Las propiedades cuentan con 4 baños, esto entre los 50% de las propiedades.
El 75% de las viviendas tienen un estrato igual o menos al 5.
El 2.88% de las propiedades corresponden a Apartamentos y el 97.1% a Casas.
Examinar la relación entre las variables categóricas (tipo de vivienda, zona y barrio), para identificar patrones de comportamiento de la oferta en mercado inmobiliario.
## tipo zona barrio
## 1147 Casa Zona Oriente 20 de julio
## 1169 Casa Zona Oriente 20 de julio
## 1350 Casa Zona Oriente 20 de julio
## 5992 Casa Zona Sur 3 de julio
## 1212 Apartamento Zona Norte acopi
## 1724 Apartamento Zona Norte acopi
Se revisa si la base tiene datos faltantes (rectángulos de color rojo)
## /\ /\
## { `---' }
## { O O }
## ==> V <== No need for mice. This data set is completely observed.
## \ \|/ /
## `-----'
## tipo zona barrio
## 8319 1 1 1 0
## 0 0 0 0
Observamos la frecuencia de los datos para las variables zona y tipo.
Se ve que hay una gran concentración de propiedades en la zona sur y también, aunque en menos cantidad en la zona norte. Por otro lado, hay mayor cantidad de apartamentos que de casas.
##
## Zona Centro Zona Norte Zona Oeste Zona Oriente ZonaSur Sum
## Apartamento 24 1198 1029 62 2787 5100
## Casa 100 722 169 289 1939 3219
## Sum 124 1920 1198 351 4726 8319
Antes de realizar el Análisis de Correspondencia se aplica el test de chi-cuadrado de Pearson como paso previo cuando se tienen dos variables categóricas y se desea explorar la relación entre ellas.
En este caso se realiza el test de chi-cuadrado para las variables “Zona” y “Tipo” (Apartamento y Casa), lo cual es apropiado antes de realizar un análisis de correspondencia para determinar si existe una asociación significativa entre estas dos variables categóricas.
##
## Pearson's Chi-squared test
##
## data: tabla2
## X-squared = 690.93, df = 4, p-value < 2.2e-16
El resultado del test muestra un valor de chi-cuadrado de 690.93 con 4 grados de libertad y un valor p muy pequeño (< 2.2e-16), lo que indica que hay una relación significativa entre las variables “Zona” y “Tipo”. Esto sugiere que estas variables no son independientes entre sí y que hay una asociación entre las zonas y el tipo de vivienda (apartamento o casa).
Por lo tanto, es adecuado proceder con el análisis de correspondencia para explorar más a fondo la relación entre estas variables y visualizar patrones en los datos.
Los resultados indican que el primer componente contiene el 25.8% de la varianza de los datos y el segundo componente el 20.0%, es decir que entre ambos se aporta el 45.8.% de los datos categoricos.
A continuación, se realiza el análisis de componentes principales para las 3 variables categóricas: Zona, Barrio y tipo.
En el gráfico, se nota la proximidad entre las variables “zona” y “barrio”, lo cual sugiere una similitud en sus perfiles de categorías. En contraste, la variable “tipo” está más alejada, indicando diferencias significativas en sus perfiles de categorías.
Interpretación de Variables Cercanas: La proximidad entre las variables “zona” y “barrio” en el gráfico sugiere que comparten categorías que están relacionadas en el conjunto de datos. Eso se debe a que hay ciertos tipos de barrios que solo están en una zona específica.
| eigenvalue | variance.percent | cumulative.variance.percent | |
|---|---|---|---|
| Dim.1 | 0.711 | 0.4848 | 0.4848 |
| Dim.2 | 0.6602 | 0.4501 | 0.9349 |
| Dim.3 | 0.6508 | 0.4438 | 1.379 |
| Dim.4 | 0.6232 | 0.4249 | 1.804 |
| Dim.5 | 0.4442 | 0.3029 | 2.106 |
| Dim.6 | 0.3333 | 0.2273 | 2.334 |
Si queremos ver las coordenadas puntuales de cada categoría en cada dimensión:
| Dim 1 | Dim 2 | Dim 3 | Dim 4 | Dim 5 | |
|---|---|---|---|---|---|
| Apartamento | -0.46 | -0.01 | -0.02 | -0.06 | -0.5 |
| Casa | 0.72 | 0.01 | 0.04 | 0.1 | 0.8 |
| Zona Centro | 2.01 | 0.24 | 0.77 | 7.44 | -1.13 |
| Zona Norte | -0.06 | 1.6 | -0.84 | -0.07 | 0.04 |
| Zona Oeste | -1.73 | 0.16 | 1.57 | 0.26 | 0.51 |
| Zona Oriente | 2.93 | 1.09 | 3.06 | -1.41 | -0.95 |
| Zona Sur | 0.19 | -0.78 | -0.3 | -0.13 | -0.04 |
| 20 de julio | 3.22 | 1.12 | 3.25 | -1.51 | -0.45 |
| 3 de julio | 0.81 | -0.78 | -0.28 | -0.03 | 2.26 |
| acopi | 0.01 | 1.62 | -0.88 | -0.07 | 0.32 |
| agua blanca | 3.22 | 1.12 | 3.25 | -1.51 | -0.45 |
| aguablanca | 1.49 | 0.16 | 1.45 | -0.87 | -1.05 |
| aguacatal | -1.81 | 0.15 | 1.61 | 0.24 | 0.41 |
| alameda | 1.65 | -0.07 | 0.48 | 5.91 | -0.96 |
| alameda del rio | -0.45 | 1.63 | -0.91 | -0.15 | -1.41 |
Se puede observar cómo las elipses de concentración de los puntos correspondientes a las categorías de la variable tipo están diferenciadas entre sí horizontalmente, indicando que ambas dimensiones discriminan entre estas dos categorías de la variable.
fviz_ellipses(mca_result,1:2 ,
geom = "point")
## Warning: `gather_()` was deprecated in tidyr 1.2.0.
## ℹ Please use `gather()` instead.
## ℹ The deprecated feature was likely used in the factoextra package.
## Please report the issue at <https://github.com/kassambara/factoextra/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Al realizar entre ambas variables categóricas, en este caso son Tipo y
Zona, deducimos que la zonas centro y Oeste pertenecen a la dimensión 1
y las zonas Norte y Sur en la dimensión 2.
A continuación, se detalla un poco más la distribución individual de la variable Zona, donde se confirma lo anteriormente mencionado. En resumen, la dimensión 1 esta compuesta por zona Centro, Oeste y Oriente; y la dimensión 2 está compuesta por Zona Norte y Sur.
fviz_mca_ind(mca_result,
label = "none",
habillage = "zona",
pallette = c("#CCCCFF", "#F08080"),
addEllipses = TRUE,
ggtheme = theme_grey())
En este trabajo se aplican 3 algoritmos el Análisis de Componentes Principales (PCA), el Análisis de Conglomerados y en Análisis de correspondencia, con el fin identificar patrones, relaciones y segmentaciones relevantes que permitan mejorar la toma de decisiones en cuanto a la compra, venta y valoración de propiedades.
En relación con el Análisis de Componentes Principales (PCA) se encontró que:
La dimensión 1 explica el 58.7% de la variabilidad en los datos, destacando la influencia significativa de variables como área construida, baños y precio en la estructura de las propiedades.
La dimensión 2, con el 23.8% de explicación, resalta la relación clave entre habitaciones y estrato.
En la dimensión 1 las propiedades tienden a diferenciarse principalmente por su tamaño (área construida) y comodidades (baños y precio).
En la dimensión 2 la estratificación y el número de habitaciones juegan un papel destacado en la diferenciación de las propiedades.
En relación con el Análisis de conglomerados o clustering se encontró que:
Los clústeres 2 y 3 es donde se ubican menos propiedades entre los dos dan una suma de 3049 propiedades, en cambio en el clúster 1 hay un total de 5270 propiedades.
En el clúster 1 los precios son significativamente menores que en los otros dos clústeres.
Las propiedades con estratos más altos se encuentran se encuentran en los clústeres 2 y 3, a su vez en estos es donde se encuentran los precios más altos para las viviendas (866 millones y 464 millones en promedio, respectivamente).
Con relación a las características físicas o estructurales de las propiedades en los clústeres 2 y 3 el 50% de las propiedades cuentan con al menos 4 baños, en cambio en el clúster 1 el 50% de las propiedades cuentan con 2 baños.
En la misma línea, en relación con la cantidad de habitaciones hay diferencia entre los 3 clúster, donde el clúster 1 la media es de 3 habitaciones; en el clúster 2 la media es de 4 habitaciones; y en el clúster 3 la media es de 6 habitaciones.
El área construida en el 50% de las propiedades son de: el cluster 1 de 90 m2; clúster 2 de 250 m2; clúster 3 de 280 m2.
En relación con el Análisis de Correspondencia se encontró que:
Existe una relación entre las variables “zona” y “barrio”, lo que indica una similitud en sus patrones de categorías. Por otro lado, la variable “tipo” se encuentra más distante, señalando diferencias significativas en sus perfiles de categorías.
Se observaron agrupamientos claros de propiedades en la gráfica “PCA graph of individuals”, lo que sugiere la existencia de segmentos distintos en el mercado inmobiliario, como propiedades de lujo, propiedades urbanas, etc.