Introducción

En este informe se realiza un Análisis de Componentes Principales (PCA) con el objetivo de reducir la dimensionalidad del conjunto de datos de vivienda y analizar las principales variables que influyen en la variación de precios y características del mercado inmobiliario urbano.

Carga de datos y preparación

library(paqueteMODELOS)
## Cargando paquete requerido: boot
## Cargando paquete requerido: broom
## Cargando paquete requerido: GGally
## Warning: package 'GGally' was built under R version 4.5.2
## Cargando paquete requerido: ggplot2
## Warning: package 'ggplot2' was built under R version 4.5.2
## Cargando paquete requerido: gridExtra
## Cargando paquete requerido: knitr
## Cargando paquete requerido: summarytools
data("vivienda")
str(vivienda)
## 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")=List of 3
##   ..$ cols   :List of 13
##   .. ..$ id          : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ zona        : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ piso        : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ estrato     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ preciom     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ areaconst   : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ parqueaderos: list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ banios      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ habitaciones: list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ tipo        : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ barrio      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ longitud    : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ latitud     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   ..$ default: list()
##   .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
##   ..$ delim  : chr ";"
##   ..- attr(*, "class")= chr "col_spec"
##  - attr(*, "problems")=<externalptr>

1. Análisis de Componentes Principales

Se aplica PCA para reducir la dimensionalidad de las variables numéricas y detectar patrones dominantes en las propiedades.

# Se toman solo los campos numéricos
vivienda_num <- vivienda[, c("estrato",
                             "preciom",
                             "areaconst",
                             "parqueaderos",
                             "banios",
                             "habitaciones",
                             "longitud",
                             "latitud")]

str(vivienda_num)
## spc_tbl_ [8,322 × 8] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ 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 ...
##  $ 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")=List of 3
##   ..$ cols   :List of 13
##   .. ..$ id          : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ zona        : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ piso        : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ estrato     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ preciom     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ areaconst   : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ parqueaderos: list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ banios      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ habitaciones: list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ tipo        : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ barrio      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ longitud    : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ latitud     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   ..$ default: list()
##   .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
##   ..$ delim  : chr ";"
##   ..- attr(*, "class")= chr "col_spec"
##  - attr(*, "problems")=<externalptr>
#Se identifican variables con campos nulos
colSums(is.na(vivienda_num))
##      estrato      preciom    areaconst parqueaderos       banios habitaciones 
##            3            2            3         1605            3            3 
##     longitud      latitud 
##            3            3
# Reemplazar NA en parqueaderos por 0
vivienda_num$parqueaderos[is.na(vivienda_num$parqueaderos)] <- 0

# Verificar nuevamente
colSums(is.na(vivienda_num))
##      estrato      preciom    areaconst parqueaderos       banios habitaciones 
##            3            2            3            0            3            3 
##     longitud      latitud 
##            3            3
# Eliminar filas con cualquier NA restante
vivienda_num <- na.omit(vivienda_num)

# Verificar que ya no haya NA
colSums(is.na(vivienda_num))
##      estrato      preciom    areaconst parqueaderos       banios habitaciones 
##            0            0            0            0            0            0 
##     longitud      latitud 
##            0            0
# Ver cuántas observaciones quedaron
nrow(vivienda_num)
## [1] 8319
pca_vivienda <- prcomp(vivienda_num, scale. = TRUE)

summary(pca_vivienda)
## Importance of components:
##                           PC1    PC2    PC3     PC4     PC5     PC6     PC7
## Standard deviation     1.8998 1.2258 0.9506 0.83289 0.66053 0.65321 0.48970
## Proportion of Variance 0.4512 0.1878 0.1129 0.08671 0.05454 0.05334 0.02998
## Cumulative Proportion  0.4512 0.6390 0.7519 0.83865 0.89318 0.94652 0.97649
##                            PC8
## Standard deviation     0.43366
## Proportion of Variance 0.02351
## Cumulative Proportion  1.00000
plot(pca_vivienda, type = "l")

