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:
Vivienda 1:
Tipo casa Area construida: 200; parqueaderos: 1; baños: 2; habitaciones: 4; estrato: 4 o 5; zona norte; credito preaprobado 350 millones
Ayude a María a responder la solicitud, mediante técnicas modelación que usted conoce.
#devtools::install_github("centromagis/paqueteMODELOS", force = TRUE)
#devtools::install_github("centromagis/paqueteMODELOS", force =TRUE)
#library(paqueteMODELOS)
#data("vivienda")
## id zona piso estrato preciom areaconst parqueaderos banios
## 1 1147 Zona Oriente NA 3 250 70 1 3
## 2 1169 Zona Oriente NA 3 320 120 1 2
## 3 1350 Zona Oriente NA 3 350 220 2 2
## 4 5992 Zona Sur 2 4 400 280 3 5
## 5 1212 Zona Norte 1 5 260 90 1 2
## habitaciones tipo barrio longitud latitud
## 1 6 Casa 20 de julio -76.51168 3.43382
## 2 3 Casa 20 de julio -76.51237 3.43369
## 3 4 Casa 20 de julio -76.51537 3.43566
## 4 3 Casa 3 de julio -76.54000 3.43500
## 5 3 Apartamento acopi -76.51350 3.45891
## id zona piso estrato preciom areaconst parqueaderos banios habitaciones
## 1 5098 Zona Sur 5 4 290 96 1 2 3
## 2 698 Zona Sur 2 3 78 40 1 1 2
## 3 8199 Zona Sur NA 6 875 194 2 5 3
## tipo barrio longitud latitud
## 1 Apartamento acopi -76.53464 3.44987
## 2 Apartamento aguablanca -76.50100 3.40000
## 3 Apartamento aguacatal -76.55700 3.45900
Cantidad de registros corresondientes a Zona Norte, de acuerdo con la variable Zona:
## [1] 2787
Resumen de Estadísticas descriptivas:
## 'data.frame': 2787 obs. of 13 variables:
## $ id : int 5098 698 8199 1241 5370 6975 5615 6262 7396 6949 ...
## $ zona : chr "Zona Sur" "Zona Sur" "Zona Sur" "Zona Sur" ...
## $ piso : int 5 2 NA NA NA 6 8 NA NA NA ...
## $ estrato : int 4 3 6 3 3 4 3 3 3 4 ...
## $ preciom : int 290 78 875 135 135 220 210 105 115 220 ...
## $ areaconst : num 96 40 194 117 78 75 72 68 58 84 ...
## $ parqueaderos: int 1 1 2 NA NA 1 2 NA 1 NA ...
## $ banios : int 2 1 5 2 1 2 2 2 2 2 ...
## $ habitaciones: int 3 2 3 3 3 3 3 3 2 3 ...
## $ tipo : chr "Apartamento" "Apartamento" "Apartamento" "Apartamento" ...
## $ barrio : chr "acopi" "aguablanca" "aguacatal" "alameda" ...
## $ longitud : num -76.5 -76.5 -76.6 -76.5 -76.5 ...
## $ latitud : num 3.45 3.4 3.46 3.44 3.44 ...
Cantidad de datos faltantes por variable:
## id zona piso estrato preciom areaconst
## 0 0 622 0 0 0
## parqueaderos banios habitaciones tipo barrio longitud
## 406 0 0 0 0 0
## latitud
## 0
Porcentaje de datos faltantes por variable:
## id zona piso estrato preciom areaconst
## 0.00000 0.00000 22.31790 0.00000 0.00000 0.00000
## parqueaderos banios habitaciones tipo barrio longitud
## 14.56764 0.00000 0.00000 0.00000 0.00000 0.00000
## latitud
## 0.00000
Resumen de Estadísticas descriptivas base de datos filtrada por Zona Norte:
id: enterozona: carácterpiso: entero (con 622 valores faltantes)estrato: enteropreciom: enteroareaconst: numéricoparqueaderos: entero (con 406 valores faltantes)banios: enterohabitaciones: enterotipo: carácterbarrio: carácterlongitud: numéricolatitud: numéricopiso: 622 valores faltantesparqueaderos: 406 valores faltantesPara la revisión de ubicación se genera un mapa con la ubicación de los predios filtrados en la zona sur de Cali.
## Reading layer `Comunas' from data source
## `C:\Users\lcmar\OneDrive - PUJ Cali\PRIMER SEMESTRE_2024-II\METODOS Y SIMULACION\SHPCALI'
## using driver `ESRI Shapefile'
## Simple feature collection with 22 features and 4 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: 1054753 ymin: 860192.1 xmax: 1068492 ymax: 879441.5
## Projected CRS: MAGNA-SIRGAS / Cali urban grid
## $title
## [1] "Ubicación de Casas en la Zona Norte de Cali"
##
## attr(,"class")
## [1] "labels"
Evidenciamos que existen registros ubicados fuera de la zona esperada.
Los resultados del análisis indican que: - La mayoría de los predios están ubicados en la zona esperada, pero algunos registros parecen estar fuera de los límites geográficos definidos para la zona norte. - Posibles razones de estos valores fuera de la zona: 1. Errores en la clasificación de la zona: Algunas viviendas pueden estar mal etiquetadas en la base de datos. 2. Errores en las coordenadas geográficas: Si las coordenadas fueron registradas incorrectamente, los puntos pueden aparecer en zonas incorrectas. 3. Definición flexible de la Zona Norte: Diferentes fuentes pueden tener delimitaciones distintas para esta zona. - Recomendación: - Revisar y corregir manualmente los registros con coordenadas fuera del área esperada. - Comparar con mapas oficiales de zonificación de Cali.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.334 3.370 3.383 3.390 3.406 3.497
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -76.57 -76.54 -76.53 -76.53 -76.52 -76.46
Como la zona en la cual centramos el analsis corresponde a la zona norte a partir de la organización de los datos vamos a establecer en que latitud mínima se encuentran el 80% de los datos y comparamos con mapas oficiales de Cali (https://www.cali.gov.co/planeacion/publicaciones/169423/zonas_geograficas_idesc/). de esta forma establecemos los datos de los predios que se encuentran fuera de la zona norte.
## Límites de latitud:
## Percentil 20% (latitud mínima): 3.36845
## id zona piso estrato preciom areaconst parqueaderos banios habitaciones
## 1 5534 Zona Sur 1 4 175 69 1 2 3
## 2 2405 Zona Sur 3 4 155 62 1 2 2
## 3 5368 Zona Sur 6 4 226 64 1 2 3
## 4 3740 Zona Sur 10 4 147 60 NA 2 2
## 5 2406 Zona Sur NA 4 215 72 NA 2 3
## 6 3408 Zona Sur NA 5 280 90 1 2 3
## tipo barrio longitud latitud
## 1 Apartamento bochalema -76.537 3.416
## 2 Apartamento bochalema -76.520 3.367
## 3 Apartamento bochalema -76.536 3.364
## 4 Apartamento bochalema -76.528 3.426
## 5 Apartamento bochalema -76.520 3.365
## 6 Apartamento bochalema -76.526 3.434
Graficamos los puntos seleccionados como zona sur para identificar que se hayan seleccionado los correctos.
## Reading layer `Comunas' from data source
## `C:\Users\lcmar\OneDrive - PUJ Cali\PRIMER SEMESTRE_2024-II\METODOS Y SIMULACION\SHPCALI'
## using driver `ESRI Shapefile'
## Simple feature collection with 22 features and 4 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: 1054753 ymin: 860192.1 xmax: 1068492 ymax: 879441.5
## Projected CRS: MAGNA-SIRGAS / Cali urban grid
## $title
## [1] "Ubicación de Predios Fuera de la Zona Norte de Cali"
##
## attr(,"class")
## [1] "labels"
En la grafica podemos observa que se han excluido los predios que aúnque estan etiquetados con Zona sur, los datos de ubicación reflejan otras zonas, por lo cual podemos establecer que han sido etiquetados incorrectamente.
## id zona piso estrato preciom areaconst parqueaderos banios habitaciones
## 1 5534 Zona Sur 1 4 175 69 1 2 3
## 2 2405 Zona Sur 3 4 155 62 1 2 2
## 3 5368 Zona Sur 6 4 226 64 1 2 3
## tipo barrio longitud latitud
## 1 Apartamento bochalema -76.537 3.416
## 2 Apartamento bochalema -76.520 3.367
## 3 Apartamento bochalema -76.536 3.364
Después de excluir viviendas fuera de la Zona Sur de Cali, según los límites oficiales, quedaron 2057 registros en la base de datos.
## [1] 2057
piso: 447 valores faltantes (21.7% de los datos)parqueaderos: 280 valores faltantes (13.6% de los
datos).A partir de los gráficos, podemos analizar distintos elementos clave de las variables Precio (preciom), Área Construida (areaconst), Parqueaderos y Baños.
Se observa una distribución asimétrica a la derecha (sesgada positivamente). Hay una concentración de valores bajos, con la mayoría de las viviendas por debajo de los 500 millones. Existen algunos valores extremos que superan los 1500 millones, lo cual podría indicar posibles valores atípicos. La transformación logarítmica permitiría normalizar los datos.
También presenta una distribución asimétrica positiva. La mayoría de las viviendas tienen menos de 250 m² de área construida. Hay pocos casos con áreas superiores a 750 m², lo que sugiere valores atípicos.
La distribución muestra que la mayoría de las viviendas tienen entre 0 y 1 parqueaderos. Pocas viviendas tienen hasta 10 parqueaderos, lo que indica valores inusuales.
Se observa una distribución relativamente simétrica, con un pico en 2 y 3 baños. Algunos registros con hasta 7 baños, lo cual es inusual en viviendas estándar.
Para garantizar la calidad de los datos antes de aplicar modelos de predicción, se implementaron estrategias de imputación en las variables con valores faltantes:
piso: Se reemplazaron los valores
faltantes con la mediana (4 pisos), dado que esta
medida de tendencia central es menos sensible a valores extremos y
representa mejor la distribución de los datos.parqueaderos: Se reemplazaron los
valores faltantes con 0, lo que indica que la vivienda
no cuenta con parqueadero. dado que en este caso estamos haciendo
referencia a tipo de vivienda = apartamentos y en la zona podemos
evidenciar viviendas de areas menores, lo cual puede corresponder
apartamentos que no cuenten con parqueadero.## id zona piso estrato preciom areaconst
## 0 0 0 0 0 0
## parqueaderos banios habitaciones tipo barrio longitud
## 0 0 0 0 0 0
## latitud
## 0
Análisis de los Resultados tras la Imputación de Datos
La mayoría de las viviendas tienen 1 o 2 parqueaderos. La distribución sigue siendo asimétrica a la derecha, lo cual es esperable en este tipo de datos. Se observa una presencia menor de valores altos La imputación con la moda para parqueaderos fue adecuada, ya que respetó la distribución original y no introdujo valores extraños.
La imputación con la mediana en piso también fue apropiada, manteniendo la concentración en el valor más común sin generar sesgos significativos.
Los gráficos muestran que las Transformaciones Logarítmicas aplicadas en preciom y areaconst, han mejorado la normalidad de las variables, especialmente en log_preciom y log_areaconst.
Ahora, procederemos con la detección y tratamiento más detallado de
valores atípicos.
Para identificar valores atípicos, utilizaremos boxplots y los estadísticos de Tukey (IQR - rango intercuartil).
Para verificar que las eliminaciones no han afectado la estructura de
los datos, generaremos nuevos gráficos de distribución:
Convertimos la variable estrato en una variable categórica (factor). Esto es importante porque en R, si estrato se mantiene como un número entero, el modelo lo trataría como una variable continua en lugar de una variable de clasificación.
| log_preciom | log_areaconst | banios | habitaciones | |
|---|---|---|---|---|
| log_preciom | 1.00 | 0.87 | 0.73 | 0.36 |
| log_areaconst | 0.87 | 1.00 | 0.75 | 0.48 |
| banios | 0.73 | 0.75 | 1.00 | 0.48 |
| habitaciones | 0.36 | 0.48 | 0.48 | 1.00 |
Estimación del modelo de regresión lineal múltiple
#install.packages("caTools")
## [1] 1423
## [1] 580
##
## Call:
## lm(formula = log_preciom ~ log_areaconst + parqueaderos + banios +
## habitaciones + estrato, data = train_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.85955 -0.10921 0.00864 0.12141 0.82986
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.964008 0.098110 20.018 < 2e-16 ***
## log_areaconst 0.702767 0.025611 27.440 < 2e-16 ***
## parqueaderos 0.112022 0.009494 11.799 < 2e-16 ***
## banios 0.051341 0.009107 5.638 2.08e-08 ***
## habitaciones -0.038891 0.010014 -3.884 0.000108 ***
## estrato4 0.194854 0.023936 8.141 8.53e-16 ***
## estrato5 0.335775 0.024968 13.448 < 2e-16 ***
## estrato6 0.557230 0.029964 18.596 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1831 on 1415 degrees of freedom
## Multiple R-squared: 0.8492, Adjusted R-squared: 0.8485
## F-statistic: 1138 on 7 and 1415 DF, p-value: < 2.2e-16
| Estimate | Std. Error | t value | Pr(>|t|) | |
|---|---|---|---|---|
| (Intercept) | 1.964 | 0.098 | 20.018 | 0 |
| log_areaconst | 0.703 | 0.026 | 27.440 | 0 |
| parqueaderos | 0.112 | 0.009 | 11.799 | 0 |
| banios | 0.051 | 0.009 | 5.638 | 0 |
| habitaciones | -0.039 | 0.010 | -3.884 | 0 |
| estrato4 | 0.195 | 0.024 | 8.141 | 0 |
| estrato5 | 0.336 | 0.025 | 13.448 | 0 |
| estrato6 | 0.557 | 0.030 | 18.596 | 0 |
Evaluación del modelo de entrenamiento
## R²: 0.849
## R² Ajustado: 0.848
Para evaluar el rendimiento del modelo se usaran metricas como:
Error cuadrático medio R²
## RMSE en el conjunto de prueba: 0.1728
## R² en el conjunto de prueba: 0.8621
R² = 0.8621 El modelo explica 86.2% de la variabilidad en los precios de las viviendas, El R² en prueba es cercano al de entrenamiento, por lo cual el modelo generaliza bien. El RMSE los valores se desvian un 17,2% de la escala original.
log_areaconst): Un
aumento del 1% en el área construida está asociado con un incremento del
0.703% en el precio de la vivienda, manteniendo las demás variables
constantes.parqueaderos):
Cada parqueadero adicional se asocia con un incremento del 1.1% en el
precio de la vivienda.banios): Cada baño
adicional aumenta el precio de la vivienda en aproximadamente 5.1%.habitaciones):
No tiene un impacto estadísticamente significativo en el precio de la
vivienda, ya que otras características (como área construida y baños)
pueden ser más relevantes.estrato): Viviendas en
estrato 4 tienen un precio 19.5% mayor que las de estrato 3, manteniendo
todo lo demás constante, Viviendas en estrato 5 son 33.6% más costosas
que las de estrato 3. Viviendas en estrato 6 son 55,7% más costosas que
las de estrato 3.Interpretaciones:
El modelo tiene un buen ajuste y las variables más importantes (log_areaconst, parqueaderos, banios y estrato) son significativas y lógicas. Sin embargo:
Se puede mejorar explorando interacciones o incorporando variables como barrio, antigüedad de la vivienda, entre otros.
La variable habitaciones podría eliminarse, ya que no contribuye significativamente al modelo.
Interpretaciones:
Los residuos deberían distribuirse de manera aleatoria alrededor de la línea roja horizontal en cero. no se observa una estructura clara ni patrones evidentes, lo que sugiere que la suposición de linealidad se cumple en gran medida. La linealidad del modelo parece adecuada. Hay una ligera dispersión en los extremos, lo que podría indicar cierta heterocedasticidad.
Normal Q-Q: Este gráfico evalúa si los residuos siguen una distribución normal. La normalidad de los residuos es aceptable, pero algunos valores extremos pueden afectar el ajuste.
Scale-Location: evalúa la homocedasticidad (varianza constante de los residuos).Los residuos parecen mantener una variabilidad relativamente constante, pero hay una ligera mayor dispersión en los extremos.
Residuals vs Leverage: Hay algunos puntos influyentes en los datos. Es recomendable analizarlos en detalle, se podría establecer el modelo sin ellos para evaluar su impacto.
El intercepto (en este caso 1.964) es el valor de la variable dependiente (log(preciom)) cuando todas las demás variables explicativas (predictoras) son iguales a cero. al realizar la conversión:
Precio base=e Intercepto = e1.964 = 7.12.
TIPO: Apartamento ÁREA CONSTRUIDA: 300 PARQUEADEROS: 3 BAÑOS: 3 HABITACIONES: 5 ESTRATO: 5 o 6 CREDITO APROBADO: 850 millones
## El precio estimado para la vivienda 2 en estrato 5 es: 737.93 millones de pesos.
## El precio estimado para la vivienda 2 en estrato 6 es: 920.85 millones de pesos.
Interpretación:
| barrio | preciom | areaconst | parqueaderos | banios | habitaciones | estrato |
|---|---|---|---|---|---|---|
| cataya real | 560 | 141 | 3 | 5 | 4 | 6 |
| ciudad jardín | 570 | 130 | 2 | 4 | 4 | 6 |
| ciudad jardín | 460 | 127 | 2 | 4 | 4 | 6 |
| ciudad jardín | 850 | 187 | 3 | 5 | 4 | 6 |
| ciudad jardín | 410 | 142 | 2 | 3 | 4 | 5 |
Análisis:
Se han identificado que en la zona sur ninguna vivienda cumple con el requisito de área (300 m²) y 5 habitaciones.
En el barrio ciudad jardín hay la opción con mayor área construida (187 m²), 3 parqueaderos, 5 baños, 4 habitaciones estrato 6.
En el barrio ciudad jardín también encontramos la opción más económica (410 millones), 2 parqueaderos, área construida (142 m²), con 4 habitaciones y 3 baños.
cataya real tienen características intermedias, con precios entre 560 millones, 3 parqueaderos, área construida (141 m²), con 4 habitaciones y 5 baños.
Recomendación: - En el barrio ciudad
jardín se encuentran las mejores opciones en referencia a
precio y área,
- En el barrio cataya real se encuentran opciones con
mayor cantidad de baños, habitaciones y estrato.