INTRODUCCION

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.

ACTIVIDADES

El reto principal consisten en realizar un análisis integral y multidimensional de la base de datos para obtener una comprensión del mercado inmobiliario urbano. Se requiere aplicar diversas técnicas de análisis de datos, incluyendo:

Análisis de Componentes Principales: Reducir la dimensionalidad del conjunto de datos y visualizar la estructura de las variables en componentes principales para identificar características clave que influyen en la variación de precios y oferta del mercado.

Análisis de Conglomerados: 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.

Análisis de Correspondencia : 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.

Visualización de resultados: Presentar gráficos, mapas y otros recursos visuales para comunicar los hallazgos de manera clara y efectiva a la dirección de la empresa.

data("vivienda")
#Almacenar el dataset original en otro.
data_vivienda<-vivienda
write.xlsx(data_vivienda, file = "D://archivo.xlsx")

EXPLORACION DE LOS DATOS

se inicia con la revisión del Dataset, asi como con el resumen estadistico

# Revisar la estructura del dataset
kable(head(data_vivienda), format = "markdown")
id zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo barrio longitud latitud
1147 Zona Oriente NA 3 250 70 1 3 6 Casa 20 de julio -76.51168 3.43382
1169 Zona Oriente NA 3 320 120 1 2 3 Casa 20 de julio -76.51237 3.43369
1350 Zona Oriente NA 3 350 220 2 2 4 Casa 20 de julio -76.51537 3.43566
5992 Zona Sur 02 4 400 280 3 5 3 Casa 3 de julio -76.54000 3.43500
1212 Zona Norte 01 5 260 90 1 2 3 Apartamento acopi -76.51350 3.45891
1724 Zona Norte 01 5 240 87 1 3 3 Apartamento acopi -76.51700 3.36971
# Resumen estadístico
summary(data_vivienda)
##        id           zona               piso              estrato     
##  Min.   :   1   Length:8322        Length:8322        Min.   :3.000  
##  1st Qu.:2080   Class :character   Class :character   1st Qu.:4.000  
##  Median :4160   Mode  :character   Mode  :character   Median :5.000  
##  Mean   :4160                                         Mean   :4.634  
##  3rd Qu.:6240                                         3rd Qu.:5.000  
##  Max.   :8319                                         Max.   :6.000  
##  NA's   :3                                            NA's   :3      
##     preciom         areaconst       parqueaderos        banios      
##  Min.   :  58.0   Min.   :  30.0   Min.   : 1.000   Min.   : 0.000  
##  1st Qu.: 220.0   1st Qu.:  80.0   1st Qu.: 1.000   1st Qu.: 2.000  
##  Median : 330.0   Median : 123.0   Median : 2.000   Median : 3.000  
##  Mean   : 433.9   Mean   : 174.9   Mean   : 1.835   Mean   : 3.111  
##  3rd Qu.: 540.0   3rd Qu.: 229.0   3rd Qu.: 2.000   3rd Qu.: 4.000  
##  Max.   :1999.0   Max.   :1745.0   Max.   :10.000   Max.   :10.000  
##  NA's   :2        NA's   :3        NA's   :1605     NA's   :3       
##   habitaciones        tipo              barrio             longitud     
##  Min.   : 0.000   Length:8322        Length:8322        Min.   :-76.59  
##  1st Qu.: 3.000   Class :character   Class :character   1st Qu.:-76.54  
##  Median : 3.000   Mode  :character   Mode  :character   Median :-76.53  
##  Mean   : 3.605                                         Mean   :-76.53  
##  3rd Qu.: 4.000                                         3rd Qu.:-76.52  
##  Max.   :10.000                                         Max.   :-76.46  
##  NA's   :3                                              NA's   :3       
##     latitud     
##  Min.   :3.333  
##  1st Qu.:3.381  
##  Median :3.416  
##  Mean   :3.418  
##  3rd Qu.:3.452  
##  Max.   :3.498  
##  NA's   :3

#Se realiza la verificación de valores nulos por cada una de las variables que conforman la data.

# Verificar valores nulos
sum(is.na(data_vivienda))
## [1] 4275
# Verificar la cantidad de valores nulos por columna
colSums(is.na(data_vivienda))
##           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
grafico_faltantes <-md.pattern(data_vivienda, rotate.names = TRUE)

la data tiene dos registros con valores nulos en todas las variables y un registro que contiene únicamente la variable preciom diligenciada.

   # Ver la distribución de las variables categóricas
  table(data_vivienda$zona)
## 
##  Zona Centro   Zona Norte   Zona Oeste Zona Oriente     Zona Sur 
##          124         1920         1198          351         4726
  table(data_vivienda$estrato)
## 
##    3    4    5    6 
## 1453 2129 2750 1987
  table(data_vivienda$tipo)
## 
## Apartamento        Casa 
##        5100        3219
  table(data_vivienda$barrio)