pca_vivienda$rotation
##                     PC1         PC2          PC3         PC4         PC5
## estrato       0.3475716 -0.43782644  0.245420545 -0.08934508  0.43721104
## preciom       0.4643619 -0.03915898  0.217996847 -0.12221942  0.21085060
## areaconst     0.4111907  0.29817458  0.001360553 -0.04660611  0.12300943
## parqueaderos  0.3998506 -0.10637019  0.192727883 -0.33510245 -0.80765836
## banios        0.4434694  0.22226311 -0.105999384  0.04083449  0.20751612
## habitaciones  0.2493901  0.57630455 -0.349109009  0.25674156 -0.08438976
## longitud     -0.2450610  0.42748996  0.099508516 -0.82320382  0.21394468
## latitud      -0.1252530  0.37719543  0.843851485  0.34258703 -0.03143726
##                      PC6         PC7         PC8
## estrato      -0.40896238  0.48479324  0.16081052
## preciom       0.26794552 -0.21780051 -0.74611295
## areaconst     0.67233490  0.27398506  0.44452988
## parqueaderos -0.14011568  0.04344879  0.07439762
## banios       -0.36404799 -0.66605196  0.34901516
## habitaciones -0.35586700  0.44095890 -0.29946053
## longitud     -0.14509140  0.05007879 -0.01729826
## latitud      -0.09520807 -0.00223570  0.05026135

El primer componente principal (PC1) está fuertemente asociado con variables como área construida, precio por metro cuadrado y número de baños, lo que sugiere que captura una dimensión relacionada con la escala y nivel socioeconómico del inmueble.

library(factoextra)
## Warning: package 'factoextra' was built under R version 4.5.2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
fviz_pca_var(pca_vivienda,
             col.var = "contrib",
             gradient.cols = c("blue", "orange", "red"),
             repel = TRUE)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## ℹ The deprecated feature was likely used in the ggpubr package.
##   Please report the issue at <https://github.com/kassambara/ggpubr/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## ℹ 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.

Interpretación de los Componentes Principales

El análisis de componentes principales (ACP) nos permitió identificar la estructura subyacente del conjunto de datos mediante la transformación ortogonal de las variables originales en un nuevo conjunto de ejes no correlacionados. Los resultados mostraron que los dos primeros componentes principales explicaron aproximadamente el 63,9 % de la varianza total, logrando una reducción significativa de la dimensionalidad sin pérdida significativa de información.

El primer componente principal (ACP1) representó la mayor proporción de varianza, con una alta carga en variables como la superficie construida, el precio por metro cuadrado y el número de baños. La orientación común de estas variables en el espacio factorial sugiere una fuerte correlación positiva entre ellas. Desde una perspectiva económica y estructural, este componente puede interpretarse como una dimensión latente relacionada con el nivel estructural y la valoración inmobiliaria, que captura la diferencia entre propiedades de gran tamaño, servicios y valor de mercado, y aquellas de menor tamaño y precio.

El gráfico de sedimentos muestra una marcada disminución de la varianza explicada después del primer componente principal, lo que indica que la mayor parte de la estructura del mercado se concentra en la dimensión dominante. El segundo componente captura la varianza residual asociada con patrones relacionados, pero secundarios, dentro del sistema.

La visualización de la contribución confirma que las variables relacionadas con el valor económico y las características físicas de los bienes inmuebles constituyen principalmente la composición del mercado inmobiliario urbano.

Conclusión del Análisis Multidimensional

El análisis de componentes principales (ACP) nos permitió integrar la información de las ocho variables originales en un espacio bidimensional que conserva una parte significativa de la variabilidad general del sistema. Los resultados sugieren que el mercado inmobiliario urbano tiene una estructura relativamente compacta, dominada por dimensiones centrales relacionadas con el tamaño físico y económico de las propiedades.

Desde una perspectiva analítica, la evidencia empírica sugiere que variables estructurales como la superficie construida y el número de baños, junto con el precio, constituyen determinantes clave de la diferenciación en la oferta inmobiliaria. Esto sugiere que el comportamiento del mercado puede comprenderse en gran medida a través de las dimensiones estructurales de valoración que resumen la heterogeneidad observada en las características de las propiedades.

Por lo tanto, el ACP no solo reduce la dimensionalidad, sino que también proporciona una interpretación sustantiva de los factores dominantes que estructuran el mercado inmobiliario urbano analizado.

2. Análisis de Conglomerados

Se aplica k-means para segmentar las propiedades en grupos homogéneos según características relevantes identificadas en el PCA.

# Preparar los datos (scores de PCA)

# Extraer los scores de los dos primeros componentes
pca_scores <- as.data.frame(pca_vivienda$x[, 1:2])

