1 Índice Actividad 1

  1. Descripción de la actividad
  2. Objetivos
  3. Datos
  4. Procesamiento de datos
  5. Resultados y discusión
  6. Conclusiones
  7. Referencias
  8. Anexos

2 Descripción de la actividad

Maria comenzó como agente de bienes raíces en Cali hace 10 años. Después de laborar dos años para una empresa nacional, se traslado a Bogotá y trabajó para otra agencia de bienes raíces. Sus amigos y familiares la convencieron de que con su experiencia y conocimientos del negocio debía abrir su propia agencia. Terminó por adquirir la licencia de intermediario y al poco tiempo fundó su propia compañía, C&A (Casas y Apartamentos) en Cali. Santiago y Lina, dos vendedores de la empresa anterior aceptaron trabajar en la nueva compaña. En la actualidad ocho agentes de bienes raíces colaboran con ella en C&A.

Actualmente las ventas de bienes raíces en Cali se han visto disminuidas de manera significativa en lo corrido del año. Durante este periodo muchas instituciones bancarias de ahorro y vivienda están prestando grandes sumas de dinero para la industria y la construcción comercial y residencial. Cuando el efecto producto de las tensiones políticas y sociales disminuya, se espera que la actividad económica de este sector se reactive.

Hace dos días, María recibió una carta solicitando asesoría para la compra de dos viviendas por parte de una compañía internacional que desea ubicar a dos de sus empleados con sus familias en la ciudad. Las solicitudes incluyen las siguientes condiciones:

Comparación de características entre dos opciones de vivienda
Características Vivienda_1 Vivienda_2
Tipo Casa Apartamento
Área construida (m2) 200 300
Parqueaderos 1 3
Baños 2 3
Habitaciones 4 5
Estrato 4 o 5 5 o 6
Zona Norte Sur
Crédito preaprobado (millones COP) 350 850

3 Objetivos

Ayude a María a responder la solicitud, mediante técnicas modelación que usted conoce. Ella requiere le envíe un informe ejecutivo donde analice los dos casos y sus recomendaciones (Informe). Como soporte del informe debe anexar las estimaciones, validaciones y comparación de modelos requeridos (Anexos) .

4 Datos

Los datos de los tres últimos meses se adjuntan en la base que puede obtener con el siguiente código en R:

Descripción de las variables de la base de datos
Variable Descripción
zona Ubicación de la vivienda: Zona Centro, Zona Norte, …
piso Piso que ocupa la vivienda: primer piso, segundo piso…
estrato Estrato socioeconómico: 3,4,5,6
preciom Precio de la vivienda en millones de pesos
areaconst Área construida
parqueaderos Número de parqueaderos
banios Número de baños
habitaciones Número de habitaciones
tipo Tipo de vivienda: Casa, Apartamento
barrio Barrio de ubicación de la vivienda: 20 de Julio, Álamos, …
longitud Coordenada geográfica
latitud Coordenada geográfica

4.1 Carga de datos

En este paso se descargan los datos desde el paqueteMOD:

## # A tibble: 6 × 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
## 6  1724 Zona N… 01          5     240        87            1      3            3
## # ℹ 4 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>

Los tipos de variable son los siguientes:

Variable Tipo_estadistico Comentario
id Identificador No se usa para modelar
zona Categórica nominal Categorías sin orden
piso Discreta ordinal Niveles con orden
estrato Discreta ordinal Valores 1–6
preciom Numérica continua Precio en millones
areaconst Numérica continua Área en m²
parqueaderos Numérica discreta Conteo
banios Numérica discreta Conteo
habitaciones Numérica discreta Conteo
tipo Categórica nominal Casa / apartamento
barrio Categórica nominal Nombre del barrio
lat Numérica continua Coordenada geográfica
long Numérica continua Coordenada geográfica

Pasos requeridos para la obtención de los resultados:

5 Procesamiento de Datos - Análisis exploratorio interactivo

5.1 Paso 1:

  1. Realice un filtro a la base de datos e incluya solo las ofertas de: base1: casas, de la zona norte de la ciudad. Presente los primeros 3 registros de las bases y algunas tablas que comprueben la consulta. (Adicional un mapa con los puntos de las bases. Discutir si todos los puntos se ubican en la zona correspondiente o se presentan valores en otras zonas, por que?).
## # A tibble: 6 × 2
## # Groups:   zona [6]
##   zona             n
##   <fct>        <int>
## 1 Zona Centro    124
## 2 Zona Norte    1920
## 3 Zona Oeste    1198
## 4 Zona Oriente   351
## 5 Zona Sur      4726
## 6 <NA>             3
## Rows: 722
## Columns: 13
## $ id           <chr> "1209", "1592", "4057", "4460", "6081", "7824", "7987", "…
## $ zona         <fct> Zona Norte, Zona Norte, Zona Norte, Zona Norte, Zona Nort…
## $ piso         <dbl> 2, 2, 2, 2, 2, 2, 2, 3, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ estrato      <dbl> 5, 5, 6, 4, 5, 4, 5, 5, 3, 3, 3, 3, 5, 3, 4, 4, 5, 5, 4, …
## $ preciom      <dbl> 320, 780, 750, 625, 750, 600, 420, 490, 230, 190, 180, 50…
## $ areaconst    <dbl> 150, 380, 445, 355, 237, 160, 200, 118, 160, 435, 120, 21…
## $ parqueaderos <dbl> 2, 2, NA, 3, 2, 1, 4, 2, NA, NA, NA, NA, NA, NA, NA, NA, …
## $ banios       <dbl> 4, 3, 7, 5, 6, 4, 4, 4, 2, 0, 3, 6, 5, 5, 3, 3, 4, 5, 5, …
## $ habitaciones <dbl> 6, 3, 6, 5, 6, 5, 5, 4, 3, 0, 3, 6, 4, 8, 4, 3, 4, 6, 4, …
## $ tipo         <fct> Casa, Casa, Casa, Casa, Casa, Casa, Casa, Casa, Casa, Cas…
## $ barrio       <fct> acopi, acopi, acopi, acopi, acopi, acopi, acopi, acopi, a…
## $ long         <dbl> -76.51341, -76.51674, -76.52950, -76.53179, -76.54044, -7…
## $ lat          <dbl> 3.47968, 3.48721, 3.38527, 3.40590, 3.36862, 3.42125, 3.4…
## # A tibble: 3 × 13
##   id    zona     piso estrato preciom areaconst parqueaderos banios habitaciones
##   <chr> <fct>   <dbl>   <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>
## 1 1209  Zona N…     2       5     320       150            2      4            6
## 2 1592  Zona N…     2       5     780       380            2      3            3
## 3 4057  Zona N…     2       6     750       445           NA      7            6
## # ℹ 4 more variables: tipo <fct>, barrio <fct>, long <dbl>, lat <dbl>