## 
##                   20 de julio                    3 de julio 
##                             3                             1 
##                         acopi                   agua blanca 
##                           158                             1 
##                    aguablanca                     aguacatal 
##                             2                           109 
##                       alameda               alameda del rio 
##                            16                             1 
##               alameda del río                        alamos 
##                             2                            14 
##                      alborada                     alcazares 
##                             1                             2 
##                 alférez real                  alferez real 
##                             5                             2 
##                 alfonso lopez                 alfonso lópez 
##                             1                            21 
##               alfonso lópez i                   alto jordán 
##                             1                             1 
##            altos de guadalupe                altos de menga 
##                             4                             3 
##                altos de santa                antonio nariño 
##                             1                             2 
##                      aranjuez                      arboleda 
##                            15                             5 
## arboleda campestre candelaria                     arboledas 
##                             1                            38 
##             atanasio girardot                 autopista sur 
##                             9                             1 
##                bajo aguacatal                  barranquilla 
##                             1                             6 
##             barrio 7de agosto            barrio el recuerdo 
##                             1                             1 
##            barrio eucarístico                 barrio obrero 
##                             1                             1 
##            barrio tranquilo y                   base aérea 
##                             1                             2 
##                    belalcazar                    Belalcazar 
##                             3                             1 
##             belisario caicedo                   bella suiza 
##                             2                            18 
##              bella suiza alta                    bellavista 
##                             4                            43 
##              benjamín herrera                        berlin 
##                             8                             1 
##           bloques del limonar                     bochalema 
##                             1                            33 
##                   bolivariano           bosques de alboleda 
##                             1                             1 
##           bosques del limonar                        boyacá 
##                            21                             1 
##                       bretaña           brisas de guadalupe 
##                            16                             1 
##                 brisas de los                 Brisas De Los 
##                            81                             1 
##            brisas del guabito            brisas del limonar 
##                             1                             1 
##                  Bueno Madrid                  buenos aires 
##                             1                             7 
##                        caldas                          Cali 
##                             1                            37 
##                    cali bella                    cali canto 
##                             1                             1 
##                     calibella                     calicanto 
##                             1                             8 
##                calicanto viii                        calima 
##                             1                             6 
##                 calimio norte                       calipso 
##                             5                            11 
##                      cambulos                   camino real 
##                             3                            35 
##                   Camino Real                     campestre 
##                             1                             1 
##                         caney                caney especial 
##                            88                             5 
##                   cañasgordas                  cañaveralejo 
##                             7                            12 
##                   cañaverales       cañaverales los samanes 
##                            21                             1 
##                         capri                      cascajal 
##                            56                             1 
##                   cataya real                        ceibas 
##                             1                             1 
##                      centelsa                    centenario 
##                             1                            15 
##                    Centenario                        centro 
##                             1                             4 
##               cerro cristales           cerros de guadalupe 
##                            22                             1 
##                    champagnat                     chapinero 
##                            14                             7 
##                   chiminangos                   Chiminangos 
##                            17                             1 
##           chiminangos 1 etapa           chiminangos 2 etapa 
##                             1                             2 
##                    chipichape                   ciudad 2000 
##                            30                            95 
##                   Ciudad 2000             ciudad antejardin 
##                             1                             1 
##              ciudad bochalema                  ciudad capri 
##                            48                            13 
##                ciudad cordoba                ciudad córdoba 
##                            20                            15 
##      ciudad córdoba reservado                ciudad country 
##                             1                             1 
##              ciudad del campo                 ciudad jardin 
##                             1                            22 
##                 ciudad jardín                 Ciudad Jardín 
##                           516                             2 
##           ciudad jardin pance             ciudad los alamos 
##                             1                             1 
##             ciudad los álamos              ciudad mel√©ndez 
##                            25                             1 
##               ciudad melendez                 ciudad modelo 
##                             1                             7 
##               ciudad pacifica               Ciudad Pacifica 
##                             2                             1 
##                   ciudad real                ciudad talanga 
##                             3                             1 
##          ciudad universitaria            ciudadela comfandi 
##                             1                            17 
##             ciudadela del río            ciudadela melendez 
##                             1                             1 
##          ciudadela paso ancho           ciudadela pasoancho 
##                             1                            21 
##              colinas de menga            colinas del bosque 
##                             3                             1 
##               colinas del sur                         colon 
##                             8                             1 
##                    colseguros              colseguros andes 
##                            44                             4 
##              Colseguros Andes                    comfenalco 
##                             1                             1 
##                     compartir            conjunto gibraltar 
##                             1                             1 
##                     cristales               cristobal colón 
##                            83                            14 
##               cristóbal colón               cuarto de legua 
##                             2                            44 
##                 departamental           ed benjamin herrera 
##                            29                             1 
##                     el bosque                     El Bosque 
##                            49                             1 
##                      el caney                      El Caney 
##                           208                             1 
##                   el castillo                      el cedro 
##                             6                             8 
##                   el diamante                     el dorado 
##                             2                             6 
##               el gran limonar                     el guabal 
##                             8                            19 
##                    el guabito                    el ingenio 
##                             1                           202 
##                    El Ingenio                  el ingenio 3 
##                             1                             1 
##                  el ingenio i                 el ingenio ii 
##                            19                            21 
##                el ingenio iii                     el jardín 
##                            20                            15 
##                     el jordán                       el lido 
##                             1                            59 
##                    el limonar                   el nacional 
##                           135                             1 
##                    el paraíso                      el peñon 
##                             3                            60 
##                      el prado                    el refugio 
##                             2                           120 
##                      el rodeo                       el sena 
##                             1                             1 
##                    el trébol                    el troncal 
##                             5                            19 
##                    el vallado                   eucarístico 
##                             1                             2 
##               evaristo garcía          farrallones de pance 
##                             2                             1 
##               fenalco kennedy                       fepicol 
##                             1                             1 
##                         flora              flora industrial 
##                             1                            16 
##                      floralia                  fonaviemcali 
##                             6                             1 
##      francisco eladio ramirez                 fuentes de la 
##                             1                             1 
##                        gaitan                  gran limonar 
##                             1                            24 
##                       granada                     guadalupe 
##                            15                            21 
##                guadalupe alto                     guaduales 
##                             1                             2 
##                     guayaquil         hacienda alferez real 
##                            16                             1 
##                       ingenio                     ingenio i 
##                             1                             1 
##                    ingenio ii                       jamundi 
##                             1                             4 
##             jamundi alfaguara          jorge eliecer gaitán 
##                             1                             1 
##                  jorge isaacs         jose manuel marroquín 
##                             1                             1 
##                     juanamb√∫                      juanambu 
##                            53                             2 
##                         junin                         junín 
##                            18                             6 
##                   la alborada                    la alianza 
##                             5                             5 
##                   la arboleda                       la base 
##                            18                            15 
##                   la buitrera                    la campiña 
##                             3                            13 
##                    la cascada                     la ceibas 
##                             7                             1 
##                  la esmeralda                      la flora 
##                             1                           366 
##                      La Flora                   la floresta 
##                             2                            18 
##                  la fortaleza              la gran colombia 
##                             4                             1 
##                   la hacienda                   La Hacienda 
##                           164                             2 
##              la independencia                   la libertad 
##                            12                             2 
##                      la luisa                     la merced 
##                             1                            26 
##                     la morada                 la nueva base 
##                             1                             8 
##                      la playa                 la portada al 
##                             1                             1 
##                  la primavera                    la reforma 
##                             1                             1 
##                     la rivera                   la rivera i 
##                            11                             2 
##                  la rivera ii                   la riverita 
##                             2                             1 
##                    la riviera                      la selva 
##                             1                            11 
##                  la villa del                       laflora 
##                             1                             1 
##           lares de comfenalco                   las acacias 
##                             1                            12 
##                 las américas                  las camelias 
##                             3                             1 
##                    las ceibas                  las delicias 
##                            23                             5 
##                   las granjas                las quintas de 
##                            10                             1 
##                     las vegas                  las vegas de 
##                             1                             1 
##                  libertadores                    los alamos 
##                             3                             1 
##                 los alcazares                 los alcázares 
##                            17                             5 
##                     los andes                  los cambulos 
##                            21                            25 
##                  los cámbulos                 los cristales 
##                             6                           154 
##            los cristales club                los farallones 
##                             1                             4 
##                 los guaduales                 Los Guaduales 
##                            25                             1 
##                los guayacanes                   los jockeys 
##                             3                             1 
##              los libertadores      los parques barranquilla 
##                             4                             6 
##                    los robles                       lourdes 
##                             1                             2 
##                      mamellan                    manzanares 
##                             1                             5 
##                 mariano ramos                 marroquín iii 
##                             1                             1 
##             mayapan las vegas                     meléndez 
##                            46                            23 
##                      melendez                         menga 
##                            52                            23 
##       metropolitano del norte         miradol del aguacatal 
##                            21                             1 
##                    miraflores                    Miraflores 
##                            25                             1 
##          morichal de comfandi                   multicentro 
##                             3                            27 
##                     municipal                       napoles 
##                             3                             2 
##                       nápoles                     normandia 
##                            29                             5 
##                     normandía          normandía west point 
##                           154                             1 
##                         norte                norte la flora 
##                             9                             1 
##                    nueva base                nueva floresta 
##                             1                            15 
##              nueva tequendama             oasis de comfandi 
##                            73                             6 
##            oasis de pasoancho                     occidente 
##                             1                            11 
##                        pacara                        pacará 
##                            19                             4 
##            palmas del ingenio                   pampa linda 
##                             1                            26 
##                    pampalinda                  panamericano 
##                            12                             9 
##                         pance                         Pance 
##                           409                             3 
##           parcelaciones pance         parque residencial el 
##                            61                             1 
##                  paseo de los             paso del comercio 
##                             2                             6 
##                     pasoancho             poblado campestre 
##                             6                             2 
##                         ponce                       popular 
##                             1                             6 
##           portada de comfandi          portales de comfandi 
##                             2                             1 
##                      porvenir             prados de oriente 
##                             3                             6 
##            prados del limonar            Prados Del Limonar 
##                            20                             1 
##              prados del norte              Prados Del Norte 
##                           126                             1 
##                prados del sur                     primavera 
##                             2                             2 
##               primero de mayo              primitivo crespo 
##                            37                             3 
##           puente del comercio                  puente palma 
##                             6                             1 
##                quintas de don                Quintas De Don 
##                            72                             1 
##            quintas de salomia            rafael uribe uribe 
##                             4                             1 
##                       refugio          rep√∫blica de israel 
##                             2                             1 
##                  rincon de la             rincón de salomia 
##                             1                             1 
##             riveras del valle                 rozo la torre 
##                             1                             1 
##              saavedra galindo                       salomia 
##                             4                            40 
##                       samanes          samanes de guadalupe 
##                             1                             1 
##                        sameco                   san antonio 
##                             1                            24 
##                     san bosco                    san carlos 
##                             8                             4 
##                  san cayetano                  san fernando 
##                             9                            54 
##                  San Fernando            san fernando nuevo 
##                             1                            10 
##            san fernando viejo                   san joaquin 
##                            18                             4 
##                   san joaquín                san juan bosco 
##                            16                             7 
##                     san judas               san judas tadeo 
##                             1                             2 
##                      san luis                      san luís 
##                             2                             1 
##                   san nicolas                   san nicolás 
##                             1                             1 
##                     san pedro                   san vicente 
##                             3                            48 
##                         santa                   santa anita 
##                             1                            48 
##                   Santa Anita               santa anita sur 
##                             2                             1 
##                 santa bárbara                   santa elena 
##                             3                            10 
##                      santa fe               santa helena de 
##                             8                             1 
##                  santa isabel                  Santa Isabel 
##                            63                             1 
##                  santa monica                  Santa Monica 
##                            51                             1 
##                  santa mónica             santa mónica alta 
##                             3                             1 
##            santa monica norte          santa monica popular 
##                             2                             2 
##          santa mónica popular      santa monica residencial 
##                             7                             5 
##      santa mónica residencial                    santa rita 
##                            39                            45 
##                    santa rosa                santa teresita 
##                             1                           262 
##                Santa Teresita                       Santafe 
##                             1                             1 
##                     santander                 santo domingo 
##                             1                             5 
##                 Santo Domingo              sector aguacatal 
##                             1                             1 
## sector cañaveralejo guadalupe                     seminario 
##                             2                            32 
##          sierras de normandía               siete de agosto 
##                             1                             8 
##                 simón bolivar             tejares cristales 
##                             1                             4 
##                tejares de san                      templete 
##                            14                             4 
##                    tequendama                    tequendema 
##                            44                             1 
##               terrón colorado            torres de comfandi 
##                             1                            57 
##                unicentro cali             unión de vivienda 
##                             1                             3 
##     urbanización barranquilla           urbanización boyacá 
##                             4                             1 
##       urbanización colseguros         urbanizacion el saman 
##                             3                             1 
##        urbanizacion gratamira         urbanización la flora 
##                             1                            83 
##        urbanización la merced         urbanización la nueva 
##                             4                             4 
##     urbanización las cascadas             urbanizacion lili 
##                             1                             2 
##    urbanización nueva granada           urbanización pacara 
##                             3                             1 
##         urbanización río lili      urbanización san joaquin 
##                             5                             4 
##       urbanización tequendama                 valle de lili 
##                             7                             1 
##                valle del lili                Valle Del Lili 
##                          1008                             1 
##                  valle grande                     versalles 
##                             1                            71 
##                villa colombia             villa de veracruz 
##                             6                             6 
##                villa del lago              villa del parque 
##                            10                             1 
##               villa del prado               Villa Del Prado 
##                            51                             1 
##                 villa del sol                 villa del sur 
##                            25                             5 
##            villas de veracruz            Villas De Veracruz 
##                             8                             1 
##                        vipasa                   zona centro 
##                            32                             1 
##                    zona norte                zona norte los 
##                            32                             1 
##                    zona oeste                  zona oriente 
##                            26                            18 
##              zona residencial                      zona sur 
##                             1                            74