head(pca_scores)
##          PC1         PC2
## 1 -1.1796004  2.02639707
## 2 -1.7499046  0.76404924
## 3 -0.8909210  1.22204566
## 4  1.1211510  0.29126601
## 5 -1.3037248  0.05317749
## 6 -0.7187746 -0.67016662
#Encontrar el número óptimo de clusters

# Instala el paquete si no lo tienes
#install.packages("factoextra")

# Cárgalo
library(factoextra)

# Ahora prueba de nuevo
fviz_nbclust(pca_scores, kmeans, method = "wss")
## Warning: Quick-TRANSfer stage steps exceeded maximum (= 415950)

El número de clusters se selecciona observando el gráfico de codo (WSS), donde la disminución de la suma de cuadrados dentro de los clusters se estabiliza a partir de 4, indicando que este valor captura la estructura principal de los datos.

#Aplicar el algoritmo k-means con el número elegido
# Establecemos semilla para reproducibilidad (que los resultados sean iguales cada vez que corras)
set.seed(123)

# Ejecutar k-means con 4 clusters
kmeans_result <- kmeans(pca_scores, centers = 4, nstart = 25)
# Añadir la información de cluster al dataframe original
vivienda_num$cluster <- factor(kmeans_result$cluster)

# Mirar las primeras filas con el nuevo dato
head(vivienda_num)
## # A tibble: 6 × 9
##   estrato preciom areaconst parqueaderos banios habitaciones longitud latitud
##     <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>    <dbl>   <dbl>
## 1       3     250        70            1      3            6    -76.5    3.43
## 2       3     320       120            1      2            3    -76.5    3.43
## 3       3     350       220            2      2            4    -76.5    3.44
## 4       4     400       280            3      5            3    -76.5    3.44
## 5       5     260        90            1      2            3    -76.5    3.46
## 6       5     240        87            1      3            3    -76.5    3.37
## # ℹ 1 more variable: cluster <fct>
#Analizar y describir cada cluster
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following object is masked from 'package:gridExtra':
## 
##     combine
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
resumen_clusters <- vivienda_num %>%
  group_by(cluster) %>%
  summarise(
    promedio_precio = mean(preciom),
    promedio_banios = mean(banios),
    promedio_estrato = mean(estrato),
    promedio_area = mean(areaconst),
    n = n()
  )

print(resumen_clusters)
## # A tibble: 4 × 6
##   cluster promedio_precio promedio_banios promedio_estrato promedio_area     n
##   <fct>             <dbl>           <dbl>            <dbl>         <dbl> <int>
## 1 1                  437.            4.18             3.99         285.   1041
## 2 2                 1030.            5.11             5.70         380.   1241
## 3 3                  417.            3.03             5.21         140.   3060
## 4 4                  202.            1.99             3.83          87.0  2977
# Visualizar los clusters
fviz_cluster(kmeans_result, data = pca_scores,
             geom = "point",
             ellipse.type = "convex",
             palette = "jco",
             ggtheme = theme_minimal())

3. Análisis de Correspondencia.

Se aplica MCA para explorar relaciones entre variables categóricas (tipo, zona, barrio) y detectar asociaciones relevantes en la oferta inmobiliaria.

# Selección de variables categóricas
vivienda_cat <- vivienda[, c("tipo", "zona", "barrio")]

# Revisión de estructura
str(vivienda_cat)
## spc_tbl_ [8,322 × 3] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ tipo  : chr [1:8322] "Casa" "Casa" "Casa" "Casa" ...
##  $ zona  : chr [1:8322] "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
##  $ barrio: chr [1:8322] "20 de julio" "20 de julio" "20 de julio" "3 de julio" ...
##  - attr(*, "spec")=List of 3
##   ..$ cols   :List of 13
##   .. ..$ id          : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ zona        : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ piso        : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ estrato     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ preciom     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ areaconst   : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ parqueaderos: list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ banios      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ habitaciones: list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ tipo        : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ barrio      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ longitud    : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ latitud     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   ..$ default: list()
##   .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
##   ..$ delim  : chr ";"
##   ..- attr(*, "class")= chr "col_spec"
##  - attr(*, "problems")=<externalptr>
# Ver primeras filas
head(vivienda_cat)
## # A tibble: 6 × 3
##   tipo        zona         barrio     
##   <chr>       <chr>        <chr>      
## 1 Casa        Zona Oriente 20 de julio
## 2 Casa        Zona Oriente 20 de julio
## 3 Casa        Zona Oriente 20 de julio
## 4 Casa        Zona Sur     3 de julio 
## 5 Apartamento Zona Norte   acopi      
## 6 Apartamento Zona Norte   acopi
library(FactoMineR)
## Warning: package 'FactoMineR' was built under R version 4.5.2
library(factoextra)