5.1.1 Clasificación espacial de las viviendas

Del gráfico se concluye que es necesario corregir la variable de zona porque se encuentran mal clasificadas una gran cantidad de viviendas. Probablemente la clasificación se realizó manualmente y corresponden a errores de digitación. Afortunadamente, se cuenta con las coordenadas de ubicación. Así, con el fin de analizar la distribución geográfica de las viviendas, se realizó una clasificación de las observaciones a partir de sus coordenadas geográficas (latitud y longitud).

Se utilizaron los valores de los cuartiles y la mediana de las coordenadas para identificar cinco zonas aproximadas dentro de la ciudad: Norte, Sur, Oriente, Oeste y Centro. Las viviendas con latitudes superiores al tercer cuartil se clasificaron como Zona Norte, mientras que aquellas con latitudes inferiores al primer cuartil se clasificaron como Zona Sur. De manera similar, las longitudes extremas permitieron identificar las zonas Oriente y Oeste. Las observaciones restantes se clasificaron como Zona Centro.

Esta clasificación permite estudiar la distribución espacial de las viviendas y analizar posibles diferencias en variables como precio, área construida o número de habitaciones según la ubicación geográfica.

lat >= 3.452 ~ “Zona Norte”,lat <= 3.381 ~ “Zona Sur”, long <= -76.542 ~ “Zona Oeste”, long >= -76.519 ~ “Zona Oriente”, TRUE ~ “Zona Centro”

Así se observa la nueva clasificación:

Data summary
Name base1
Number of rows 8322
Number of columns 14
_______________________
Column type frequency:
character 2
factor 3
numeric 9
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
id 3 1 1 4 0 8319 0
zona_geo 0 1 8 12 0 5 0

Variable type: factor

skim_variable n_missing complete_rate ordered n_unique top_counts
zona 3 1 FALSE 5 Zon: 4726, Zon: 1920, Zon: 1198, Zon: 351
tipo 3 1 FALSE 2 Apa: 5100, Cas: 3219
barrio 3 1 FALSE 436 val: 1008, ciu: 516, pan: 409, la : 366

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
piso 2638 0.68 3.77 2.61 1.00 2.00 3.00 5.00 12.00 ▇▃▁▁▁
estrato 3 1.00 4.63 1.03 3.00 4.00 5.00 5.00 6.00 ▅▆▁▇▆
preciom 2 1.00 433.89 328.65 58.00 220.00 330.00 540.00 1999.00 ▇▂▁▁▁
areaconst 3 1.00 174.93 142.96 30.00 80.00 123.00 229.00 1745.00 ▇▁▁▁▁
parqueaderos 1605 0.81 1.84 1.12 1.00 1.00 2.00 2.00 10.00 ▇▁▁▁▁
banios 3 1.00 3.11 1.43 0.00 2.00 3.00 4.00 10.00 ▇▇▃▁▁
habitaciones 3 1.00 3.61 1.46 0.00 3.00 3.00 4.00 10.00 ▂▇▂▁▁
long 3 1.00 -76.53 0.02 -76.59 -76.54 -76.53 -76.52 -76.46 ▁▅▇▂▁
lat 3 1.00 3.42 0.04 3.33 3.38 3.42 3.45 3.50 ▃▇▅▇▅

A partir del resumen de datos se encuentran variables que es necesario procesar antes de poder realizar la modelación:

  • parqueaderos: se observa que no existe un dato para viviendas sin parqueadero, y en cambio existen 1605 datos como NA. Por lo tanto, se imputan los datos: parqueaderos -> NA = 0.

  • piso: se observa que no existe un dato para viviendas ubicadas en el primer piso, y en cambio existen 1605 datos como NA. Por lo tanto, se imputan los datos: piso -> NA = 1.

  • datos faltantes: se observan datos faltantes para todas las variables, por lo que se procede a eliminar estos datos:
## # A tibble: 3 × 14
##   id    zona   piso estrato preciom areaconst parqueaderos banios habitaciones
##   <chr> <fct> <dbl>   <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>
## 1 <NA>  <NA>      1      NA      NA        NA            0     NA           NA
## 2 <NA>  <NA>      1      NA      NA        NA            0     NA           NA
## 3 <NA>  <NA>      1      NA     330        NA            0     NA           NA
## # ℹ 5 more variables: tipo <fct>, barrio <fct>, long <dbl>, lat <dbl>,
## #   zona_geo <chr>

5.1.2 Análisis de codificación de la variable barrio

## # A tibble: 10 × 1
##    barrio         
##    <fct>          
##  1 20 de julio    
##  2 3 de julio     
##  3 acopi          
##  4 agua blanca    
##  5 aguablanca     
##  6 aguacatal      
##  7 alameda        
##  8 alameda del rio
##  9 alameda del río
## 10 alamos

En este punto se analiza la variable barrio. Al revisar los barrios únicos en las primeras observaciones se identificaron inconsistencias en la digitación y codificación de esta variable, como diferencias en el uso de mayúsculas, presencia o ausencia de tildes, espacios adicionales y caracteres especiales.

Por lo anterior, se realizó un proceso de estandarización aplicando las siguientes transformaciones:

  • Conversión de todos los textos a minúsculas
  • Eliminación de tildes
  • Eliminación de caracteres especiales
  • Eliminación de espacios redundantes
  • Homogeneización de las categorías

Este proceso permite reducir categorías duplicadas que en realidad corresponden al mismo barrio pero estaban registradas con diferentes formas de escritura.

Finalmente, se comparó el número de categorías únicas antes y después del proceso de depuración para verificar la reducción de inconsistencias en la codificación de la variable.

## [1] "Antes de la depuración: 436 | Después de la depuración: 389"

Adicionalmente, es necesario agrupar los barrios antes realizar el modelo para evitar problemas de demasiados niveles, lo ideal es reducir los barrios a los más frecuentes y poner el resto en una categoría “otros”.

Hasta este punto se encuentra con la base de datos sin datos perdidos y con la zona corregida:

Data summary
Name base1
Number of rows 8319
Number of columns 14
_______________________
Column type frequency:
character 2
factor 3
numeric 9
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
id 0 1 1 4 0 8319 0
zona_geo 0 1 8 12 0 5 0

Variable type: factor