Resumen estadístico de las variables numéricas

# Resumen estadístico de las variables numéricas
 summary(data_vivienda[c("preciom", "areaconst", "parqueaderos", "banios", "habitaciones", "longitud", "latitud")])
##     preciom         areaconst       parqueaderos        banios      
##  Min.   :  58.0   Min.   :  30.0   Min.   : 1.000   Min.   : 0.000  
##  1st Qu.: 220.0   1st Qu.:  80.0   1st Qu.: 1.000   1st Qu.: 2.000  
##  Median : 330.0   Median : 123.0   Median : 2.000   Median : 3.000  
##  Mean   : 433.9   Mean   : 174.9   Mean   : 1.835   Mean   : 3.111  
##  3rd Qu.: 540.0   3rd Qu.: 229.0   3rd Qu.: 2.000   3rd Qu.: 4.000  
##  Max.   :1999.0   Max.   :1745.0   Max.   :10.000   Max.   :10.000  
##  NA's   :2        NA's   :3        NA's   :1605     NA's   :3       
##   habitaciones       longitud         latitud     
##  Min.   : 0.000   Min.   :-76.59   Min.   :3.333  
##  1st Qu.: 3.000   1st Qu.:-76.54   1st Qu.:3.381  
##  Median : 3.000   Median :-76.53   Median :3.416  
##  Mean   : 3.605   Mean   :-76.53   Mean   :3.418  
##  3rd Qu.: 4.000   3rd Qu.:-76.52   3rd Qu.:3.452  
##  Max.   :10.000   Max.   :-76.46   Max.   :3.498  
##  NA's   :3        NA's   :3        NA's   :3

