Evaluación de la oferta inmobiliaria urbana

Problema

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.

Carga de librerias

library(paqueteMODELOS)
## Cargando paquete requerido: boot
## Cargando paquete requerido: broom
## Cargando paquete requerido: GGally
## Cargando paquete requerido: ggplot2
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
## Cargando paquete requerido: gridExtra
## Cargando paquete requerido: knitr
## Cargando paquete requerido: summarytools
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ lubridate 1.9.4     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::combine() masks gridExtra::combine()
## ✖ dplyr::filter()  masks stats::filter()
## ✖ dplyr::lag()     masks stats::lag()
## ✖ tibble::view()   masks summarytools::view()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
library(cluster)
library(knitr)
library(naniar)
library(dplyr)
library(psych)
## 
## Adjuntando el paquete: 'psych'
## 
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
## 
## The following object is masked from 'package:boot':
## 
##     logit
library(tidyr)
data(vivienda)
head(vivienda,5)
## # A tibble: 5 × 13
##      id zona    piso  estrato preciom areaconst parqueaderos banios habitaciones
##   <dbl> <chr>   <chr>   <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>
## 1  1147 Zona O… <NA>        3     250        70            1      3            6
## 2  1169 Zona O… <NA>        3     320       120            1      2            3
## 3  1350 Zona O… <NA>        3     350       220            2      2            4
## 4  5992 Zona S… 02          4     400       280            3      5            3
## 5  1212 Zona N… 01          5     260        90            1      2            3
## # ℹ 4 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>
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")=
##   .. 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>
if (!require(tidyverse)) {
  install.packages("tidyverse")
}
if (!require(ggplot2)) {
  install.packages("ggplot2")
}

# Instalar y cargar el paquete 'psych' para cálculos estadísticos
if (!requireNamespace("psych", quietly = TRUE)) {
  install.packages("psych")
}

# Instalar y cargar el paquete 'cluster' si no está instalado
if (!requireNamespace("cluster", quietly = TRUE)) {
  install.packages("cluster")
}

Analisis exploratorio de datos

La base de datos contiene información de 8322 viviendas (filas) con diferentes caracteristicas asignadas en 12 variables (columnas): zona, piso, estrato, preciom, areaconst, parqueaderos, banios, habitaciones, tipo, barrio, longitud y latitud. Las variables son 9 de tipo numérico y 3 de tipo texto. Existen datos faltantes (NA).

valores_faltantes <- colSums(is.na(vivienda))
data.frame(column = names(valores_faltantes), missing_count = valores_faltantes)
##                    column missing_count
## id                     id             3
## zona                 zona             3
## piso                 piso          2638
## estrato           estrato             3
## preciom           preciom             2
## areaconst       areaconst             3
## parqueaderos parqueaderos          1605
## banios             banios             3
## habitaciones habitaciones             3
## tipo                 tipo             3
## barrio             barrio             3
## longitud         longitud             3
## latitud           latitud             3
summarytools::view(dfSummary(vivienda))
## Switching method to 'browser'
## Output file written: C:\Users\ACER\AppData\Local\Temp\Rtmpq4hOId\file83c308d2c0a.html

Todas las variables tienen datos faltantes. Sin embargo las variables piso y parqueaderos tienen 2638 y 1605 respectivamente, es decir, un 31.7% y 19.3% de NA del total de datos.

Datos faltantes