skim_variable n_missing complete_rate ordered n_unique top_counts
zona 0 1 FALSE 5 Zon: 4726, Zon: 1920, Zon: 1198, Zon: 351
tipo 0 1 FALSE 2 Apa: 5100, Cas: 3219
barrio 0 1 FALSE 21 Oth: 3755, val: 1009, ciu: 540, pan: 412

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
piso 0 1 2.89 2.52 1.00 1.00 2.00 4.00 12.00 ▇▂▁▁▁
estrato 0 1 4.63 1.03 3.00 4.00 5.00 5.00 6.00 ▅▆▁▇▆
preciom 0 1 433.90 328.67 58.00 220.00 330.00 540.00 1999.00 ▇▂▁▁▁
areaconst 0 1 174.93 142.96 30.00 80.00 123.00 229.00 1745.00 ▇▁▁▁▁
parqueaderos 0 1 1.48 1.24 0.00 1.00 1.00 2.00 10.00 ▇▁▁▁▁
banios 0 1 3.11 1.43 0.00 2.00 3.00 4.00 10.00 ▇▇▃▁▁
habitaciones 0 1 3.61 1.46 0.00 3.00 3.00 4.00 10.00 ▂▇▂▁▁
long 0 1 -76.53 0.02 -76.59 -76.54 -76.53 -76.52 -76.46 ▁▅▇▂▁
lat 0 1 3.42 0.04 3.33 3.38 3.42 3.45 3.50 ▃▇▅▇▅

5.2 Paso 2:

  1. Realice un análisis exploratorio de datos enfocado en la correlación entre la variable respuesta (precio de la casa) en función del área construida, estrato, numero de baños, numero de habitaciones y zona donde se ubica la vivienda. Use gráficos interactivos con el paquete plotly e interprete los resultados.

Para complementar el análisis exploratorio de datos, se utilizan gráficos interactivos mediante la librería plotly. Este tipo de visualizaciones permite explorar dinámicamente la información, identificar patrones, detectar valores atípicos y analizar relaciones entre variables.

Observando la distribución del precio de la vivienda se observa que no se distribuye normal, sino que tiene cola pesada a la derecha.

5.2.1 Mapa de precios de viviendas

5.2.2 Relación entre área construida y precio


5.2.3 Relación entre número de habitaciones y precio

Este gráfico permite analizar si existe una relación entre el número de habitaciones y el precio de la vivienda.


5.2.4 Relación entre número de baños y precio

El siguiente gráfico permite evaluar si el número de baños influye en el precio de la vivienda.


5.2.5 Relación entre el piso de la vivienda y precio

El siguiente gráfico permite evaluar si el piso en que se ubica la vivienda influye en el precio.

5.2.6 Matriz de correlación de variables numéricas

La matriz de correlación permite identificar relaciones lineales entre variables numéricas. Valores cercanos a 1 o -1 indican relaciones fuertes entre variables.


5.3 Paso 3 - Modelo de regresión lineal:

  1. Estime un modelo de regresión lineal múltiple con las variables del punto anterior (precio = f(área construida, estrato, número de cuartos, número de parqueaderos, número de baños )) e interprete los coeficientes si son estadísticamente significativos. Las interpretaciones deber están contextualizadas y discutir si los resultados son lógicos. Adicionalmente interprete el coeficiente R2 y discuta el ajuste del modelo e implicaciones (que podrían hacer para mejorarlo).

A continuación, se ajusta un modelo de regresión lineal para explicar el precio de la vivienda en función de diferentes características estructurales de la vivienda.

## 
## Call:
## lm(formula = preciom ~ areaconst + habitaciones + banios + parqueaderos + 
##     estrato + tipo + zona_geo + piso + barrio, data = base1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1586.32   -79.28    -8.11    49.30  1196.47 
## 
## Coefficients:
##                               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                 -201.17686   18.81704 -10.691  < 2e-16 ***
## areaconst                      0.95202    0.01915  49.721  < 2e-16 ***
## habitaciones                 -20.44924    1.82590 -11.200  < 2e-16 ***
## banios                        51.13968    2.15194  23.764  < 2e-16 ***
## parqueaderos                  44.04608    1.96243  22.445  < 2e-16 ***
## estrato                       69.66965    2.76586  25.189  < 2e-16 ***
## tipoCasa                      -4.35778    5.38296  -0.810 0.418222    
## zona_geoZona Norte            16.98037    6.00584   2.827 0.004705 ** 
## zona_geoZona Oeste             1.20793    6.60351   0.183 0.854863    
## zona_geoZona Oriente           0.88006    7.62144   0.115 0.908074    
## zona_geoZona Sur               6.82551    7.19363   0.949 0.342736    
## piso                           1.23958    0.79453   1.560 0.118764    
## barrioaguacatal              131.30893   21.09856   6.224 5.09e-10 ***
## barriobrisas de los          -13.49020   23.15049  -0.583 0.560099    
## barriocaney                  -61.08803   22.18172  -2.754 0.005900 ** 
## barriociudad 2000            -45.97192   21.84810  -2.104 0.035394 *  
## barriociudad jardin           44.13601   15.90442   2.775 0.005531 ** 
## barriocristales               58.11556   22.97032   2.530 0.011424 *  
## barrioel caney               -71.02527   17.96884  -3.953 7.79e-05 ***
## barrioel ingenio             -94.03866   17.93655  -5.243 1.62e-07 ***
## barrioel limonar            -103.00143   19.76550  -5.211 1.92e-07 ***
## barrioel refugio             -72.91357   20.80028  -3.505 0.000458 ***
## barriola flora               -76.31916   16.52615  -4.618 3.93e-06 ***
## barriola hacienda            -37.25444   18.96205  -1.965 0.049484 *  
## barriolos cristales           26.42228   19.56556   1.350 0.176909    
## barrionormandia              163.15127   19.41201   8.405  < 2e-16 ***
## barriopance                  118.14794   16.41315   7.198 6.63e-13 ***
## barrioprados del norte       -98.07302   20.23106  -4.848 1.27e-06 ***
## barriosanta teresita         191.94224   17.50538  10.965  < 2e-16 ***
## barriourbanizacion la flora  -67.81954   22.95185  -2.955 0.003137 ** 
## barriovalle del lili         -66.15171   14.77665  -4.477 7.68e-06 ***
## barrioOther                  -25.27242   13.79533  -1.832 0.066994 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 164.6 on 8287 degrees of freedom
## Multiple R-squared:  0.7502, Adjusted R-squared:  0.7493 
## F-statistic: 802.8 on 31 and 8287 DF,  p-value: < 2.2e-16