PREPARACION DE LOS DATOS

En esta etapa se inicia con la eliminación de los registros cuyo porcentaje en datos nulos es alto y la imputacion que se requiera para la demas data.

El grafico muestra que se deben eliminar tres registros e imputar los datos en la variable parqueaderos y piso

   #Grafico con datos faltantes
   grafico_faltantes <-md.pattern(data_vivienda, rotate.names = TRUE)

# Se inicia con la eliminacion de registros nulos.

#  Tratamiento de Datos Faltantes
   data_vivienda <- data_vivienda %>%  filter(id != "NA")
   # Se vuelve a graficar para verificar el borrado de registros
   grafico_faltantes <-md.pattern(data_vivienda, rotate.names = TRUE)

Se debe cambiar el formato de caracter a numerico de la varibale piso.

data_vivienda$piso <- as.numeric(data_vivienda$piso)
glimpse(data_vivienda)
## Rows: 8,319
## Columns: 13
## $ id           <dbl> 1147, 1169, 1350, 5992, 1212, 1724, 2326, 4386, 1209, 159…
## $ zona         <chr> "Zona Oriente", "Zona Oriente", "Zona Oriente", "Zona Sur…
## $ piso         <dbl> NA, NA, NA, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, …
## $ estrato      <dbl> 3, 3, 3, 4, 5, 5, 4, 5, 5, 5, 6, 4, 5, 6, 4, 5, 5, 4, 5, …
## $ preciom      <dbl> 250, 320, 350, 400, 260, 240, 220, 310, 320, 780, 750, 62…
## $ areaconst    <dbl> 70, 120, 220, 280, 90, 87, 52, 137, 150, 380, 445, 355, 2…
## $ parqueaderos <dbl> 1, 1, 2, 3, 1, 1, 2, 2, 2, 2, NA, 3, 2, 2, 1, 4, 2, 2, 2,…
## $ banios       <dbl> 3, 2, 2, 5, 2, 3, 2, 3, 4, 3, 7, 5, 6, 2, 4, 4, 4, 3, 2, …
## $ habitaciones <dbl> 6, 3, 4, 3, 3, 3, 3, 4, 6, 3, 6, 5, 6, 2, 5, 5, 4, 3, 3, …
## $ tipo         <chr> "Casa", "Casa", "Casa", "Casa", "Apartamento", "Apartamen…
## $ barrio       <chr> "20 de julio", "20 de julio", "20 de julio", "3 de julio"…
## $ longitud     <dbl> -76.51168, -76.51237, -76.51537, -76.54000, -76.51350, -7…
## $ latitud      <dbl> 3.43382, 3.43369, 3.43566, 3.43500, 3.45891, 3.36971, 3.4…