# Realizar el Análisis de Correspondencia Múltiple (MCA)

# Ejecutar MCA
mca_vivienda <- MCA(vivienda_cat, graph = FALSE)

# Resumen
summary(mca_vivienda)
## 
## Call:
## MCA(X = vivienda_cat, graph = FALSE) 
## 
## 
## Eigenvalues
##                        Dim.1   Dim.2   Dim.3   Dim.4   Dim.5   Dim.6   Dim.7
## Variance               1.000   0.711   0.660   0.651   0.623   0.444   0.333
## % of var.              0.677   0.481   0.447   0.441   0.422   0.301   0.226
## Cumulative % of var.   0.677   1.159   1.606   2.047   2.469   2.769   2.995
##                        Dim.8   Dim.9  Dim.10  Dim.11  Dim.12  Dim.13  Dim.14
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.   3.221   3.447   3.672   3.898   4.124   4.350   4.575
##                       Dim.15  Dim.16  Dim.17  Dim.18  Dim.19  Dim.20  Dim.21
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.   4.801   5.027   5.252   5.478   5.704   5.930   6.155
##                       Dim.22  Dim.23  Dim.24  Dim.25  Dim.26  Dim.27  Dim.28
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.   6.381   6.607   6.833   7.058   7.284   7.510   7.736
##                       Dim.29  Dim.30  Dim.31  Dim.32  Dim.33  Dim.34  Dim.35
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.   7.961   8.187   8.413   8.638   8.864   9.090   9.316
##                       Dim.36  Dim.37  Dim.38  Dim.39  Dim.40  Dim.41  Dim.42
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.   9.541   9.767   9.993  10.219  10.444  10.670  10.896
##                       Dim.43  Dim.44  Dim.45  Dim.46  Dim.47  Dim.48  Dim.49
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  11.122  11.347  11.573  11.799  12.024  12.250  12.476
##                       Dim.50  Dim.51  Dim.52  Dim.53  Dim.54  Dim.55  Dim.56
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  12.702  12.927  13.153  13.379  13.605  13.830  14.056
##                       Dim.57  Dim.58  Dim.59  Dim.60  Dim.61  Dim.62  Dim.63
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  14.282  14.508  14.733  14.959  15.185  15.410  15.636
##                       Dim.64  Dim.65  Dim.66  Dim.67  Dim.68  Dim.69  Dim.70
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  15.862  16.088  16.313  16.539  16.765  16.991  17.216
##                       Dim.71  Dim.72  Dim.73  Dim.74  Dim.75  Dim.76  Dim.77
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  17.442  17.668  17.894  18.119  18.345  18.571  18.796
##                       Dim.78  Dim.79  Dim.80  Dim.81  Dim.82  Dim.83  Dim.84
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  19.022  19.248  19.474  19.699  19.925  20.151  20.377
##                       Dim.85  Dim.86  Dim.87  Dim.88  Dim.89  Dim.90  Dim.91
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  20.602  20.828  21.054  21.280  21.505  21.731  21.957
##                       Dim.92  Dim.93  Dim.94  Dim.95  Dim.96  Dim.97  Dim.98
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  22.182  22.408  22.634  22.860  23.085  23.311  23.537
##                       Dim.99 Dim.100 Dim.101 Dim.102 Dim.103 Dim.104 Dim.105
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  23.763  23.988  24.214  24.440  24.666  24.891  25.117
##                      Dim.106 Dim.107 Dim.108 Dim.109 Dim.110 Dim.111 Dim.112
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  25.343  25.568  25.794  26.020  26.246  26.471  26.697
##                      Dim.113 Dim.114 Dim.115 Dim.116 Dim.117 Dim.118 Dim.119
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  26.923  27.149  27.374  27.600  27.826  28.052  28.277
##                      Dim.120 Dim.121 Dim.122 Dim.123 Dim.124 Dim.125 Dim.126
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  28.503  28.729  28.954  29.180  29.406  29.632  29.857
##                      Dim.127 Dim.128 Dim.129 Dim.130 Dim.131 Dim.132 Dim.133
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  30.083  30.309  30.535  30.760  30.986  31.212  31.438
##                      Dim.134 Dim.135 Dim.136 Dim.137 Dim.138 Dim.139 Dim.140
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  31.663  31.889  32.115  32.341  32.566  32.792  33.018
##                      Dim.141 Dim.142 Dim.143 Dim.144 Dim.145 Dim.146 Dim.147
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  33.243  33.469  33.695  33.921  34.146  34.372  34.598
##                      Dim.148 Dim.149 Dim.150 Dim.151 Dim.152 Dim.153 Dim.154
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  34.824  35.049  35.275  35.501  35.727  35.952  36.178
##                      Dim.155 Dim.156 Dim.157 Dim.158 Dim.159 Dim.160 Dim.161
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  36.404  36.629  36.855  37.081  37.307  37.532  37.758
##                      Dim.162 Dim.163 Dim.164 Dim.165 Dim.166 Dim.167 Dim.168
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  37.984  38.210  38.435  38.661  38.887  39.113  39.338
##                      Dim.169 Dim.170 Dim.171 Dim.172 Dim.173 Dim.174 Dim.175
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  39.564  39.790  40.015  40.241  40.467  40.693  40.918
##                      Dim.176 Dim.177 Dim.178 Dim.179 Dim.180 Dim.181 Dim.182
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  41.144  41.370  41.596  41.821  42.047  42.273  42.499
##                      Dim.183 Dim.184 Dim.185 Dim.186 Dim.187 Dim.188 Dim.189
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  42.724  42.950  43.176  43.401  43.627  43.853  44.079
##                      Dim.190 Dim.191 Dim.192 Dim.193 Dim.194 Dim.195 Dim.196
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  44.304  44.530  44.756  44.982  45.207  45.433  45.659
##                      Dim.197 Dim.198 Dim.199 Dim.200 Dim.201 Dim.202 Dim.203
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  45.885  46.110  46.336  46.562  46.787  47.013  47.239
##                      Dim.204 Dim.205 Dim.206 Dim.207 Dim.208 Dim.209 Dim.210
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  47.465  47.690  47.916  48.142  48.368  48.593  48.819
##                      Dim.211 Dim.212 Dim.213 Dim.214 Dim.215 Dim.216 Dim.217
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  49.045  49.271  49.496  49.722  49.948  50.173  50.399
##                      Dim.218 Dim.219 Dim.220 Dim.221 Dim.222 Dim.223 Dim.224
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  50.625  50.851  51.076  51.302  51.528  51.754  51.979
##                      Dim.225 Dim.226 Dim.227 Dim.228 Dim.229 Dim.230 Dim.231
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  52.205  52.431  52.657  52.882  53.108  53.334  53.559
##                      Dim.232 Dim.233 Dim.234 Dim.235 Dim.236 Dim.237 Dim.238
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  53.785  54.011  54.237  54.462  54.688  54.914  55.140
##                      Dim.239 Dim.240 Dim.241 Dim.242 Dim.243 Dim.244 Dim.245
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  55.365  55.591  55.817  56.043  56.268  56.494  56.720
##                      Dim.246 Dim.247 Dim.248 Dim.249 Dim.250 Dim.251 Dim.252
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  56.945  57.171  57.397  57.623  57.848  58.074  58.300
##                      Dim.253 Dim.254 Dim.255 Dim.256 Dim.257 Dim.258 Dim.259
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  58.526  58.751  58.977  59.203  59.429  59.654  59.880
##                      Dim.260 Dim.261 Dim.262 Dim.263 Dim.264 Dim.265 Dim.266
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  60.106  60.331  60.557  60.783  61.009  61.234  61.460
##                      Dim.267 Dim.268 Dim.269 Dim.270 Dim.271 Dim.272 Dim.273
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  61.686  61.912  62.137  62.363  62.589  62.815  63.040
##                      Dim.274 Dim.275 Dim.276 Dim.277 Dim.278 Dim.279 Dim.280
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  63.266  63.492  63.717  63.943  64.169  64.395  64.620
##                      Dim.281 Dim.282 Dim.283 Dim.284 Dim.285 Dim.286 Dim.287
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  64.846  65.072  65.298  65.523  65.749  65.975  66.201
##                      Dim.288 Dim.289 Dim.290 Dim.291 Dim.292 Dim.293 Dim.294
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  66.426  66.652  66.878  67.103  67.329  67.555  67.781
##                      Dim.295 Dim.296 Dim.297 Dim.298 Dim.299 Dim.300 Dim.301
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  68.006  68.232  68.458  68.684  68.909  69.135  69.361
##                      Dim.302 Dim.303 Dim.304 Dim.305 Dim.306 Dim.307 Dim.308
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  69.587  69.812  70.038  70.264  70.489  70.715  70.941
##                      Dim.309 Dim.310 Dim.311 Dim.312 Dim.313 Dim.314 Dim.315
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  71.167  71.392  71.618  71.844  72.070  72.295  72.521
##                      Dim.316 Dim.317 Dim.318 Dim.319 Dim.320 Dim.321 Dim.322
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  72.747  72.973  73.198  73.424  73.650  73.875  74.101
##                      Dim.323 Dim.324 Dim.325 Dim.326 Dim.327 Dim.328 Dim.329
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  74.327  74.553  74.778  75.004  75.230  75.456  75.681
##                      Dim.330 Dim.331 Dim.332 Dim.333 Dim.334 Dim.335 Dim.336
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  75.907  76.133  76.359  76.584  76.810  77.036  77.261
##                      Dim.337 Dim.338 Dim.339 Dim.340 Dim.341 Dim.342 Dim.343
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  77.487  77.713  77.939  78.164  78.390  78.616  78.842
##                      Dim.344 Dim.345 Dim.346 Dim.347 Dim.348 Dim.349 Dim.350
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  79.067  79.293  79.519  79.745  79.970  80.196  80.422
##                      Dim.351 Dim.352 Dim.353 Dim.354 Dim.355 Dim.356 Dim.357
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  80.648  80.873  81.099  81.325  81.550  81.776  82.002
##                      Dim.358 Dim.359 Dim.360 Dim.361 Dim.362 Dim.363 Dim.364
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  82.228  82.453  82.679  82.905  83.131  83.356  83.582
##                      Dim.365 Dim.366 Dim.367 Dim.368 Dim.369 Dim.370 Dim.371
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  83.808  84.034  84.259  84.485  84.711  84.936  85.162
##                      Dim.372 Dim.373 Dim.374 Dim.375 Dim.376 Dim.377 Dim.378
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  85.388  85.614  85.839  86.065  86.291  86.517  86.742
##                      Dim.379 Dim.380 Dim.381 Dim.382 Dim.383 Dim.384 Dim.385
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  86.968  87.194  87.420  87.645  87.871  88.097  88.322
##                      Dim.386 Dim.387 Dim.388 Dim.389 Dim.390 Dim.391 Dim.392
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  88.548  88.774  89.000  89.225  89.451  89.677  89.903
##                      Dim.393 Dim.394 Dim.395 Dim.396 Dim.397 Dim.398 Dim.399
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  90.128  90.354  90.580  90.806  91.031  91.257  91.483
##                      Dim.400 Dim.401 Dim.402 Dim.403 Dim.404 Dim.405 Dim.406
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  91.708  91.934  92.160  92.386  92.611  92.837  93.063
##                      Dim.407 Dim.408 Dim.409 Dim.410 Dim.411 Dim.412 Dim.413
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  93.289  93.514  93.740  93.966  94.192  94.417  94.643
##                      Dim.414 Dim.415 Dim.416 Dim.417 Dim.418 Dim.419 Dim.420
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  94.869  95.094  95.320  95.546  95.772  95.997  96.223
##                      Dim.421 Dim.422 Dim.423 Dim.424 Dim.425 Dim.426 Dim.427
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  96.449  96.675  96.900  97.126  97.352  97.578  97.803
##                      Dim.428 Dim.429 Dim.430 Dim.431 Dim.432 Dim.433 Dim.434
## Variance               0.333   0.333   0.333   0.333   0.333   0.333   0.333
## % of var.              0.226   0.226   0.226   0.226   0.226   0.226   0.226
## Cumulative % of var.  98.029  98.255  98.480  98.706  98.932  99.158  99.383
##                      Dim.435 Dim.436 Dim.437 Dim.438 Dim.439 Dim.440 Dim.441
## Variance               0.333   0.333   0.161   0.046   0.018   0.012   0.006
## % of var.              0.226   0.226   0.109   0.031   0.012   0.008   0.004
## Cumulative % of var.  99.609  99.835  99.944  99.975  99.988  99.996 100.000
##                      Dim.442 Dim.443
## Variance               0.000   0.000
## % of var.              0.000   0.000
## Cumulative % of var. 100.000 100.000
## 
## Individuals (the 10 first)
##                 Dim.1    ctr   cos2    Dim.2    ctr   cos2    Dim.3    ctr
## 1            | -0.019  0.000  0.000 |  2.718  0.125  0.008 |  0.909  0.015
## 2            | -0.019  0.000  0.000 |  2.718  0.125  0.008 |  0.909  0.015
## 3            | -0.019  0.000  0.000 |  2.718  0.125  0.008 |  0.909  0.015
## 4            | -0.019  0.000  0.000 |  0.680  0.008  0.000 | -0.637  0.007
## 5            | -0.019  0.000  0.000 | -0.199  0.001  0.002 |  1.319  0.032
## 6            | -0.019  0.000  0.000 | -0.199  0.001  0.002 |  1.319  0.032
## 7            | -0.019  0.000  0.000 | -0.199  0.001  0.002 |  1.319  0.032
## 8            | -0.019  0.000  0.000 | -0.199  0.001  0.002 |  1.319  0.032
## 9            | -0.019  0.000  0.000 |  0.268  0.001  0.004 |  1.325  0.032
## 10           | -0.019  0.000  0.000 |  0.268  0.001  0.004 |  1.325  0.032
##                cos2  
## 1             0.001 |
## 2             0.001 |
## 3             0.001 |
## 4             0.000 |
## 5             0.094 |
## 6             0.094 |
## 7             0.094 |
## 8             0.094 |
## 9             0.093 |
## 10            0.093 |
## 
## Categories (the 10 first)
##                  Dim.1     ctr    cos2  v.test     Dim.2     ctr    cos2
## Apartamento  |  -0.019   0.007   0.001  -2.179 |  -0.457   5.995   0.330
## Casa         |  -0.019   0.005   0.000  -1.376 |   0.724   9.499   0.330
## tipo.NA      |  52.659  33.321   1.000  91.220 |   0.000   0.000   0.000
## Zona Centro  |  -0.019   0.000   0.000  -0.213 |   2.006   2.810   0.061
## Zona Norte   |  -0.019   0.003   0.000  -0.949 |  -0.057   0.035   0.001
## Zona Oeste   |  -0.019   0.002   0.000  -0.710 |  -1.726  20.094   0.501
## Zona Oriente |  -0.019   0.001   0.000  -0.364 |   2.929  16.962   0.378
## Zona Sur     |  -0.019   0.007   0.000  -1.986 |   0.190   0.964   0.048
## zona.NA      |  52.659  33.321   1.000  91.220 |   0.000   0.000   0.000
## 20 de julio  |  -0.019   0.000   0.000  -0.033 |   3.224   0.176   0.004
##               v.test     Dim.3     ctr    cos2  v.test  
## Apartamento  -52.426 |  -0.006   0.001   0.000  -0.648 |
## Casa          52.435 |   0.009   0.002   0.000   0.649 |
## tipo.NA        0.000 |   0.000   0.000   0.000   0.000 |
## Zona Centro   22.501 |   0.239   0.043   0.001   2.686 |
## Zona Norte    -2.831 |   1.602  29.908   0.770  80.046 |
## Zona Oeste   -64.547 |   0.157   0.178   0.004   5.857 |
## Zona Oriente  56.064 |   1.089   2.523   0.052  20.836 |
## Zona Sur      19.898 |  -0.778  17.346   0.795 -81.337 |
## zona.NA        0.000 |   0.000   0.000   0.000   0.000 |
## 20 de julio    5.584 |   1.119   0.023   0.000   1.939 |
## 
## Categorical variables (eta2)
##                Dim.1 Dim.2 Dim.3  
## tipo         | 1.000 0.330 0.000 |
## zona         | 1.000 0.872 0.990 |
## barrio       | 1.000 0.931 0.990 |
# Categorías más representativas
fviz_mca_var(mca_vivienda, 
             repel = TRUE, 
             col.var = "cos2", 
             gradient.cols = c("blue", "orange", "red"),
             select.var = list(cos2 = 0.3)) 