5.3.1 Selección de variables mediante Forward Stepwise

Se define primero el modelo nulo (solo intercepto) y posteriormente el modelo completo con todos los predictores disponibles.

##             Step  Df     Deviance Resid. Df Resid. Dev      AIC
## 1                 NA           NA      8318  898516169 96418.86
## 2    + areaconst  -1 424506409.21      8317  474009760 91100.72
## 3      + estrato  -1 172418100.99      8316  301591659 87341.25
## 4       + barrio -20  40249041.07      8296  261342618 86189.62
## 5 + parqueaderos  -1  20878378.21      8295  240464240 85498.98
## 6       + banios  -1  11756090.86      8294  228708149 85083.99
## 7 + habitaciones  -1   3859718.82      8293  224848430 84944.40
## 8     + zona_geo  -4    279946.59      8289  224568483 84942.03
## 9         + piso  -1     96298.33      8288  224472185 84940.47

El procedimiento de selección forward stepwise muestra cómo se van incorporando progresivamente las variables que mejor explican la variabilidad del precio de las viviendas (preciom). Inicialmente, el modelo parte de un modelo nulo que solo incluye el intercepto y presenta un AIC de 96418.86. La primera variable incorporada es areaconst, que genera una reducción considerable del AIC y de la desviación residual, indicando que el área construida es el principal determinante del precio. Posteriormente se agrega barrio, lo que evidencia que la ubicación específica de la vivienda tiene un fuerte impacto en el valor del inmueble. En los siguientes pasos se incorporan parqueaderos, banios, estrato y habitaciones, variables que también contribuyen a mejorar el ajuste del modelo al reducir progresivamente el AIC. Finalmente se añade la variable piso, aunque su contribución al modelo es menor en comparación con las variables anteriores. En general, los resultados sugieren que las características físicas de la vivienda y su ubicación son factores clave en la determinación del precio, siendo el área construida y el barrio los predictores más influyentes.

5.4 Modelo final seleccionado

## 
## Call:
## lm(formula = preciom ~ areaconst + estrato + barrio + parqueaderos + 
##     banios + habitaciones + zona_geo + piso, data = base1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1580.09   -79.41    -7.89    50.04  1193.62 
## 
## Coefficients:
##                               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                 -202.70896   18.72123 -10.828  < 2e-16 ***
## areaconst                      0.94683    0.01804  52.483  < 2e-16 ***
## estrato                       70.11426    2.71073  25.865  < 2e-16 ***
## barrioaguacatal              131.82903   21.08834   6.251 4.27e-10 ***
## barriobrisas de los          -13.39105   23.14968  -0.578 0.562973    
## barriocaney                  -61.27191   22.18010  -2.762 0.005749 ** 
## barriociudad 2000            -47.32621   21.78351  -2.173 0.029841 *  
## barriociudad jardin           43.39056   15.87741   2.733 0.006292 ** 
## barriocristales               58.24820   22.96926   2.536 0.011233 *  
## barrioel caney               -71.36600   17.96353  -3.973 7.16e-05 ***
## barrioel ingenio             -93.98992   17.93607  -5.240 1.64e-07 ***
## barrioel limonar            -103.27207   19.76226  -5.226 1.78e-07 ***
## barrioel refugio             -73.23162   20.79613  -3.521 0.000432 ***
## barriola flora               -76.60518   16.52203  -4.637 3.60e-06 ***
## barriola hacienda            -37.72442   18.95277  -1.990 0.046575 *  
## barriolos cristales           26.66006   19.56294   1.363 0.172988    
## barrionormandia              163.76669   19.39672   8.443  < 2e-16 ***
## barriopance                  117.94752   16.41094   7.187 7.19e-13 ***
## barrioprados del norte       -98.15426   20.23039  -4.852 1.25e-06 ***
## barriosanta teresita         192.80651   17.47243  11.035  < 2e-16 ***
## barriourbanizacion la flora  -68.01957   22.95004  -2.964 0.003047 ** 
## barriovalle del lili         -66.25555   14.77578  -4.484 7.42e-06 ***
## barrioOther                  -25.46255   13.79304  -1.846 0.064922 .  
## parqueaderos                  44.02885    1.96227  22.438  < 2e-16 ***
## banios                        50.89044    2.12976  23.895  < 2e-16 ***
## habitaciones                 -20.72573    1.79364 -11.555  < 2e-16 ***
## zona_geoZona Norte            17.15507    6.00184   2.858 0.004270 ** 
## zona_geoZona Oeste             1.48190    6.59469   0.225 0.822209    
## zona_geoZona Oriente           0.70509    7.61822   0.093 0.926261    
## zona_geoZona Sur               6.93017    7.19232   0.964 0.335299    
## piso                           1.43057    0.75868   1.886 0.059382 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 164.6 on 8288 degrees of freedom
## Multiple R-squared:  0.7502, Adjusted R-squared:  0.7493 
## F-statistic: 829.6 on 30 and 8288 DF,  p-value: < 2.2e-16

5.4.1 División del conjunto de datos (training y test)

Se selecciona aleatoriamente el 60% de los datos para el entrenamiento del modelo.