Se realiza la imputacion de los datos para las variables que tienen valores faltantes; para la variable piso , parqueaderos, imputacion mediante la mediana

# Imputar los valores faltantes de "piso" con la mediana

data_vivienda$piso[is.na(data_vivienda$piso)] <- median(data_vivienda$piso, na.rm = TRUE)

# Imputar los valores faltantes de "parqueaderos" con la mediana

data_vivienda$parqueaderos[is.na(data_vivienda$parqueaderos)] <- median(data_vivienda$parqueaderos, na.rm = TRUE)


glimpse(data_vivienda)
## Rows: 8,319
## Columns: 13
## $ id           <dbl> 1147, 1169, 1350, 5992, 1212, 1724, 2326, 4386, 1209, 159…
## $ zona         <chr> "Zona Oriente", "Zona Oriente", "Zona Oriente", "Zona Sur…
## $ piso         <dbl> 3, 3, 3, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, …
## $ estrato      <dbl> 3, 3, 3, 4, 5, 5, 4, 5, 5, 5, 6, 4, 5, 6, 4, 5, 5, 4, 5, …
## $ preciom      <dbl> 250, 320, 350, 400, 260, 240, 220, 310, 320, 780, 750, 62…
## $ areaconst    <dbl> 70, 120, 220, 280, 90, 87, 52, 137, 150, 380, 445, 355, 2…
## $ parqueaderos <dbl> 1, 1, 2, 3, 1, 1, 2, 2, 2, 2, 2, 3, 2, 2, 1, 4, 2, 2, 2, …
## $ banios       <dbl> 3, 2, 2, 5, 2, 3, 2, 3, 4, 3, 7, 5, 6, 2, 4, 4, 4, 3, 2, …
## $ habitaciones <dbl> 6, 3, 4, 3, 3, 3, 3, 4, 6, 3, 6, 5, 6, 2, 5, 5, 4, 3, 3, …
## $ tipo         <chr> "Casa", "Casa", "Casa", "Casa", "Apartamento", "Apartamen…
## $ barrio       <chr> "20 de julio", "20 de julio", "20 de julio", "3 de julio"…
## $ longitud     <dbl> -76.51168, -76.51237, -76.51537, -76.54000, -76.51350, -7…
## $ latitud      <dbl> 3.43382, 3.43369, 3.43566, 3.43500, 3.45891, 3.36971, 3.4…
write.xlsx(data_vivienda, file = "D://archivo2.xlsx")