vivienda$barriogrupo <- ifelse(vivienda$barrio %in% c("Barrio1", "Barrio2", "Barrio3"), 
                               vivienda$barrio, "Otros")

vivienda_cat2 <- vivienda[, c("tipo", "zona", "barriogrupo")]

mca_vivienda2 <- MCA(vivienda_cat2, graph = FALSE)

fviz_mca_var(mca_vivienda2, repel = TRUE, col.var = "cos2", gradient.cols = c("blue", "orange", "red"))

Interpretación:

Este análisis revela cómo los tipos de vivienda, zonas y barrios se agrupan en dimensiones que reflejan patrones generales en el mercado inmobiliario. Las variables con las mayores contribuciones (cos²) ayudan a identificar los factores más importantes que definen estos patrones, como el tipo de vivienda predominante en una zona o barrio en particular. La recodificación de los barrios reduce la complejidad del gráfico, lo que permite un análisis más claro y preciso.

4. Visualización de resultados.

library(ggplot2)

ggplot(vivienda_num, aes(x = areaconst, y = preciom)) +
  geom_point(alpha = 0.5) +
  geom_smooth(method = "lm", se = TRUE, color = "blue") +
  labs(title = "Relación entre Área Construida y Precio por metro cuadrado",
       x = "Área Construida (m²)",
       y = "Precio por metro cuadrado") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