kable(summary(vivienda))
id zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo barrio longitud latitud
Min. : 1 Length:8322 Length:8322 Min. :3.000 Min. : 58.0 Min. : 30.0 Min. : 1.000 Min. : 0.000 Min. : 0.000 Length:8322 Length:8322 Min. :-76.59 Min. :3.333
1st Qu.:2080 Class :character Class :character 1st Qu.:4.000 1st Qu.: 220.0 1st Qu.: 80.0 1st Qu.: 1.000 1st Qu.: 2.000 1st Qu.: 3.000 Class :character Class :character 1st Qu.:-76.54 1st Qu.:3.381
Median :4160 Mode :character Mode :character Median :5.000 Median : 330.0 Median : 123.0 Median : 2.000 Median : 3.000 Median : 3.000 Mode :character Mode :character Median :-76.53 Median :3.416
Mean :4160 NA NA Mean :4.634 Mean : 433.9 Mean : 174.9 Mean : 1.835 Mean : 3.111 Mean : 3.605 NA NA Mean :-76.53 Mean :3.418
3rd Qu.:6240 NA NA 3rd Qu.:5.000 3rd Qu.: 540.0 3rd Qu.: 229.0 3rd Qu.: 2.000 3rd Qu.: 4.000 3rd Qu.: 4.000 NA NA 3rd Qu.:-76.52 3rd Qu.:3.452
Max. :8319 NA NA Max. :6.000 Max. :1999.0 Max. :1745.0 Max. :10.000 Max. :10.000 Max. :10.000 NA NA Max. :-76.46 Max. :3.498
NA’s :3 NA NA NA’s :3 NA’s :2 NA’s :3 NA’s :1605 NA’s :3 NA’s :3 NA NA NA’s :3 NA’s :3
# Calcular el total de valores faltantes por columna
total_missing <- colSums(is.na(vivienda))

# Mostrar los resultados en una tabla
kable(data.frame(Columna = names(total_missing), valores_faltantes = total_missing))
Columna valores_faltantes
id id 3
zona zona 3
piso piso 2638
estrato estrato 3
preciom preciom 2
areaconst areaconst 3
parqueaderos parqueaderos 1605
banios banios 3
habitaciones habitaciones 3
tipo tipo 3
barrio barrio 3
longitud longitud 3
latitud latitud 3
# dataframe con los datos faltantes
missing_data <- data.frame(variables = names(total_missing), Valores_Faltantes = total_missing)

# Graficar los valores faltantes
ggplot(missing_data, aes(x = variables, y = Valores_Faltantes)) +
  geom_bar(stat = "identity", fill = "pink", color = "black") +
  geom_text(aes(label = Valores_Faltantes), vjust = -0.5, size = 3) +  # Agregar etiquetas
  labs(title = "Valores faltantes por variable", x = "variables", y = "Cantidad de valores faltantes") +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))

# Participación del total de filas por zona
total_rows <- nrow(vivienda)
zona_counts <- table(vivienda$zona)
participacion <- round(zona_counts / total_rows * 100, 2)  # Calcular la participación en porcentaje y redondear a dos decimales

# Crear el gráfico de barras con etiquetas de frecuencia y participación
ggplot(vivienda, aes(x = zona)) +
  geom_bar(fill = rainbow(length(unique(vivienda$zona))), color = "black") +
  stat_count(geom = "text", aes(label = paste(after_stat(count), " (", participacion, "%)")), vjust = -0.5, size = 3, angle = 90) +  # Etiquetas de frecuencia y participación
  labs(title = "Distribución y participación de las viviendas por zona",
       x = "Zonas de Cali",
       y = "Frecuencia") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))  # Rotar etiquetas del eje X para mejor visualización

Como se observa en el histograma, las zonas más importantes para el negocio inmobiliario son la zona sur con una participación de 56,8% y la zona norte con una participación de 23,7% representando en conjunto el 80,5% del mercado.

# Gráfico de dispersión para 'preciom' vs 'areaconst'
ggplot(vivienda, aes(x = areaconst, y = preciom)) +
  geom_point(color = "green") +
  labs(title = "Relación entre área construida y precio",
       x = "Área construida",
       y = "Precio")
## Warning: Removed 3 rows containing missing values or values outside the scale range
## (`geom_point()`).

Este grafico muestra que una gran cantidad de unidades se concentra en viviendas con precios promedio de 500 y una área construida promedio de 250 mts. Es decir, el mercado inmobiliario presenta una tendencia a viviendas más grandes con precios que se ajustan en base al área construida.

# Gráfico de cajas para 'estrato'
ggplot(vivienda, aes(x = as.factor(estrato), y = preciom, fill = as.factor(estrato))) +
  geom_boxplot() +
  scale_fill_manual(values = rainbow(length(unique(vivienda$estrato)))) +  # Asignar colores diferentes
  labs(title = "Precios según estrato",
       x = "Estrato",
       y = "Precio" ,
       fill = "Estrato")