Se verifica que no existan datos faltantes

   grafico_faltantes <-md.pattern(data_vivienda, rotate.names = TRUE)
##  /\     /\
## {  `---'  }
## {  O   O  }
## ==>  V <==  No need for mice. This data set is completely observed.
##  \  \|/  /
##   `-----'

ANALISIS DE COMPONENTES PRINCIPALES (PCA)

El PCA (Análisis de Componentes Principales) es una técnica de reducción de dimensionalidad que transforma un conjunto de variables correlacionadas en un nuevo conjunto de variables no correlacionadas, denominadas componentes principales.

Se busca reducir la dimensionalidad del conjunto de datos y visualizar la estructura de las variables en componentes principales para identificar características clave que influyen en la variación de precios y oferta del mercado.

Los modelos de machine learning y muchos algoritmos estadísticos requieren que los datos de entrada sean numéricos. Por lo tanto, es necesario convertir las variables categóricas a un formato numérico. Para lograr esto, una técnica comúnmente utilizada es one-hot encoding.

Estadisticas previo al analisis de componentes principales

kable(head(data_vivienda))
id zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo barrio longitud latitud
1147 Zona Oriente 3 3 250 70 1 3 6 Casa 20 de julio -76.51168 3.43382
1169 Zona Oriente 3 3 320 120 1 2 3 Casa 20 de julio -76.51237 3.43369
1350 Zona Oriente 3 3 350 220 2 2 4 Casa 20 de julio -76.51537 3.43566
5992 Zona Sur 2 4 400 280 3 5 3 Casa 3 de julio -76.54000 3.43500
1212 Zona Norte 1 5 260 90 1 2 3 Apartamento acopi -76.51350 3.45891
1724 Zona Norte 1 5 240 87 1 3 3 Apartamento acopi -76.51700 3.36971
data_vivienda_num <- data_vivienda %>% dplyr::select(piso, preciom, areaconst, parqueaderos, banios, habitaciones, estrato, longitud, latitud)

head(data_vivienda_num)
## # A tibble: 6 × 9
##    piso preciom areaconst parqueaderos banios habitaciones estrato longitud
##   <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>   <dbl>    <dbl>
## 1     3     250        70            1      3            6       3    -76.5
## 2     3     320       120            1      2            3       3    -76.5
## 3     3     350       220            2      2            4       3    -76.5
## 4     2     400       280            3      5            3       4    -76.5
## 5     1     260        90            1      2            3       5    -76.5
## 6     1     240        87            1      3            3       5    -76.5
## # ℹ 1 more variable: latitud <dbl>

En PCA es crucial estandarizar las variables para asegurar que todas tengan la misma escala, ya que las diferencias en unidades o magnitudes pueden afectar los resultados. Al aplicar la normalización (es decir, transformando las variables para que tengan media cero y desviación estándar uno), garantizamos que ninguna variable domine el análisis debido a su escala. Este proceso permite obtener resultados más precisos y representativos, mejorando la interpretación y la identificación de patrones en los datos.