## 
## Call:
## lm(formula = preciom ~ areaconst + estrato + barrio + parqueaderos + 
##     banios + habitaciones + zona_geo + piso, data = base1, subset = train)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1055.04   -81.04    -7.90    51.06  1185.20 
## 
## Coefficients:
##                               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                 -205.65033   24.69812  -8.327  < 2e-16 ***
## areaconst                      0.95520    0.02328  41.029  < 2e-16 ***
## estrato                       68.58082    3.58043  19.154  < 2e-16 ***
## barrioaguacatal              148.14849   28.07510   5.277 1.37e-07 ***
## barriobrisas de los           -1.62010   29.38870  -0.055 0.956040    
## barriocaney                  -56.29487   27.91324  -2.017 0.043772 *  
## barriociudad 2000            -48.11376   30.16947  -1.595 0.110824    
## barriociudad jardin           55.55588   21.30055   2.608 0.009130 ** 
## barriocristales               70.85525   29.99512   2.362 0.018204 *  
## barrioel caney               -58.10493   23.49678  -2.473 0.013436 *  
## barrioel ingenio             -89.02903   23.83089  -3.736 0.000189 ***
## barrioel limonar            -117.09599   27.14098  -4.314 1.63e-05 ***
## barrioel refugio             -70.35971   27.43298  -2.565 0.010353 *  
## barriola flora               -63.92906   22.14245  -2.887 0.003904 ** 
## barriola hacienda            -29.62564   25.06465  -1.182 0.237275    
## barriolos cristales           12.57304   25.84597   0.486 0.626662    
## barrionormandia              204.81112   25.74127   7.957 2.18e-15 ***
## barriopance                  123.22703   21.99917   5.601 2.24e-08 ***
## barrioprados del norte       -75.73998   26.88394  -2.817 0.004862 ** 
## barriosanta teresita         200.91033   22.99799   8.736  < 2e-16 ***
## barriourbanizacion la flora  -66.19770   29.60407  -2.236 0.025389 *  
## barriovalle del lili         -54.74839   19.93630  -2.746 0.006051 ** 
## barrioOther                  -10.93880   18.55512  -0.590 0.555533    
## parqueaderos                  43.85876    2.54991  17.200  < 2e-16 ***
## banios                        54.06991    2.74904  19.669  < 2e-16 ***
## habitaciones                 -22.46622    2.35232  -9.551  < 2e-16 ***
## zona_geoZona Norte             9.21332    7.83205   1.176 0.239507    
## zona_geoZona Oeste             3.93221    8.62592   0.456 0.648511    
## zona_geoZona Oriente          -3.15606   10.02504  -0.315 0.752913    
## zona_geoZona Sur               3.99651    9.37051   0.426 0.669763    
## piso                           0.98505    0.97940   1.006 0.314572    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 166.9 on 4960 degrees of freedom
## Multiple R-squared:  0.751,  Adjusted R-squared:  0.7495 
## F-statistic: 498.6 on 30 and 4960 DF,  p-value: < 2.2e-16

El modelo final elegido presenta un buen ajuste y capacidad explicativa, aunque el error residual indica que todavía existe variabilidad en los precios que no es capturada completamente por las variables consideradas.

El error estándar residual (Residual standard error = 167) indica que, en promedio, las predicciones del modelo se desvían alrededor de 167 millones de pesos respecto al valor real del precio de las viviendas. Este valor se calcula a partir de 4961 grados de libertad, que corresponden aproximadamente al número de observaciones menos el número de parámetros estimados en el modelo.

El coeficiente de determinación \(R^2\)=0.751 muestra que aproximadamente el 75.1% de la variabilidad del precio de las viviendas es explicada por las variables incluidas en el modelo (como área construida, número de habitaciones, baños, parqueaderos, estrato, barrio, etc.). Esto indica que el modelo tiene una buena capacidad explicativa.

El \(R^2\) ajustado (0.7495) tiene en cuenta el número de variables incluidas en el modelo y penaliza la inclusión de predictores innecesarios. En este caso, el valor sigue siendo alto (74.95%), lo que sugiere que la mayoría de las variables aportan información relevante para explicar el precio.

Finalmente, el estadístico F = 515.9 con un p-valor menor a 2.2e-16 indica que el modelo es globalmente significativo. Es decir, existe evidencia estadística muy fuerte para afirmar que al menos una de las variables explicativas está relacionada con el precio de la vivienda, y que el modelo es mejor que un modelo sin predictores.

5.5 Paso 4:

  1. Realice la validación de supuestos del modelo e interprete los resultados (no es necesario corregir en caso de presentar problemas, solo realizar sugerencias de que se podría hacer).

5.5.1 Cálculo del error de predicción

Se calcula el error cuadrático medio (MSE) utilizando el conjunto de prueba.

## [1] 26123.44

5.5.2 Distribución del error de validación

Se repite el proceso de entrenamiento y validación 100 veces para analizar la variabilidad del error de predicción.

## 
## ORDINARY NONPARAMETRIC BOOTSTRAP
## 
## 
## Call:
## boot(data = base1, statistic = fun_coeficientes, R = 9999)
## 
## 
## Bootstrap Statistics :
##          original       bias    std. error
## t1*  -202.7089648  0.196221463 19.19503376
## t2*     0.9468251  0.002234377  0.05081084
## t3*    70.1142639 -0.047940630  3.21725403
## t4*   131.8290281  0.030687754 24.04913741
## t5*   -13.3910509  0.037064829 12.70190898
## t6*   -61.2719083  0.260055856 13.16819355
## t7*   -47.3262053  0.059612020 14.88851863
## t8*    43.3905602  0.051085882 14.88305745
## t9*    58.2482001  0.536669663 26.02839236
## t10*  -71.3659984  0.117571079 12.16995236
## t11*  -93.9899158  0.178204954 13.02551588
## t12* -103.2720668  0.262564422 15.37957752
## t13*  -73.2316196  0.121392935 13.91635078
## t14*  -76.6051835  0.129350993 12.61786250
## t15*  -37.7244241  0.194940342 14.12346626
## t16*   26.6600555  0.277324126 19.04197761
## t17*  163.7666897  0.555177163 25.03630181
## t18*  117.9475154  0.154280968 17.43063818
## t19*  -98.1542589  0.234043880 13.83240280
## t20*  192.8065126  0.015744075 20.52226367
## t21*  -68.0195684  0.245205093 17.10918965
## t22*  -66.2555488  0.212605942 11.31253356
## t23*  -25.4625467  0.134450580 11.16483215
## t24*   44.0288507 -0.052538929  3.22832526
## t25*   50.8904447 -0.064782193  3.28418885
## t26*  -20.7257270 -0.071598834  2.46249385
## t27*   17.1550684  0.071068232  6.12706311
## t28*    1.4819028  0.052928116  6.78622618
## t29*    0.7050893  0.121236019  6.20051181
## t30*    6.9301694  0.066053377  7.00233107
## t31*    1.4305728 -0.005858102  0.78256003

Este resultado corresponde a un bootstrap no paramétrico aplicado a los coeficientes del modelo de regresión. El objetivo del bootstrap es evaluar la estabilidad y variabilidad de los coeficientes del modelo mediante la generación de muchas muestras aleatorias con reemplazo (en este caso 9999 muestras).

En la tabla se presentan tres columnas principales. La columna original muestra el valor del coeficiente estimado en el modelo ajustado con la muestra original de datos. La columna bias indica el sesgo del estimador, es decir, la diferencia promedio entre los coeficientes estimados en las muestras bootstrap y el coeficiente original. En este caso, la mayoría de los valores de sesgo son cercanos a cero, lo que sugiere que los estimadores no presentan un sesgo importante. Finalmente, la columna std. error corresponde al error estándar bootstrap, que mide la variabilidad de cada coeficiente entre las diferentes muestras generadas.