## Warning: Removed 2 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

En general las viviendas de estrato 6 tienen precios más altos en comparación con el resto de estratos. Las viviendas del estrato 5 tienen precios en un rango más bajo en comparación con el estrato 6, pero se mantienen por encima de los precios de los estratos 3 y 4.

Reajuste de la base de datos.

Una vez analizados los datos se puede deducir que la variable ID,longitud y latitud, no resultan relevantes para el analisis del mercado inmobiliario y por eso se eliminan, pues no aportan información de interes. Adicionalmente, se revisan los valores ausentes o faltantes para su respectivo tratamiento.

##      zona               piso              estrato         preciom      
##  Length:8322        Length:8322        Min.   :3.000   Min.   :  58.0  
##  Class :character   Class :character   1st Qu.:4.000   1st Qu.: 220.0  
##  Mode  :character   Mode  :character   Median :5.000   Median : 330.0  
##                                        Mean   :4.634   Mean   : 433.9  
##                                        3rd Qu.:5.000   3rd Qu.: 540.0  
##                                        Max.   :6.000   Max.   :1999.0  
##                                        NA's   :3       NA's   :2       
##    areaconst       parqueaderos        banios        habitaciones   
##  Min.   :  30.0   Min.   : 1.000   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.:  80.0   1st Qu.: 1.000   1st Qu.: 2.000   1st Qu.: 3.000  
##  Median : 123.0   Median : 2.000   Median : 3.000   Median : 3.000  
##  Mean   : 174.9   Mean   : 1.835   Mean   : 3.111   Mean   : 3.605  
##  3rd Qu.: 229.0   3rd Qu.: 2.000   3rd Qu.: 4.000   3rd Qu.: 4.000  
##  Max.   :1745.0   Max.   :10.000   Max.   :10.000   Max.   :10.000  
##  NA's   :3        NA's   :1605     NA's   :3        NA's   :3       
##      tipo              barrio         
##  Length:8322        Length:8322       
##  Class :character   Class :character  
##  Mode  :character   Mode  :character  
##                                       
##                                       
##                                       
## 
## Switching method to 'browser'
## Output file written: C:\Users\ACER\AppData\Local\Temp\Rtmpq4hOId\file83c1d437cfd.html
## tibble [4,808 × 10] (S3: tbl_df/tbl/data.frame)
##  $ zona        : chr [1:4808] "Zona Sur" "Zona Norte" "Zona Norte" "Zona Norte" ...
##  $ piso        : chr [1:4808] "02" "01" "01" "01" ...
##  $ estrato     : num [1:4808] 4 5 5 4 5 5 5 4 5 6 ...
##  $ preciom     : num [1:4808] 400 260 240 220 310 320 780 625 750 520 ...
##  $ areaconst   : num [1:4808] 280 90 87 52 137 150 380 355 237 98 ...
##  $ parqueaderos: num [1:4808] 3 1 1 2 2 2 2 3 2 2 ...
##  $ banios      : num [1:4808] 5 2 3 2 3 4 3 5 6 2 ...
##  $ habitaciones: num [1:4808] 3 3 3 3 4 6 3 5 6 2 ...
##  $ tipo        : chr [1:4808] "Casa" "Apartamento" "Apartamento" "Apartamento" ...
##  $ barrio      : chr [1:4808] "3 de julio" "acopi" "acopi" "acopi" ...

1. Análisis de Componentes Principales - PCA.

Inicialmente para analizar y obtener los principales componentes se calculan los valores de desviación estándar de las variables, pues estos indicanla cantidad de variabilidad en los datos explicada por cada componente principal. Además, para facilitar este paso se escogieron unicamente las variables numericas, en donde; la proporción de varianza y la proporción acumulativa de varianza indican la cantidad de variabilidad total en los datos explicada por cada componente principal y por las componentes principales originales.

## Importance of components:
##                           PC1    PC2     PC3     PC4     PC5     PC6
## Standard deviation     1.8866 1.0884 0.69530 0.58528 0.49647 0.42886
## Proportion of Variance 0.5932 0.1974 0.08057 0.05709 0.04108 0.03065
## Cumulative Proportion  0.5932 0.7906 0.87117 0.92827 0.96935 1.00000