library(factoextra)

# Supongamos que ya tienes el kmeans con 3 clusters
set.seed(123)
kmeans_res <- kmeans(pca_scores, centers = 3, nstart = 25)

fviz_cluster(kmeans_res, data = pca_scores,
             geom = "point",
             ellipse.type = "norm",
             main = "Clusters de propiedades en el espacio PCA")

library(ggplot2)

ggplot(vivienda_num, aes(x = longitud, y = latitud, color = estrato)) +
  geom_point(alpha = 0.6) +
  labs(title = "Distribución espacial de las propiedades por estrato",
       x = "Longitud",
       y = "Latitud",
       color = "Estrato") +
  theme_minimal()

library(dplyr)

vivienda %>%
  count(zona) %>%
  ggplot(aes(x = reorder(zona, n), y = n)) +
  geom_bar(stat = "identity", fill = "steelblue") +
  coord_flip() +
  labs(title = "Número de propiedades por zona",
       x = "Zona",
       y = "Cantidad de propiedades") +
  theme_minimal()

Análisis de Resultados, Conclusiones y Recomendaciones

Análisis Detallado de los Resultados

El análisis de componentes principales identificó variables clave que influyen en las fluctuaciones de precios y las características de las propiedades, destacando la importancia de la superficie construida, el número de baños y el precio por metro cuadrado. Esto confirma que las dimensiones físicas y la calidad de la vivienda son factores determinantes del mercado.