Por ejemplo, el coeficiente t1 tiene un valor original de aproximadamente -201.66, con un sesgo muy pequeño (0.32) y un error estándar de 19.03, lo que indica que su estimación es relativamente estable. De forma similar, el coeficiente t2 presenta un valor cercano a 0.95 con un error estándar pequeño (0.05), lo que sugiere una estimación bastante precisa. Otros coeficientes, como t4 o t16, presentan errores estándar más grandes, lo que indica mayor variabilidad en su estimación.

En términos generales, los resultados del bootstrap indican que los coeficientes del modelo son relativamente estables, ya que los sesgos estimados son pequeños y los errores estándar no muestran variaciones extremas. Esto sugiere que el modelo presenta una estimación consistente de los parámetros, y que los resultados obtenidos no dependen excesivamente de una muestra específica del conjunto de datos. Sin embargo, algunos coeficientes con errores estándar mayores podrían requerir un análisis adicional para evaluar su importancia dentro del modelo.

r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual nobs
0.750 0.749 164.572 829.572 0 30 -54243.38 108550.8 108775.6 224472185 8288 8319
0.709 0.708 177.489 919.377 0 22 -54875.96 109799.9 109968.6 261342618 8296 8319
0.664 0.664 190.437 8229.711 0 2 -55471.78 110951.6 110979.7 301591659 8316 8319
0.472 0.472 238.732 7448.412 0 1 -57352.51 114711.0 114732.1 474009760 8317 8319
## 
## ==========================================================================
##                                          Dependent variable:              
##                             ----------------------------------------------
##                                                preciom                    
##                               modelo1     modelo2     modelo3    modelo4  
## --------------------------------------------------------------------------
## areaconst                    0.947***    1.242***    1.293***    1.580*** 
##                               (0.018)     (0.015)     (0.015)    (0.018)  
##                                                                           
## estrato                      70.114***  110.986***  145.466***            
##                               (2.711)     (2.512)     (2.110)             
##                                                                           
## barrioaguacatal             131.829***  216.974***                        
##                              (21.088)    (22.132)                         
##                                                                           
## barriobrisas de los           -13.391     45.350                          
##                              (23.150)    (24.480)                         
##                                                                           
## barriocaney                  -61.272**    -22.452                         
##                              (22.180)    (23.649)                         
##                                                                           
## barriociudad 2000            -47.326*     -0.600                          
##                              (21.784)    (23.026)                         
##                                                                           
## barriociudad jardin          43.391**   121.065***                        
##                              (15.877)    (16.355)                         
##                                                                           
## barriocristales               58.248*    98.708***                        
##                              (22.969)    (24.227)                         
##                                                                           
## barrioel caney              -71.366***    -24.099                         
##                              (17.964)    (18.768)                         
##                                                                           
## barrioel ingenio            -93.990***   -45.578*                         
##                              (17.936)    (18.882)                         
##                                                                           
## barrioel limonar            -103.272***  -50.254*                         
##                              (19.762)    (20.806)                         
##                                                                           
## barrioel refugio            -73.232***    -16.727                         
##                              (20.796)    (21.526)                         
##                                                                           
## barriola flora              -76.605***    -28.765                         
##                              (16.522)    (16.918)                         
##                                                                           
## barriola hacienda            -37.724*      3.926                          
##                              (18.953)    (19.775)                         
##                                                                           
## barriolos cristales           26.660     73.996***                        
##                              (19.563)    (20.298)                         
##                                                                           
## barrionormandia             163.767***  238.182***                        
##                              (19.397)    (20.188)                         
##                                                                           
## barriopance                 117.948***  214.731***                        
##                              (16.411)    (16.949)                         
##                                                                           
## barrioprados del norte      -98.154***    -38.820                         
##                              (20.230)    (21.175)                         
##                                                                           
## barriosanta teresita        192.807***  258.278***                        
##                              (17.472)    (18.145)                         
##                                                                           
## barriourbanizacion la flora  -68.020**    -9.271                          
##                              (22.950)    (24.090)                         
##                                                                           
## barriovalle del lili        -66.256***    -25.192                         
##                              (14.776)    (15.262)                         
##                                                                           
## barrioOther                   -25.463     17.985                          
##                              (13.793)    (14.444)                         
##                                                                           
## parqueaderos                 44.029***                                    
##                               (1.962)                                     
##                                                                           
## banios                       50.890***                                    
##                               (2.130)                                     
##                                                                           
## habitaciones                -20.726***                                    
##                               (1.794)                                     
##                                                                           
## zona_geoZona Norte           17.155**                                     
##                               (6.002)                                     
##                                                                           
## zona_geoZona Oeste             1.482                                      
##                               (6.595)                                     
##                                                                           
## zona_geoZona Oriente           0.705                                      
##                               (7.618)                                     
##                                                                           
## zona_geoZona Sur               6.930                                      
##                               (7.192)                                     
##                                                                           
## piso                           1.431                                      
##                               (0.759)                                     
##                                                                           
## Constant                    -202.709*** -334.623*** -466.301*** 157.476***
##                              (18.721)    (18.073)     (9.630)    (4.136)  
##                                                                           
## --------------------------------------------------------------------------
## Observations                   8,319       8,319       8,319      8,319   
## R2                             0.750       0.709       0.664      0.472   
## Adjusted R2                    0.749       0.708       0.664      0.472   
## ==========================================================================
## Note:                                        *p<0.05; **p<0.01; ***p<0.001

Los resultados del modelo de regresión final permiten identificar qué variables tienen mayor impacto en el precio de las viviendas (preciom) y cuáles resultan estadísticamente significativas.

En primer lugar, el área construida (areaconst) es el predictor más importante, con un coeficiente de 0.95 y un valor t muy alto (52.48) con p-valor ≈ 0. Esto indica que, en promedio, cada metro cuadrado adicional aumenta el precio de la vivienda en aproximadamente 0.95 millones de pesos, manteniendo constantes las demás variables.

Otra variable altamente significativa es el estrato, con un coeficiente de 69.9. Esto implica que aumentar un nivel de estrato incrementa el precio en aproximadamente 70 millones de pesos, lo cual refleja el fuerte efecto socioeconómico de la ubicación sobre el valor de la vivienda.

Entre las características físicas, también destacan el número de baños y parqueaderos, ambos con coeficientes positivos y altamente significativos. En particular, cada baño adicional aumenta el precio en aproximadamente 50.9 millones, mientras que cada parqueadero adicional incrementa el valor en cerca de 44 millones de pesos.

