Realice un filtro a la base de datos e incluya solo las ofertas de : base2: apartamentos, de la zona sur 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?).
Con el objetivo de analizar los apartamentos que cumplen con las condiciones de la segunda solicitud, se realizó un filtrado de la base de datos original, seleccionando únicamente aquellas observaciones correspondientes a apartamentos ubicadas en la zona sur de la ciudad. Este procedimiento permite enfocar el análisis en las propiedades que realmente son relevantes para la búsqueda solicitada por la empresa.
library(paqueteMODELOS)
data("vivienda")
# Filtrar casas en la zona norte
base2 <- vivienda[vivienda$tipo == "Apartamento" & vivienda$zona == "Zona Sur", ]
Posteriormente se revisaron los primeros registros de la base filtrada y se construyeron tablas de frecuencia para verificar que los datos corresponden efectivamente al tipo de vivienda y a la zona seleccionada. Esta validación permite confirmar que el proceso de filtrado se realizó correctamente.
# Mostrar primeros registros
head(base2,3)
# A tibble: 3 × 13
id zona piso estrato preciom areaconst parqueaderos banios habitaciones
<dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 5098 Zona S… 05 4 290 96 1 2 3
2 698 Zona S… 02 3 78 40 1 1 2
3 8199 Zona S… <NA> 6 875 194 2 5 3
# ℹ 4 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>
# Tablas de verificación
table(base2$tipo)
Apartamento
2787
table(base2$zona)
Zona Sur
2787
Adicionalmente, se generó un mapa geográfico utilizando las coordenadas de latitud y longitud disponibles en la base de datos, lo que permite visualizar la distribución espacial de las viviendas.
library(leaflet)
leaflet(base2) %>%
addTiles() %>%
addCircleMarkers(~longitud, ~latitud,
radius = 4,
color = "blue",
popup = ~as.character(preciom))
El filtrado permitió identificar el conjunto de apartamentos relevantes para el análisis. La representación geográfica facilita la identificación de la distribución espacial de las ofertas disponibles y permite detectar posibles inconsistencias en la ubicación de algunos registros.
Realice un análisis exploratorio de datos enfocado en la correlación entre la variable respuesta (precio del apartamento) en función del área construida, estrato, numero de baños, numero de habitaciones y zona donde se ubica el apartamento. Use gráficos interactivos con el paquete plotly e interprete los resultados.
El análisis exploratorio de datos permite identificar patrones y relaciones entre el precio de los apartamentos y sus principales características estructurales. Para este análisis se utilizaron gráficos interactivos generados con la librería plotly, los cuales permiten visualizar de manera dinámica la relación entre las variables.
Los diagramas de dispersión permiten analizar cómo varía el precio de los apartamentos en función de variables como el área construida, el número de baños, el número de habitaciones y el estrato socioeconómico. En general, se observa que apartamentos con mayor área construida tienden a presentar precios más altos, lo cual resulta consistente con la lógica del mercado inmobiliario.
Asimismo, se identifica una relación positiva entre el número de baños y habitaciones con el precio del apartamento, lo que sugiere que propiedades con mayor capacidad y comodidad suelen tener mayor valor comercial.
library(plotly)
# Precio vs área
plot_ly(base2,
x = ~areaconst,
y = ~preciom,
type = "scatter",
mode = "markers")
# Precio vs baños
plot_ly(base2,
x = ~banios,
y = ~preciom,
type = "scatter",
mode = "markers")
# Precio vs habitaciones
plot_ly(base2,
x = ~habitaciones,
y = ~preciom,
type = "scatter",
mode = "markers")
# Precio vs estrato
plot_ly(base2,
x = ~estrato,
y = ~preciom,
type = "scatter",
mode = "markers")
El análisis exploratorio evidencia que variables como el área construida, el número de baños y el número de habitaciones presentan una relación positiva con el precio de las viviendas, lo que sugiere que estas variables serán relevantes en la construcción del modelo de regresión.
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).
Con el objetivo de cuantificar la relación entre el precio de los apartamentos y sus características principales, se estimó un modelo de regresión lineal múltiple. Este tipo de modelo permite evaluar el efecto simultáneo de varias variables explicativas sobre una variable de interés, en este caso el precio del apartamento.
Los coeficientes estimados indican el efecto marginal de cada variable sobre el precio. Por ejemplo, un coeficiente positivo asociado al área construida indica que, manteniendo las demás variables constantes, un aumento en el área del apartamento se traduce en un incremento en su valor de mercado.
La significancia estadística de cada variable se evalúa mediante los valores p, los cuales permiten determinar si la relación observada es estadísticamente significativa.
modelo2 <- lm(preciom ~ areaconst + estrato + parqueaderos + banios + habitaciones,
data = base2)
summary(modelo2)
Call:
lm(formula = preciom ~ areaconst + estrato + parqueaderos + banios +
habitaciones, data = base2)
Residuals:
Min 1Q Median 3Q Max
-1092.02 -42.28 -1.33 40.58 926.56
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -261.62501 15.63220 -16.736 < 2e-16 ***
areaconst 1.28505 0.05403 23.785 < 2e-16 ***
estrato 60.89709 3.08408 19.746 < 2e-16 ***
parqueaderos 72.91468 3.95797 18.422 < 2e-16 ***
banios 50.69675 3.39637 14.927 < 2e-16 ***
habitaciones -24.83693 3.89229 -6.381 2.11e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 98.02 on 2375 degrees of freedom
(409 observations deleted due to missingness)
Multiple R-squared: 0.7485, Adjusted R-squared: 0.748
F-statistic: 1414 on 5 and 2375 DF, p-value: < 2.2e-16
El modelo de regresión permite identificar cuáles variables influyen de manera significativa en el precio de los apartamentos. En general, el área construida y el número de baños tienden a presentar un efecto positivo sobre el precio, lo cual coincide con el comportamiento esperado del mercado inmobiliario.
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).
Una vez estimado el modelo de regresión, es necesario verificar si se cumplen los supuestos estadísticos que garantizan la validez de las inferencias realizadas. Para ello se analizaron los gráficos de diagnóstico del modelo.
Entre los supuestos evaluados se encuentran la normalidad de los residuos, la homocedasticidad y la ausencia de valores atípicos influyentes. Estos análisis permiten identificar posibles problemas en el ajuste del modelo y evaluar la confiabilidad de los resultados obtenidos.
par(mfrow = c(2,2))
plot(modelo2)
La evaluación de los supuestos del modelo permite verificar la calidad del ajuste. En caso de detectarse desviaciones importantes, se podrían aplicar transformaciones de variables o considerar modelos alternativos que mejoren la capacidad explicativa.
Con el modelo identificado debe predecir el precio del apartamento con las características de la segunda solicitud.
Utilizando el modelo estimado, se procedió a calcular una predicción del precio de un apartamento con las características especificadas en la segunda solicitud. Esta predicción permite obtener una estimación aproximada del valor de mercado para una propiedad con dichas características.
La estimación obtenida se basa en el comportamiento observado en los apartamentos incluidos en la base de datos analizada.
nueva_vivienda2 <- data.frame(
areaconst = 300,
estrato = 5,
parqueaderos = 3,
banios = 3,
habitaciones = 5)
predict(modelo2, nueva_vivienda2)
1
675.0247
La predicción obtenida permite tener una referencia del valor esperado de un apartamento con las características solicitadas, lo cual resulta útil para evaluar si las ofertas disponibles en el mercado se ajustan al presupuesto establecido.
Con las predicciones del modelo sugiera potenciales ofertas que responda a la solicitud de la vivienda 2. Tenga encuentra que la empresa tiene crédito pre-aprobado de máximo 850 millones de pesos. Realice un análisis y presente en un mapa al menos 5 ofertas potenciales que debe discutir.
Considerando que la empresa cuenta con un crédito preaprobado de 850 millones de pesos, se realizó una búsqueda dentro de la base filtrada para identificar aquellos apartamentos que se encuentran dentro de este rango de precio.
pred <- predict(modelo2, nueva_vivienda2)
base2$distancia <- abs(base2$preciom - pred)
ofertas2 <- base2[order(base2$distancia), ]
head(ofertas2,5)
# A tibble: 5 × 14
id zona piso estrato preciom areaconst parqueaderos banios habitaciones
<dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 6527 Zona S… 01 6 677 108 2 2 3
2 5366 Zona S… 06 6 673 132 2 2 2
3 5351 Zona S… 11 6 673 133 3 4 3
4 4824 Zona S… 05 6 680 167 1 5 4
5 3943 Zona S… <NA> 6 680 158 2 5 4
# ℹ 5 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>,
# distancia <dbl>
Posteriormente se seleccionaron cinco ofertas potenciales y se representaron en un mapa geográfico con el fin de facilitar su análisis espacial.
leaflet(ofertas2[1:5,]) %>%
addTiles() %>%
addMarkers(~longitud, ~latitud,
popup = ~as.character(preciom))
El modelo predice que una vivienda con las características solicitadas tendría un valor aproximado de 675 millones de pesos, lo cual se encuentra dentro del presupuesto máximo disponible de 850 millones, lo que indica que existen altas probabilidades de encontrar ofertas que cumplan con los requisitos establecidos.