Como se puede observar la primera componente principal (PC1) explica el 59.32% de la varianza total en los datos. PC1 y PC2 explican el 79.06% de la varianza total en los datos. PC1, PC2 y PC3 explican el 87.11% de la varianza total en los datos. PC1, PC2, PC3 y PC4 explican aproximadamente el 92.83% de la varianza total de los datos PC1, PC2, PC3, PC4 y PC5 explican aproximadamente el 96.93% de la varianza total de los datos. Finalmente, las seis componentes principales explican el 100% de la varianza total en los datos. Sin embargo, la mayoría de la varianza se explica con las dos primeras componentes principales (PC1 y PC2), que capturan el 79.06% de la varianza total como se observa en el histograma. Esto sugiere que las dos primeras componentes principales son suficientes para simplificar el análisis, ya que representan la mayor parte de la variabilidad de los datos.

## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?

Como se observa PC1 y PC2 son suficientes para explicar gran parte de la variabilidad total de los datos, pues entre ellos explican el 79.06%. Al aplicar la “regla del codo” se observa en el CP3 un cambio significativo en la pendiente (“codo”), es decir, la menor capacidad explicativa de la varianza de este y el resto de componentes. Por tanto, se ratifica CP1 y CP2 como los componentes suficientes para explicar el modelo.

2. Análisis de Conglomerados - Cluster.

Agrupar las propiedades residenciales en segmentos homogéneos con características similares para entender las dinámicas de las ofertas específicas en diferentes partes de la ciudad y en diferentes estratos socioeconómicos.

## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
##      preciom  areaconst
## 1  0.4802026  0.5818992
## 2  2.4677661  2.1167169
## 3 -0.5434125 -0.5423895

Los resultados muestran tres grupos de clusters identificados por el algoritmo K-means en función de las variables preciom (precio por metro cuadrado) y areaconst (área construida). Teniendo en cuenta los segmentos homogéneos con características similares, se obtienen los siguientes grupos de clusters:

Cluster 1: Viviendas con precios moderadamente bajos caracterizados por un preciom y areaconst menor. Cluster 2: Viviendas con precios moderadamente altos caracterizados por un preciom y areaconst altos. Cluster 3: Viviendas con precios relativamente altos caracterizados por un preciom y areaconst más altos.

3. Análisis de Correspondencia Multiple - ACM.

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.

El análisis de correspondencia múltiple (ACM) ofrece información sobre las relaciones entre las variables categóricas: tipo de vivienda, zona y barrio, para evaluar sus asociaciones. Las dimensiones obtenidas muestran la estructura subyacente en los datos y cuánto de la varianza total de los datos explican.

Las dimensiones obtenidas capturan el grado de asociación entre las variables categóricas. En ese sentido, el análisis individual de las categorías muestra cómo cada una contribuye a las dimensiones principales y su relación con otras categorías. Por ejemplo, la categoría “casa” se asocia positivamente con la dimensión 1, mientras que la categoría “zona sur” tiene una relación fuerte y positiva con la dimensión 2. Por tanto, la dimensión 1, muestra una relación significativa entre el tipo de vivienda (apartamento o casa) y la zona geográfica (centro, norte, oeste, oriente, sur), con valores de varianza explicada del 0.711 que representan el 0.770% de la varianza total. Por su parte, la dimensión 2, muestra una asociación entre la zona geográfica y otras variables categóricas específicas, como “3 de julio”, “acopi”, y “agua blanca”, con valores de varianza explicada del 0.663 que representa el 0.718% de la varianza total. Finalmente, la dimensión 3, proporciona información adicional sobre la distribución espacial y las características particulares de ciertas zonas en relación con otras variables categóricas, con valores de varianza explicada del 0.658 que representa el 0.713% de la varianza total.