data_vivienda_num_scal= scale(data_vivienda_num)
head(data_vivienda_num_scal)
##            piso    preciom  areaconst parqueaderos      banios habitaciones
## [1,] -0.2404274 -0.5595498 -0.7339949   -0.8559050 -0.07793773    1.6406840
## [2,] -0.2404274 -0.3465670 -0.3842568   -0.8559050 -0.77811479   -0.4147626
## [3,] -0.2404274 -0.2552886  0.3152194    0.1313764 -0.77811479    0.2703863
## [4,] -0.6968663 -0.1031580  0.7349051    1.1186578  1.32241640   -0.4147626
## [5,] -1.1533052 -0.5291236 -0.5940997   -0.8559050 -0.77811479   -0.4147626
## [6,] -1.1533052 -0.5899759 -0.6150839   -0.8559050 -0.07793773   -0.4147626
##         estrato   longitud    latitud
## [1,] -1.5872276  0.9728466  0.3793708
## [2,] -1.5872276  0.9331875  0.3763219
## [3,] -1.5872276  0.7607566  0.4225243
## [4,] -0.6156201 -0.6549016  0.4070454
## [5,]  0.3559875  0.8682385  0.9678065
## [6,]  0.3559875  0.6670691 -1.1242009
prcomp(data_vivienda_num_scal)
## Standard deviations (1, .., p=9):
## [1] 1.8821921 1.2509915 1.0174882 0.8988556 0.8553510 0.7204725 0.6163550
## [8] 0.4853623 0.4277544
## 
## Rotation (n x k) = (9 x 9):
##                      PC1         PC2         PC3         PC4         PC5
## piso          0.06761086 -0.34504258  0.68561965  0.58121411  0.13480126
## preciom      -0.46885659 -0.10555353  0.16642405 -0.17050364  0.08359543
## areaconst    -0.43195923  0.24021894  0.04774085 -0.01541155  0.03752082
## parqueaderos -0.37611337  0.03613013  0.10845049 -0.32936572  0.45731491
## banios       -0.45164093  0.13875140  0.04373400  0.24753830 -0.08467593
## habitaciones -0.27217405  0.51133987 -0.06277374  0.48125292 -0.23481298
## estrato      -0.32152552 -0.48174873  0.09557738 -0.15104571 -0.04941177
## longitud      0.22941885  0.43561391  0.22174553 -0.01101097  0.68201257
## latitud       0.11611336  0.32898603  0.65117487 -0.45670970 -0.48415480
##                      PC6         PC7          PC8         PC9
## piso          0.20327289  0.08640824 -0.026917178 -0.02842683
## preciom      -0.12158818  0.23625931  0.169621364  0.77839691
## areaconst     0.01416938  0.73244614 -0.186324815 -0.42471934
## parqueaderos  0.59080901 -0.38687334 -0.106815057 -0.13310676
## banios       -0.23732187 -0.29716204  0.688524320 -0.29617215
## habitaciones  0.04063724 -0.28233514 -0.481351437  0.24638801
## estrato      -0.54558558 -0.26794418 -0.465548309 -0.20965496
## longitud     -0.48861615 -0.04630484 -0.042808239  0.02125135
## latitud      -0.01606112 -0.09279115  0.006704176 -0.04852252

Elección del número de componentes principales

res.pca <- prcomp(data_vivienda_num_scal)
fviz_eig(res.pca, addlabels = TRUE)

Al observar las contribuciones de cada variable en los componentes principales, parece que el precio (preciom) es influenciado principalmente por el área de construcción (areaconst), el número de baños (banios) y el estrato socioeconómico, pero también por características geográficas y de la distribución del mercado (como latitud, longitud, y número de habitaciones). Además, las características estructurales del inmueble, como el tipo de piso y la cantidad de parqueaderos, también juegan un papel importante, pero con un impacto no tan directo en comparación con otras variables.

fviz_pca_var(res.pca,
col.var = "contrib", # Color by contributions to the PC
gradient.cols = c("#FF7F00",  "#034D94"),
repel = TRUE     # Avoid text overlapping
)

Análisis de Conglomerados

se requiere 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.

data_vivienda_clusters  <- data_vivienda_num %>% dplyr::select(piso, preciom, areaconst, parqueaderos, banios, habitaciones, estrato, longitud, latitud)
data_vivienda_clusters
## # A tibble: 8,319 × 9
##     piso preciom areaconst parqueaderos banios habitaciones estrato longitud
##    <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>   <dbl>    <dbl>
##  1     3     250        70            1      3            6       3    -76.5
##  2     3     320       120            1      2            3       3    -76.5
##  3     3     350       220            2      2            4       3    -76.5
##  4     2     400       280            3      5            3       4    -76.5
##  5     1     260        90            1      2            3       5    -76.5
##  6     1     240        87            1      3            3       5    -76.5
##  7     1     220        52            2      2            3       4    -76.5
##  8     1     310       137            2      3            4       5    -76.5
##  9     2     320       150            2      4            6       5    -76.5
## 10     2     780       380            2      3            3       5    -76.5
## # ℹ 8,309 more rows
## # ℹ 1 more variable: latitud <dbl>
data_vivienda_clusters_scal =scale(data_vivienda_clusters)
data_vivienda_clusters_scal = as.data.frame(data_vivienda_clusters_scal)
wss <- vector("numeric", length = 15)
for (i in 1:15) {
  kmeans_model <- kmeans(data_vivienda_clusters_scal, centers = i, nstart = 25)
  wss[i] <- kmeans_model$tot.withinss
}
# Graficamos el codo
ggplot(data.frame(k = 1:15, wss = wss), aes(x = k, y = wss)) +
  geom_line() +
  geom_point() +
  ggtitle("Método del Codo para seleccionar el número de clusters") +
  theme_minimal()

# Suponiendo que el número óptimo de clusters es 4 (puedes cambiarlo según el análisis del Codo)
kmeans_model <- kmeans(data_vivienda_clusters_scal, centers = 3, nstart = 25)
# Agregamos los resultados del clustering al conjunto de datos original
data_vivienda_num$cluster <- kmeans_model$cluster

# Graficamos los clusters usando ggplot
ggplot(data_vivienda_num, aes(x = preciom, y = areaconst, color = as.factor(cluster))) +
  geom_point() +
  ggtitle("Clusters de Propiedades Residenciales") +
  theme_minimal() +
  labs(color = "Cluster")