El análisis de conglomerados dividió las propiedades en grupos homogéneos, revelando claras diferencias entre regiones y clases socioeconómicas. Esta división permite comprender las tendencias específicas de cada mercado local y desarrollar estrategias adaptadas a las circunstancias individuales.

El análisis de correspondencias reveló patrones de asociación entre tipos de vivienda, regiones y barrios, ilustrando cómo estas variables categóricas se combinan para definir la oferta y la demanda específicas.

Finalmente, la visualización de los resultados mediante gráficos y mapas presentó los hallazgos de forma clara y sencilla, facilitando la comunicación con los responsables de la toma de decisiones.

Hallazgos Clave

La elección de las técnicas multivariadas permite una comprensión más integral del mercado, facilitando decisiones estratégicas basadas en datos y la identificación de oportunidades específicas de inversión.

Las propiedades con mayor superficie construida y más servicios tienden a tener precios por metro cuadrado significativamente más altos.

Los segmentos de mercado están claramente definidos por región y nivel socioeconómico, lo que requiere estrategias de marketing personalizadas. La relación entre el tipo de vivienda y la ubicación geográfica es esencial para comprender la oferta y orientar la inversión inmobiliaria.

La combinación del análisis estadístico y la visualización permite una comprensión integral y práctica del mercado inmobiliario de una ciudad.

Recomendaciones para la empresa

Optimizar la oferta por segmento: Con base en los clústeres identificados, adaptar los productos y precios a las características y necesidades de cada grupo e implemente estrategias de marketing y desarrollo.

Invertir en propiedades de alto valor añadido: Priorizar proyectos que aumenten la superficie edificable o mejoren las características clave, lo que tendrá un impacto positivo en el precio.

Aprovechar los patrones geográficos: Con base en el análisis de correspondencias, centrar las inversiones y promociones en zonas con mayor potencial de crecimiento o demanda específica.

Utilizar continuamente el análisis multidimensional: Mantener estos análisis actualizados, adaptar las fluctuaciones del mercado y toma de decisiones basadas en datos para crear una ventaja competitiva sostenible.