## 
## Call:
## MCA(X = df_corr) 
## 
## 
## Eigenvalues
##                        Dim.1   Dim.2   Dim.3   Dim.4   Dim.5   Dim.6   Dim.7
## Variance               0.711   0.663   0.658   0.645   0.446   0.333   0.333
## % of var.              0.770   0.718   0.713   0.699   0.483   0.361   0.361
## Cumulative % of var.   0.770   1.488   2.201   2.900   3.383   3.744   4.105
##                        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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.   4.466   4.827   5.188   5.549   5.910   6.271   6.633
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.   6.994   7.355   7.716   8.077   8.438   8.799   9.160
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.   9.521   9.882  10.243  10.604  10.965  11.326  11.687
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  12.048  12.409  12.770  13.131  13.492  13.853  14.214
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  14.575  14.936  15.297  15.658  16.019  16.380  16.741
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  17.102  17.463  17.824  18.185  18.546  18.907  19.268
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  19.629  19.990  20.351  20.712  21.073  21.434  21.795
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  22.156  22.517  22.878  23.239  23.600  23.961  24.322
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  24.683  25.044  25.405  25.766  26.127  26.488  26.849
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  27.210  27.571  27.932  28.293  28.654  29.015  29.376
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  29.737  30.098  30.459  30.820  31.181  31.542  31.903
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  32.264  32.625  32.986  33.347  33.708  34.069  34.430
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  34.791  35.152  35.513  35.874  36.235  36.596  36.957
##                       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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  37.318  37.679  38.040  38.401  38.762  39.123  39.484
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  39.846  40.207  40.568  40.929  41.290  41.651  42.012
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  42.373  42.734  43.095  43.456  43.817  44.178  44.539
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  44.900  45.261  45.622  45.983  46.344  46.705  47.066
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  47.427  47.788  48.149  48.510  48.871  49.232  49.593
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  49.954  50.315  50.676  51.037  51.398  51.759  52.120
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  52.481  52.842  53.203  53.564  53.925  54.286  54.647
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  55.008  55.369  55.730  56.091  56.452  56.813  57.174
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  57.535  57.896  58.257  58.618  58.979  59.340  59.701
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  60.062  60.423  60.784  61.145  61.506  61.867  62.228
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  62.589  62.950  63.311  63.672  64.033  64.394  64.755
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  65.116  65.477  65.838  66.199  66.560  66.921  67.282
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  67.643  68.004  68.365  68.726  69.087  69.448  69.809
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  70.170  70.531  70.892  71.253  71.614  71.975  72.336
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  72.697  73.059  73.420  73.781  74.142  74.503  74.864
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  75.225  75.586  75.947  76.308  76.669  77.030  77.391
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  77.752  78.113  78.474  78.835  79.196  79.557  79.918
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  80.279  80.640  81.001  81.362  81.723  82.084  82.445
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  82.806  83.167  83.528  83.889  84.250  84.611  84.972
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  85.333  85.694  86.055  86.416  86.777  87.138  87.499
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  87.860  88.221  88.582  88.943  89.304  89.665  90.026
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  90.387  90.748  91.109  91.470  91.831  92.192  92.553
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  92.914  93.275  93.636  93.997  94.358  94.719  95.080
##                      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.361   0.361   0.361   0.361   0.361   0.361   0.361
## Cumulative % of var.  95.441  95.802  96.163  96.524  96.885  97.246  97.607
##                      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.167
## % of var.              0.361   0.361   0.361   0.361   0.361   0.361   0.180
## Cumulative % of var.  97.968  98.329  98.690  99.051  99.412  99.773  99.954
##                      Dim.274 Dim.275 Dim.276 Dim.277
## Variance               0.023   0.008   0.008   0.003
## % of var.              0.025   0.009   0.009   0.003
## Cumulative % of var.  99.979  99.988  99.997 100.000
## 
## Individuals (the 10 first)
##                 Dim.1    ctr   cos2    Dim.2    ctr   cos2    Dim.3    ctr
## 1            |  0.855  0.021  0.000 | -0.463  0.007  0.000 | -0.200  0.001
## 2            | -0.461  0.006  0.003 |  1.433  0.064  0.026 | -0.794  0.020
## 3            | -0.461  0.006  0.003 |  1.433  0.064  0.026 | -0.794  0.020
## 4            | -0.461  0.006  0.003 |  1.433  0.064  0.026 | -0.794  0.020
## 5            | -0.461  0.006  0.003 |  1.433  0.064  0.026 | -0.794  0.020
## 6            | -0.005  0.000  0.000 |  1.448  0.066  0.027 | -0.792  0.020
## 7            | -0.005  0.000  0.000 |  1.448  0.066  0.027 | -0.792  0.020
## 8            | -0.005  0.000  0.000 |  1.448  0.066  0.027 | -0.792  0.020
## 9            | -0.005  0.000  0.000 |  1.448  0.066  0.027 | -0.792  0.020
## 10           | -0.461  0.006  0.003 |  1.433  0.064  0.026 | -0.794  0.020
##                cos2  
## 1             0.000 |
## 2             0.008 |
## 3             0.008 |
## 4             0.008 |
## 5             0.008 |
## 6             0.008 |
## 7             0.008 |
## 8             0.008 |
## 9             0.008 |
## 10            0.008 |
## 
## Categories (the 10 first)
##                  Dim.1     ctr    cos2  v.test     Dim.2     ctr    cos2
## Apartamento  |  -0.390   4.729   0.298 -37.867 |  -0.013   0.005   0.000
## Casa         |   0.764   9.254   0.298  37.867 |   0.025   0.010   0.000
## Zona Centro  |   3.157   3.499   0.075  19.013 |   1.318   0.654   0.013
## Zona Norte   |  -0.428   1.584   0.041 -14.112 |   1.805  30.162   0.736
## Zona Oeste   |  -1.661  20.262   0.512 -49.634 |  -0.177   0.246   0.006
## Zona Oriente |   3.587  12.169   0.265  35.687 |   2.802   7.959   0.162
## Zona Sur     |   0.385   4.387   0.254  34.936 |  -0.588  10.971   0.592
## 3 de julio   |   1.014   0.010   0.000   1.014 |  -0.569   0.003   0.000
## acopi        |  -0.349   0.025   0.001  -1.601 |   1.708   0.640   0.013
## aguablanca   |  -0.005   0.000   0.000  -0.005 |  -0.607   0.004   0.000
##               v.test     Dim.3     ctr    cos2  v.test  
## Apartamento   -1.230 |  -0.002   0.000   0.000  -0.172 |
## Casa           1.230 |   0.003   0.000   0.000   0.172 |
## Zona Centro    7.938 |   1.385   0.727   0.014   8.340 |
## Zona Norte    59.470 |  -0.970   8.784   0.213 -31.973 |
## Zona Oeste    -5.281 |   1.470  17.137   0.401  43.921 |
## Zona Oriente  27.874 |   4.582  21.443   0.432  45.581 |
## Zona Sur     -53.359 |  -0.244   1.908   0.102 -22.167 |
## 3 de julio    -0.569 |  -0.247   0.001   0.000  -0.247 |
## acopi          7.843 |  -0.960   0.204   0.004  -4.408 |
## aguablanca    -0.607 |  -0.252   0.001   0.000  -0.252 |
## 
## Categorical variables (eta2)
##                Dim.1 Dim.2 Dim.3  
## tipo         | 0.298 0.000 0.000 |
## zona         | 0.894 0.995 0.987 |
## barrio       | 0.941 0.995 0.987 |

Conclusiones

  1. Existe una fuerte asociación entre el tamaño de la vivienda, la ubicación y el precio. En efecto, el ACP sugiere dos componentes (PC1, PC2) que explican el 79.06% de la varianza total en los datos. En el caso del primer componente PC1 existe una asociación entre estrato y precio. Para PC2 la asociación es con la variable habitación.
  2. Existen segmentos de mercado distintos a través del análisis de conglomerados, lo que sugiere enfocar recursos financieros, estrategias y campañas de marketing según cada sector o clúster. En particular, se encuentran 3 cluster de viviendas con niveles de precios según el metro cuadrado y área construida.
  3. Las preferencias del mercado varían según la zona geográfica y el barrio, por tanto, la oferta de viviendas debe adaptarse a la condición económica, preferencias y demanda según la zona geográfica, pues es la variable más influyente del mercado local, ya que el precio de la vivienda en determinado barrio puede estar influenciado por la zona de ubicación.