Con base en los datos y la segmentación en clústeres, podemos ver que cada grupo refleja características socioeconómicas y geográficas distintivas:

Cluster 1: Propiedades de estrato medio-bajo, con precios moderados y ubicaciones periféricas o menos deseables. Cluster 2: Propiedades de estrato bajo, con precios bajos y ubicaciones más alejadas o menos accesibles. Cluster 3: Propiedades de estrato alto, con precios altos, áreas grandes y ubicaciones más centrales

# Ver las medias de cada cluster
aggregate(data_vivienda_clusters_scal, by = list(cluster = data_vivienda_num$cluster), FUN = mean)
##   cluster        piso    preciom  areaconst parqueaderos     banios
## 1       1  0.13913996 -0.3461006 -0.4198380   -0.3421427 -0.3477887
## 2       2 -0.08980046 -0.5620510 -0.3099488   -0.2925765 -0.4898440
## 3       3 -0.18436157  1.3155881  1.1901405    1.0135239  1.2402262
##   habitaciones     estrato   longitud    latitud
## 1  -0.38984501  0.09962727 -0.2994646 -0.4436638
## 2   0.04272904 -0.87847894  1.0268719  0.9603003
## 3   0.74445910  0.75637255 -0.5127748 -0.1475240

ANALISIS DE CORRESPONDENCIA

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.

 data_inm_categ <- data_vivienda %>% select(tipo,zona,estrato) %>% mutate(across(everything(),as.factor))

 # Realizar el análisis de correspondencia múltiple (MCA)
 m_result <- MCA(data_inm_categ, graph = FALSE)
 
 # Graficar las variables del MCA
 fviz_mca_var(m_result, repel = TRUE)+
 ggtitle("Gráfico de Variables - Análisis de Correspondencia Múltiple (MCA)") +
 theme_minimal()

# Coordenadas de las categorías
m_result$var$coord
##                   Dim 1       Dim 2      Dim 3       Dim 4      Dim 5
## Apartamento  -0.4055615  0.05557295 -0.2816905  0.04628692  0.4105620
## Casa          0.6425484 -0.08804661  0.4462943 -0.07333436 -0.6504710
## Zona Centro   2.7117940  0.97804319  1.1707605  7.16124468 -0.7122299
## Zona Norte    0.4493412 -0.25052479 -1.3777688  0.13735818  0.4175392
## Zona Oeste   -1.0672172  1.76090682 -0.1535974  0.08305129  0.1143684
## Zona Oriente  3.0829751  1.42095660  0.7226742 -2.25815904  0.4693007
## Zona Sur     -0.2121447 -0.47579177  0.5142812 -0.09703844 -0.2147898
## 3             1.7201002  0.61225468 -0.2377745  0.05114037  0.4441275
## 4            -0.1988436 -0.89358006  0.7020673  0.11075442  1.0771728
## 5            -0.2057802 -0.47096794 -0.7581495 -0.09398664 -0.9122967
## 6            -0.7599758  1.16154390  0.4709090 -0.02598885 -0.2163072
# Ver contribución de las categorías
m_result$var$contrib
##                   Dim 1      Dim 2      Dim 3       Dim 4      Dim 5
## Apartamento   5.9798007  0.1392799  4.2711464  0.13130191 10.6539626
## Casa          9.4740551  0.2206671  6.7669607  0.20802725 16.8795306
## Zona Centro   6.5003725  1.0488880  1.7938569 76.41575957  0.7795530
## Zona Norte    2.7634837  1.0655995 38.4666050  0.43530584  4.1483877
## Zona Oeste    9.7267022 32.8489067  0.2983008  0.09929647  0.1942014
## Zona Oriente 23.7821076  6.2670058  1.9347381 21.50801811  0.9580608
## Zona Sur      1.5162161  9.4606051 13.1924332  0.53476817  2.7021201
## 3            30.6461768  4.8163850  0.8670143  0.04566438  3.5519304
## 4             0.6000703 15.0325950 11.0754942  0.31382103 30.6146984
## 5             0.8301244  5.3939478 16.6829286  0.29191016 28.3653673
## 6             8.1808907 23.7061201  4.6505220  0.01612710  1.1521877

Diferencias entre Apartamentos y Casas: Apartamento: Los apartamentos tienen valores negativos en varias dimensiones, particularmente en Dim 1 (-0.4055615) y Dim 3 (-0.2816905), lo que podría sugerir que tienden a tener características más pequeñas o diferentes en términos de estructura y tamaño en comparación con las casas. Casa: Las casas, en contraste, muestran valores positivos en Dim 1 (0.6425484) y Dim 3 (0.4462943), lo que sugiere que las casas pueden ser más grandes o tener características más marcadas en estas dimensiones. Conclusión:

La diferencia entre apartamentos y casas parece estar relacionada con el tamaño y la estructura, donde las casas tienden a ser más grandes o tener características distintivas en las dimensiones positivas, mientras que los apartamentos tienden a tener características más pequeñas en las dimensiones negativas.