En contraste, el coeficiente de habitaciones es negativo (-20.78), lo cual puede interpretarse como que, manteniendo constante el área construida, un mayor número de habitaciones implica espacios más pequeños, lo que tiende a reducir el precio promedio de la vivienda.

Respecto a la ubicación por barrio, se observan diferencias importantes frente al barrio de referencia. Algunos barrios presentan primas de precio, como Santa Teresita (+193 millones), Normandía (+163 millones) y Pance (+118 millones), lo que sugiere que son zonas con viviendas de mayor valor. En cambio, barrios como El Limonar, El Ingenio o Prados del Norte presentan coeficientes negativos, indicando precios relativamente menores respecto al barrio base.

Finalmente, la variable zona geográfica tiene efectos más moderados. Solo Zona Norte resulta estadísticamente significativa, con un incremento aproximado de 17.6 millones en el precio. Las demás zonas no muestran efectos significativos. En conjunto, estos resultados sugieren que el precio de las viviendas está principalmente determinado por el área construida, el estrato socioeconómico, las características del inmueble y el barrio específico donde se ubica la propiedad.

5.5.3 Validación de supuestos del modelo

Una vez ajustado el modelo de regresión lineal, es necesario verificar si se cumplen los supuestos del modelo. Entre los supuestos principales se encuentran:

  • Linealidad
  • Normalidad de los residuos
  • Homocedasticidad
  • Independencia de los errores
  • Ausencia de multicolinealidad

Para ello se analizan diferentes gráficos y pruebas estadísticas.


5.5.4 Análisis gráfico de los residuos

Los gráficos de diagnóstico permiten evaluar visualmente el cumplimiento de los supuestos del modelo.

Interpretación de los gráficos:

  • Residuals vs Fitted: permite verificar la linealidad y homocedasticidad.
  • Normal Q-Q: permite evaluar si los residuos siguen una distribución normal.
  • Scale-Location: permite analizar la homogeneidad de la varianza.
  • Residuals vs Leverage: permite identificar observaciones influyentes.
  1. Residuals vs Fitted:

Este gráfico permite evaluar la linealidad y homocedasticidad del modelo. Idealmente, los residuos deberían distribuirse aleatoriamente alrededor de cero sin mostrar patrones claros. En el gráfico se observa que, a medida que aumentan los valores ajustados (precios estimados), la dispersión de los residuos también aumenta ligeramente. Esto sugiere la presencia de heterocedasticidad, es decir, que la varianza de los errores no es constante. Además, algunos puntos extremos indican posibles observaciones atípicas.

  1. Q-Q Residuals: Este gráfico compara la distribución de los residuos con una distribución normal teórica. Si los residuos fueran normales, los puntos seguirían aproximadamente la línea diagonal. En este caso se observa que en los extremos los puntos se alejan de la línea, lo que indica desviaciones de la normalidad, especialmente en las colas de la distribución.

  2. Scale-Location: Este gráfico también evalúa la homocedasticidad. Se espera observar una banda horizontal con dispersión constante. Sin embargo, la línea roja muestra una tendencia creciente, lo que confirma que la variabilidad de los residuos aumenta con el valor ajustado del modelo. Esto refuerza la evidencia de heterocedasticidad en el modelo.

  3. Residuals vs Leverage: Este gráfico permite identificar observaciones influyentes que pueden afectar significativamente el ajuste del modelo. La mayoría de los puntos presentan valores de leverage bajos, lo que es positivo. No obstante, algunas observaciones aparecen más alejadas y cercanas a las líneas de Cook’s distance, lo que sugiere que podrían tener una influencia importante en el modelo y sería recomendable analizarlas con mayor detalle.

En conjunto, los gráficos indican que, aunque el modelo presenta una buena capacidad explicativa, existen indicios de heterocedasticidad, desviaciones de normalidad y algunos posibles puntos influyentes, por lo que podrían considerarse transformaciones de variables (por ejemplo, logaritmo del precio) o métodos robustos para mejorar el ajuste del modelo. Esto se confirma con las siguientes pruebas:


5.5.5 Prueba de normalidad de los residuos

Se aplica la prueba de Shapiro-Wilk para evaluar si los residuos siguen una distribución normal.

## 
##  Shapiro-Wilk normality test
## 
## data:  res
## W = 0.84194, p-value < 2.2e-16

Interpretación:

  • Si p-value > 0.05, no se rechaza la hipótesis de normalidad.
  • Si p-value < 0.05, los residuos no siguen una distribución normal.

En este caso se rechaza la normalidad de los residuos. Al no cumplirse el supuesto se podría considerar aplicar transformaciones sobre la variable respuesta, como el logaritmo del precio o hacer la transformación a \(precio/m^2\).


5.5.6 Evaluación de multicolinealidad

La multicolinealidad ocurre cuando dos o más variables explicativas están altamente correlacionadas. Para detectarla se utiliza el Factor de Inflación de la Varianza (VIF).

##                  GVIF Df GVIF^(1/(2*Df))
## areaconst    2.042978  1        1.429328
## estrato      2.390541  1        1.546137
## barrio       9.698375 20        1.058443
## parqueaderos 1.827585  1        1.351882
## banios       2.841524  1        1.685682
## habitaciones 2.104781  1        1.450786
## zona_geo     5.432186  4        1.235583
## piso         1.119542  1        1.058084

Interpretación:

  • VIF < 5: no hay problemas de multicolinealidad.
  • VIF entre 5 y 10: posible multicolinealidad moderada.
  • VIF > 10: alta multicolinealidad.

En este caso no se presenta multicolinealidad en la mayoría de las variables. No obstante, en el barrio se deterca una multicolineadlidad moderada, al igual que en zona. Por lo cual podría considerarse eliminar o combinar estas variables altamente correlacionadas.


5.5.7 Evaluación de homocedasticidad

Se puede aplicar la prueba de Breusch-Pagan para evaluar la igualdad de varianza de los residuos.

## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_final
## BP = 1502.2, df = 30, p-value < 2.2e-16

Interpretación:

  • p-value > 0.05: no se detecta heterocedasticidad.
  • p-value < 0.05: existe heterocedasticidad.

En este caso se confirma que se detecta heterocedasticidad.

Si se detecta heterocedasticidad, se podría considerar realizar:transformaciones en las variables o usar un método de errores robustos.


5.5.8 Evaluación de observaciones influyentes

Adicionalmente, se analizan las distancias de Cook para detectar observaciones que tengan una influencia excesiva sobre el modelo.

Las observaciones que superen el umbral pueden considerarse potencialmente influyentes y deben ser revisadas.


5.5.9 Conclusión del diagnóstico del modelo

El análisis de los supuestos permite evaluar si el modelo de regresión lineal es adecuado para explicar la variable precio de la vivienda. En caso de detectarse desviaciones importantes respecto a los supuestos,como es el caso, se podrían considerar alternativas como:

  • Transformaciones de variables (logaritmo del precio, o calcular precio por metro cuadrado)

  • Eliminación de valores atípicos.

  • Uso de modelos robustos.

  • Adición de variables que mejoren el modelo hedónico de viviendas.

5.6 Paso 5 - Predicción

  1. Con el modelo identificado debe predecir el precio de la vivienda con las características de la primera solicitud.

5.6.1 Estimación del precio de mercado

Primero se estima el valor esperado de mercado de cada vivienda utilizando el modelo de regresión.

5.7 Paso 6

  1. Con las predicciones del modelo sugiera potenciales ofertas que responda a la solicitud de la vivienda 1. Tenga encuentra que la empresa tiene crédito pre-aprobado de máximo 350 millones de pesos. Realice un análisis y presente en un mapa al menos 5 ofertas potenciales que debe discutir.

El modelo de regresión se utiliza para estimar el valor de mercado de las viviendas a partir de sus características. Posteriormente, estas predicciones se utilizan como base para identificar oportunidades de compra dentro del conjunto de ofertas disponibles. En particular, se seleccionan aquellas viviendas cuyo precio de oferta se encuentra por debajo del valor estimado por el modelo y que además cumplen con la restricción presupuestal establecida para la vivienda 1.

5.7.1 Identificación de ofertas potenciales mediante un ranking de conveniencia

Una vez estimado el modelo de regresión para el precio de las viviendas, es posible utilizar sus predicciones para identificar oportunidades de compra. En particular, se busca responder a la solicitud asociada a la vivienda 1, considerando que la empresa dispone de un crédito preaprobado máximo de 350 millones de pesos.

5.7.2 Identificación de oportunidades de precio

Se calcula la diferencia entre el precio estimado por el modelo y el precio de oferta observado.

Un valor positivo indica que la vivienda podría estar subvalorada respecto al mercado, siendo una mejor opción.

5.7.3 Aplicación de la restricción presupuestal

Dado que el crédito máximo disponible es de 350 millones de pesos, se filtran únicamente las viviendas dentro de este rango y con las demás características deseadas por María.

5.7.4 Ranking de viviendas recomendadas

Se ordenan las viviendas según la conveniencia y se seleccionan las cinco mejores alternativas.

id zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo barrio long lat precio_predicho oportunidad_precio
1914 Zona Norte 2 5 300 205 2 5 6 Casa Other -76.51832 3.48138 554.6707 254.6707
4210 Zona Norte 1 5 350 200 3 3 4 Casa Other -76.53010 3.48503 532.2054 182.2054
1343 Zona Norte 2 5 320 200 2 4 4 Casa la flora -76.51524 3.48893 489.3550 169.3550
1151 Zona Norte 1 5 320 210 2 3 5 Casa Other -76.51200 3.47600 476.9191 156.9191
1887 Zona Norte 1 5 340 203 2 3 4 Casa Other -76.51803 3.48257 491.0171 151.0171

Estas viviendas representan las cinco ofertas potenciales recomendadas para la empresa.

5.7.5 Visualización geográfica de las ofertas

Finalmente, las viviendas seleccionadas se representan en un mapa interactivo para facilitar su análisis espacial.

A partir de las características definidas para la vivienda 1, se filtraron las propiedades que cumplen con los criterios de tipo de vivienda (casa), área construida cercana a 200 m², al menos un parqueadero, mínimo dos baños y cuatro habitaciones, estrato entre 4 y 5, ubicación en la zona norte y un precio inferior al crédito preaprobado de 350 millones de pesos.

Posteriormente, estas viviendas se ordenaron según el indicador de oportunidad de precio, definido como la diferencia entre el precio estimado por el modelo de regresión y el precio de oferta observado en el mercado. Valores más altos indican que la vivienda podría estar subvalorada respecto a su valor esperado.

Los resultados muestran cinco viviendas potenciales con áreas entre 200 y 210 m², entre 2 y 3 parqueaderos y entre 3 y 5 baños, ubicadas principalmente en barrios de la zona norte como La Flora. La mejor oportunidad identificada presenta una diferencia de aproximadamente 255 millones de pesos entre el precio estimado por el modelo y el precio de oferta, lo que sugiere una posible subvaloración significativa en el mercado.

En general, las oportunidades identificadas presentan diferencias de precio entre 151 y 255 millones de pesos, lo que indica que estas propiedades podrían representar alternativas atractivas para la empresa dentro del presupuesto disponible.

  1. Realice los pasos del 1 al 6. Para la segunda solicitud que tiene un crédito pre-aprobado por valor de $850 millones.
id zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo barrio long lat zona_geo habitaciones_jitter banios_jitter piso_jitter precio_predicho oportunidad_precio
7512 Zona Sur 1 5 670 300 3 5 6 Apartamento Other -76.55 3.409 Zona Oeste 6.027671 5.01867 0.9454087 671.5442 1.54423

Al aplicar los criterios de búsqueda definidos para la vivienda 2 (apartamento de aproximadamente 300 m², al menos 3 parqueaderos, mínimo 3 baños, 5 habitaciones, estrato 5 o 6, ubicado en la zona sur y con precio inferior a 850 millones de pesos), se identificó únicamente una vivienda que cumple simultáneamente con todas las condiciones establecidas.

Esta propiedad presenta un área construida de 300 m², 3 parqueaderos, 5 baños y 6 habitaciones, con un precio de oferta de 670 millones de pesos. El modelo de regresión estima un valor de mercado cercano a 671.48 millones, lo que genera una diferencia de aproximadamente 1.48 millones de pesos entre el precio estimado y el precio observado.

Esta diferencia relativamente pequeña sugiere que el precio de la vivienda se encuentra muy cercano a su valor esperado de mercado, por lo que no se identifica una oportunidad significativa de subvaloración en comparación con otras propiedades analizadas, pero cumple con las condiciones solicitadas por la cliente.

No obstante, es una gran oportunidad al corresponder a las características deseadas y encontrarse dentro del rango de presupuesto del cliente: más de 178 millones por debajo.

##Recomendación para María (Inmobiliria C&A)

Presentarle las opciones de cada uno de los mapas, donde encontrará:

  • Propiedades que son consideradas la mejor oportunidad (precio oferta < precio predicho).

  • Propiedades que se encuentran dentro del rango de crédito solicitadas por los clientes.