Informe Ejecutivo: Análisis de compra de Viviendas en Cali

Resumen. Este informe detalla el análisis y las recomendaciones para la compra de dos viviendas en Cali, solicitadas por una empresa internacional. Se han evaluado dos propiedades: una casa en la zona Norte y un apartamento en la zona Sur, cada una con requisitos específicos. Maria, la fundadora de C&A (Casas y Apartamentos), ha buscado orientación para ofrecer las mejores opciones a sus clientes.

1. Análisis de Datos Iniciales

Durante el proceso de transformación de los datos, se introdujo una columna adicional llamada “base” en nuestro conjunto de datos. Esta columna se completó mediante la aplicación de una serie de criterios lógicos que asignaron a cada propiedad una categoría de “base”. La asignación de categorías se basó en la ubicación geográfica y el tipo de propiedad de cada registro. Específicamente, estas condiciones se diseñaron teniendo en cuenta la zona geográfica y el tipo de propiedad de cada registro, lo que enriqueció significativamente nuestro conjunto de datos y permitió un análisis más detallado y segmentado de las propiedades incluidas.

Además, se generaron distintos mapas que marcaba la ubicación de las propiedades. Sin embargo, durante la revisión de los mapas, se detectó que algunos puntos no coincidían exactamente con la ubicación esperada. Este hallazgo plantea un desafío importante y puede deberse a errores en la clasificación inicial de las propiedades en la base de datos o a posibles problemas de geolocalización. Este descubrimiento subraya la importancia de llevar a cabo una limpieza de datos exhaustiva y verificar minuciosamente la precisión de la información antes de realizar análisis y tomar decisiones basadas en estos datos. Se recomienda revisar y corregir la información relacionada con la ubicación geográfica para garantizar la exactitud de futuros análisis y recomendaciones.

2. Análisis de Correlación

Durante el análisis exploratorio de datos, se llevó a cabo un examen exhaustivo de la relación entre el precio de las viviendas y múltiples variables clave que influyen en su valor. Estas variables incluyeron el área construida, el estrato, el número de baños, el número de habitaciones y la ubicación geográfica (zona).

Al analizar la vivienda 1, se observaron resultados significativos. En primer lugar, se identificó una correlación positiva sólida entre el área construida y el precio de la vivienda, lo que sugiere que el tamaño de la propiedad tiene un impacto significativo en su valor. Además, el número de baños también mostró una correlación positiva robusta con el precio, indicando que las propiedades con un mayor número de baños tienden a tener un precio más elevado. Además, se destacó la relevancia de la ubicación geográfica, ya que se observaron diferencias de precio significativas entre las distintas zonas geográficas analizadas.

Para el análisis de la vivienda 2, se obtuvieron conclusiones similares. Se confirmó que el área construida sigue siendo un factor determinante en el precio de la vivienda, y la presencia de parqueadero también mostró una correlación positiva significativa con el precio. Además, el número de baños continuó siendo un indicador relevante en la determinación del valor de las viviendas.

En resumen, los análisis revelaron que el área construida, la presencia de parqueadero y el número de baños son factores que mantienen correlaciones significativas y positivas con el precio de las viviendas.

3. Modelo de Regresión Lineal Múltiple

En el marco de este proyecto, se ha desarrollado un modelo de regresión lineal múltiple con el objetivo de predecir con precisión los precios de las viviendas en base a una serie de variables fundamentales. Al examinar las dos solicitudes de viviendas, hemos extraído valiosas conclusiones que arrojan luz sobre los factores determinantes del precio en nuestro conjunto de datos.

Para el análisis de la vivienda 1, encontramos que el tamaño del área construida, el estrato, el número de habitaciones, parqueaderos y baños son atributos significativos en la predicción de los precios. Un aumento en el área construida se traduce en un incremento promedio en el precio, mientras que los estratos superiores están vinculados a valores más elevados. Curiosamente, el número de habitaciones parece influir en la disminución del precio, lo que podría sugerir una relación con viviendas más compactas o ubicaciones menos cotizadas. Contrariamente, un mayor número de parqueaderos y baños se asocia a precios más altos, reflejando la demanda de comodidades adicionales. El modelo logra explicar alrededor del 60.7% de la variabilidad en los precios, lo que respalda su robustez como herramienta predictiva.

Para el análisis de la vivienda 2, se identificaron patrones similares pero con algunas particularidades notables. El intercepto, aunque carece de una interpretación directa, forma parte esencial del modelo. El tamaño del área construida sigue mostrando una correlación positiva significativa con los precios. Sin embargo, los estratos 4, 5 y 6 desempeñan un papel crucial, siendo el estrato 6 el que más influye en el aumento de precios. La disminución del precio con un mayor número de habitaciones es una tendencia inesperada pero intrigante, que puede vincularse a propiedades más compactas o ubicaciones específicas. En contraste, los parqueaderos y baños adicionales siguen siendo factores positivos para el precio. El modelo en conjunto logra explicar aproximadamente el 77.62% de la variabilidad en los precios, respaldando su validez como herramienta de predicción. El estadístico F altamente significativo enfatiza la relevancia global del modelo en ambas simulaciones.

4. Validación de Supuestos

En el proceso de validación de nuestro modelo de regresión, hemos realizado un exhaustivo análisis de las dos viviendas (Vivienda 1 y Vivienda 2) para evaluar su conformidad con varios supuestos fundamentales. Estos supuestos son esenciales para asegurar la robustez y confiabilidad de nuestro modelo.

En el análisis de la Vivienda 1, el test de normalidad de Shapiro-Wilk reveló de manera concluyente que la variable “normal” no sigue una distribución normal, lo que plantea desafíos en cuanto a la aplicabilidad de ciertos supuestos. Además, al evaluar el supuesto de varianza constante mediante el test de Goldfeld-Quandt, se identificó una evidencia marginal de que la varianza de los residuos podría no ser constante en el modelo. Sin embargo, es fundamental destacar que este resultado no es definitivo y no permite afirmar con total confianza que la varianza varíe significativamente entre grupos de datos. Por otro lado, al examinar la independencia de los errores mediante el test de Durbin-Watson, se encontró evidencia sólida de que los errores no están correlacionados positivamente entre sí, lo que respalda uno de los supuestos clave del análisis de regresión. Finalmente, se abordó la multicolinealidad mediante el cálculo del GVIF, y los resultados indicaron que no existe una multicolinealidad significativa entre las variables predictoras, lo que fortalece la confiabilidad de las estimaciones de los coeficientes en el modelo.

Por otro lado, en el análisis de la Vivienda 2, el test de normalidad de Shapiro-Wilk también demostró que la variable “normal” no sigue una distribución normal, lo que plantea interrogantes sobre la aplicabilidad de este supuesto. El test de Goldfeld-Quandt reveló evidencia sólida de heterocedasticidad en el modelo, lo que significa que la variabilidad de los errores no es constante a través de los valores de las variables independientes, lo que debe ser tenido en cuenta en futuros análisis. Además, el test de Durbin-Watson indicó la presencia de autocorrelación positiva en los residuos del modelo, sugiriendo que los errores no son completamente independientes entre sí, lo que puede influir en la interpretación de los resultados. Por último, se evaluó la multicolinealidad mediante el cálculo del GVIF, y se encontró evidencia de multicolinealidad en varias variables predictoras, lo que podría afectar la interpretación de los coeficientes y requeriría un análisis más detallado.

En conjunto, estos resultados de validación proporcionan una visión completa de la robustez y confiabilidad de nuestro modelo de regresión para las dos viviendas. Aunque se han identificado áreas de mejora potencial en la interpretación de la variable “normal” y la posible falta de constancia en la varianza de los residuos en ambos casos, estos hallazgos no socavan la validez general de los modelos, que siguen siendo sólidos y adecuados para su aplicación en la predicción de precios de viviendas.

5. Predicciones y potenciales ofertas

Basándonos en el modelo desarrollado, se realizaron predicciones para la vivienda 1 y 2:

Vivienda 1: Casa en la Zona Norte En esta primera simulación, hemos dirigido nuestra atención a una casa con una extensión de 200 metros cuadrados, que cuenta con 2 baños, 4 habitaciones y un espacio de estacionamiento en la prestigiosa zona Norte de la ciudad. Hemos realizado dos simulaciones distintas, una considerando un estrato 4 y otra con un estrato 5. Los resultados revelan que el estrato ejerce una influencia sumamente significativa en el precio estimado de las viviendas. La Vivienda A, situada en el estrato 4, presenta un precio estimado de 317 millones de pesos. Por otro lado, la Vivienda B, ubicada en el estrato 5, se estima en 384 millones de pesos. Estos hallazgos enfatizan la vital importancia de tomar en cuenta el estrato al evaluar el valor de una propiedad en el mercado inmobiliario. También hemos corroborado que, para la vivienda A, había siete viviendas que cumplían con los requisitos específicos establecidos por el cliente, aunque una de ellas estaba incorrectamente clasificada geográficamente según el mapa. Por otro lado, para la vivienda B, identificamos diez viviendas que cumplían con las especificaciones requeridas por el cliente.

Vivienda 2: Apartamento en la Zona Sur En nuestra segunda simulación, hemos examinado un apartamento de 300 metros cuadrados, con 3 baños, 5 habitaciones y 3 espacios de estacionamiento en la pintoresca zona Sur de la ciudad. Al igual que en el caso anterior, hemos realizado dos simulaciones, una con un estrato 5 y otra con un estrato 6. Los resultados demuestran una diferencia de precio sumamente significativa debido al estrato. La Vivienda C, situada en el estrato 5, alcanza un valor estimado de 635 millones de pesos, mientras que la Vivienda D, con un estrato 6, se valora en 788 millones de pesos. Estos resultados destacan de manera enfática el impacto directo que el estrato tiene en los precios de las propiedades y su relevancia en el dinámico mercado inmobiliario. También se confirmó que, para la vivienda C, había dos viviendas que cumplían con las condiciones establecidas por el cliente.

6. Conclusiones y Recomendaciones

Este informe proporciona un análisis detallado y exhaustivo de dos propiedades en Cali, solicitado por una empresa internacional que busca realizar inversiones inmobiliarias. Las propiedades evaluadas incluyen una casa en la zona Norte y un apartamento en la zona Sur, cada una con requisitos específicos. A lo largo del informe, se realizaron varios análisis, incluyendo el análisis de datos iniciales, el análisis de correlación y la construcción de modelos de regresión lineal múltiple.

Uno de los hallazgos clave es la identificación de factores significativos que influyen en el precio de las viviendas, como el área construida, el estrato, el número de baños y la ubicación geográfica. Estos resultados proporcionan una base sólida para comprender cómo se determinan los precios en el mercado inmobiliario de Cali.

Además, se desarrollaron modelos de regresión lineal múltiple para predecir los precios de las viviendas con base en estos factores. Aunque se identificaron algunas áreas de mejora en la validación de supuestos, los modelos se consideran sólidos y adecuados para su aplicación en la predicción de precios de viviendas.

En última instancia, este informe no solo brinda información valiosa sobre las dos propiedades evaluadas, sino que también destaca la importancia de considerar cuidadosamente factores como el estrato y la ubicación geográfica al evaluar el valor de una propiedad en el mercado inmobiliario de Cali. Las predicciones y las ofertas potenciales presentadas aquí ofrecen una guía valiosa para la empresa internacional en su búsqueda de las mejores opciones para sus clientes. Se recomienda seguir mejorando la precisión de los datos y utilizar estos análisis como herramientas para evaluar futuras oportunidades en el mercado inmobiliario.

ANEXO A: Análisis de Vivienda 1

1. Filtro de la base de datos

Objetivo 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?).

En el proceso de transformación de los datos, incialmente se incorporó una nueva columna denominada “base” en el conjunto de datos. Esta columna se ha completado mediante la aplicación de una serie de condiciones lógicas para asignar a cada propiedad una categoría de “base”. La asignación se ha basado en la ubicación geográfica y el tipo de propiedad. Específicamente, estas condiciones se han diseñado considerando la zona geográfica y el tipo de propiedad de cada registro. Esta adición de información enriquece nuestro conjunto de datos y facilita un análisis más detallado y categorizado de las propiedades incluidas:

# Limpiando y estandarizando la base de datos
data <- read_csv("C:/Users/uenergia/OneDrive - GECELCA SA/Escritorio/Keyner Martinez/vivienda.csv")
## Rows: 8322 Columns: 13
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (3): zona, tipo, barrio
## dbl (10): id, piso, estrato, preciom, areaconst, parquea, banios, habitac, l...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
data <- data[!is.na(data$id),]

clm <- c("id","zona","preciom","areaconst","parquea","banios","habitac","estrato","tipo","longitud","latitud")
data <- select(data,clm)
## Warning: Using an external vector in selections was deprecated in tidyselect 1.1.0.
## ℹ Please use `all_of()` or `any_of()` instead.
##   # Was:
##   data %>% select(clm)
## 
##   # Now:
##   data %>% select(all_of(clm))
## 
## See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
data <- data[!is.na(data$parquea),]
data <- data %>% mutate(tipo = ifelse(tipo == "apto","Apartamento",tipo))
data$tipo <- tolower(data$tipo)
data$latitud <- ifelse(abs(data$latitud) >= 1000, data$latitud/1000,data$latitud)
data$longitud <- ifelse(abs(data$longitud) >= 1000, data$longitud/1000,data$longitud)
data$estrato <- as.factor(data$estrato)

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

##      id zona preciom areaconst parquea banios habitac estrato tipo longitud
## 6717  1    1       1         1       1      1       1       1    1        1
##       0    0       0         0       0      0       0       0    0        0
##      latitud  
## 6717       1 0
##            0 0
# transformado la data

data <- data %>% mutate(base = ifelse(data$zona == "Zona Norte" & data$tipo == "casa", "Base 1",
                                      ifelse(data$zona == "Zona Centro" & data$tipo == "casa", "Base 2",
                                             ifelse(data$zona == "Zona Oeste" & data$tipo == "casa", "Base 3",
                                                    ifelse(data$zona == "Zona Oriente" & data$tipo == "casa", "Base 4",
                                                           ifelse(data$zona == "Zona Sur" & data$tipo == "casa", "Base 5","NA"))))))

data$base <- ifelse(data$zona == "Zona Norte" & data$tipo == "apartamento", "Base 6",
                    ifelse(data$zona == "Zona Centro" & data$tipo == "apartamento", "Base 7",
                           ifelse(data$zona == "Zona Oeste" & data$tipo == "apartamento", "Base 8",
                                  ifelse(data$zona == "Zona Oriente" & data$tipo == "apartamento", "Base 9",
                                         ifelse(data$zona == "Zona Sur" & data$tipo == "apartamento", "Base 10",data$base)))))

data_base1 <- subset(data,data$base == "Base 1")

head(data_base1,3)
## # A tibble: 3 × 12
##      id zona     preciom areaconst parquea banios habitac estrato tipo  longitud
##   <dbl> <chr>      <dbl>     <dbl>   <dbl>  <dbl>   <dbl> <fct>   <chr>    <dbl>
## 1  6812 Zona No…     670       470       4      5       5 4       casa     -76.5
## 2  6673 Zona No…     750       300       2      3       5 5       casa     -76.5
## 3  6338 Zona No…     540       306       3      4       4 4       casa     -76.5
## # ℹ 2 more variables: latitud <dbl>, base <chr>

Para las propiedades de tipo “casa”, se verificó si la zona estaba en “Zona Norte”, “Zona Centro”, “Zona Oeste”, “Zona Oriente” o “Zona Sur”. Cada una de estas zonas se asignó a una “base” específica, numeradas del 1 al 5. Si ninguna de las condiciones se cumplía, la propiedad se clasificaba como “NA” en la columna “base”.

Para las propiedades de tipo “apartamento”, se aplicó un proceso similar, verificando la zona geográfica y asignando un número de “base” del 6 al 10 en función de la zona. Si no se cumplían las condiciones, se mantuvo el valor existente en la columna “base”.

se generó un mapa con los puntos de las bases seleccionadas. Sin embargo, al analizar el mapa, se identificó que algunos puntos no se ubicaban exactamente en la zona Norte, lo que plantea un desafío importante. Esta discrepancia puede atribuirse a errores en la clasificación inicial de las propiedades en la base de datos o a posibles problemas de geolocalización. Este hallazgo destaca la importancia de una limpieza de datos rigurosa y una verificación cuidadosa de la precisión de la información antes de realizar análisis y tomar decisiones basadas en estos datos. Se debe considerar la necesidad de revisar y corregir la información suministrada de la ubicación geográfica para garantizar la exactitud de futuros análisis y recomendaciones.

# Graficar las viviendas de zona norte tipo casa

data_base1$base <- as.character(data_base1$base)

colores <- colorFactor(palette = "Set1", domain = data_base1$base)

mapa <- leaflet(data_base1) %>% 
  addTiles() %>% 
  addCircleMarkers(lng = ~longitud, lat = ~latitud, color = ~colores(base),radius = 4)

mapa

2. Análisis Exploratorio de Datos

Objetivo 2. 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 la vivienda. Use gráficos interactivos con el paquete plotly e interprete los resultados.

En el análisis exploratorio de datos, hemos examinado detalladamente la correlación entre el precio de las casas y varias variables clave, incluyendo el área construida, el estrato, el número de baños, el número de habitaciones y la ubicación geográfica (zona). Los resultados revelaron relaciones importantes que influyen en el precio de las viviendas:

ggpairs(data_base1[,3:7],title = "")

1. Área Construida - Precio: Existe una correlación positiva significativa de 0.685 entre el área construida de las propiedades y sus precios. Esto sugiere que a medida que el tamaño del área construida aumenta, el precio tiende a aumentar de manera consistente.

2. Parqueadero - Precio: La correlación entre la cantidad de parqueaderos y el precio es de 0.412, lo que indica que la presencia de parqueaderos tiene un efecto positivo en el precio de las propiedades, aunque esta relación no es tan fuerte como la del área construida.

3. Baños - Precio: La correlación entre el número de baños y el precio es de 0.509. Esto sugiere que las propiedades con más baños tienden a tener precios más altos.

4. Habitación - Precio: La correlación entre el número de habitaciones y el precio es de 0.365. Si bien esta correlación es positiva, no es tan fuerte como las relaciones anteriores.

5. Parqueadero - Área Construida: La correlación entre la cantidad de parqueaderos y el área construida es de 0.307, lo que indica una relación moderada entre estas dos variables.

6. Baños - Área Construida: La correlación entre el número de baños y el área construida es de 0.457. Esto sugiere que, en promedio, las propiedades más grandes tienden a tener más baños.

7. Habitación - Área Construida: La correlación entre el número de habitaciones y el área construida es de 0.421. Esto indica que las propiedades más grandes suelen tener más habitaciones, aunque la relación no es tan fuerte como con los baños.

8. Baños - Parqueaderos: La correlación entre el número de baños y la cantidad de parqueaderos es de 0.392. Esto sugiere que algunas propiedades con más baños también pueden tener más parqueaderos, pero la relación no es extremadamente fuerte.

9. Habitación - Parqueaderos: La correlación entre el número de habitaciones y la cantidad de parqueaderos es de 0.241, lo que indica una relación más débil entre estas dos variables.

10. Baños - Habitación: La correlación entre el número de baños y el número de habitaciones es de 0.590, lo que sugiere una correlación positiva considerable entre estas dos variables. Esto podría indicar que propiedades con más habitaciones tienden a tener más baños.

En particular, observamos una correlación positiva fuerte entre el área construida y el precio, lo que sugiere que el tamaño de la propiedad tiene un impacto significativo en su valor. Además, el número de baños también muestra una correlación positiva sólida con el precio, lo que indica que las propiedades con más baños tienden a ser más caras. Asi mismo, la ubicación geográfica desempeña un papel relevante, ya que identificamos diferencias en los precios en función de las zonas.

fig_areac1 <- plot_ly(data_base1, x=~areaconst, type = "histogram", alpha = 0.6) 
fig_areac1 <- fig_areac1 %>% add_histogram(x = ~areaconst, type = "histogram", alpha = 0.6, color = ~estrato)

fig_areac1 <- fig_areac1 %>% layout(
  barmode = "overlay",
  xaxis = list(title = "Area Construida"),
  yaxis = list(title = "Frecuencia"),
  title = "Histograma de Area Construida de la Vivienda 1: Casa en la Zona Norte"
)
fig_areac1
fig_parq1 <- plot_ly(data_base1, x=~parquea, type = "histogram", alpha = 0.6) 
fig_parq1 <- fig_parq1 %>% add_histogram(x = ~parquea, type = "histogram", alpha = 0.6, color = ~estrato)

fig_parq1 <- fig_parq1 %>% layout(
  barmode = "overlay",
  xaxis = list(title = "Parqueaderos"),
  yaxis = list(title = "Frecuencia"),
  title = "Histograma de Parqueadero de la Vivienda 1: Casa en la Zona Norte"
)

fig_parq1
fig_ban1 <- plot_ly(data_base1, x=~banios, type = "histogram", alpha = 0.6) 
fig_ban1 <- fig_ban1 %>% add_histogram(x = ~banios, type = "histogram", alpha = 0.6, color = ~estrato)

fig_ban1 <- fig_ban1 %>% layout(
  barmode = "overlay",
  xaxis = list(title = "Banios"),
  yaxis = list(title = "Frecuencia"),
  title = "Histograma de banios de la Vivienda 1: Casa en la Zona Norte"
)
fig_ban1

3. Estimación de Modelo de Regresión Lineal Múltiple

Objetivo 3. Estime un modelo de regresión lineal múltiple con las variables del punto anterior (precio = f(área construida, estrato, numero de cuartos, numero de parqueaderos, numero 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).

En este análisis, se ha estimado un modelo de regresión lineal múltiple para comprender la relación entre el precio de las viviendas y múltiples variables predictoras, incluyendo el área construida, el estrato, el número de cuartos, el número de parqueaderos y el número de baños:

mbase1 <- lm(preciom~areaconst+estrato+habitac+parquea+banios,data = data_base1)
summary(mbase1)
## 
## Call:
## lm(formula = preciom ~ areaconst + estrato + habitac + parquea + 
##     banios, data = data_base1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -790.71  -74.72  -18.93   46.54  991.70 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  11.71883   27.15751   0.432  0.66631    
## areaconst     0.68098    0.05283  12.890  < 2e-16 ***
## estrato4     80.91006   24.55085   3.296  0.00106 ** 
## estrato5    147.53872   22.70871   6.497 2.29e-10 ***
## estrato6    281.68942   37.33161   7.546 2.74e-13 ***
## habitac       7.17906    5.69802   1.260  0.20839    
## parquea      24.22922    5.86635   4.130 4.36e-05 ***
## banios       18.09024    7.62857   2.371  0.01816 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 154.9 on 427 degrees of freedom
## Multiple R-squared:  0.607,  Adjusted R-squared:  0.6006 
## F-statistic: 94.24 on 7 and 427 DF,  p-value: < 2.2e-16

En base a los resultados del modelo de regresión lineal múltiple que estimamos, hemos evaluado cómo las variables predictoras (área construida, estrato, número de habitaciones, número de parqueaderos y número de baños) se relacionan con el precio de las viviendas:

\(y = 11.71 + 0.68*areaconst + 80.91*estrato + 7.17*habitac + 24.22*parquea + 18.09*banios\)

A continuación, proporcionamos una interpretación de los coeficientes, su significado en el contexto inmobiliario y las implicaciones del modelo:

1. Intercept (Intercepto): El intercepto del modelo es 11.71883, lo que indica el valor estimado del precio de una vivienda cuando todas las variables predictoras son cero. Sin embargo, en este contexto, el valor del intercepto por sí solo no tiene un significado práctico real.

2. Área Construida (areaconst): El coeficiente positivo de 0.68098 indica que, manteniendo constantes las demás variables, un aumento de un metro cuadrado en el área construida se asocia con un aumento promedio de 0.68098 unidades en el precio de la vivienda. Este resultado es coherente con la intuición de que las propiedades más grandes tienden a tener precios más altos.

3. Estrato (estrato4, estrato5, estrato6): Los coeficientes positivos para los estratos 4, 5 y 6 indican que, en comparación con un estrato de referencia (posiblemente estrato 1, 2 o 3), estos estratos están asociados con un aumento promedio en el precio de la vivienda. Esto concuerda con la percepción de que los estratos más altos generalmente están vinculados a propiedades de mayor valor.

4. Número de Habitaciones (habitac): El coeficiente positivo de 7.17906 sugiere que un aumento de una habitación se relaciona con un aumento promedio de 7.17906 unidades en el precio de la vivienda. Esto tiene sentido, ya que las viviendas con más habitaciones tienden a ser más caras, dado que pueden acomodar a familias más grandes.

5. Número de Parqueaderos (parquea): El coeficiente positivo de 24.22922 indica que un parqueadero adicional se asocia con un aumento promedio de 24.22922 unidades en el precio de la vivienda. Esto refleja la demanda de parqueaderos adicionales en áreas urbanas y su influencia en el precio.

6. Número de Baños (banios): El coeficiente positivo de 18.09024 sugiere que un baño adicional se relaciona con un aumento promedio de 18.09024 unidades en el precio de la vivienda. Este resultado es lógico, ya que más baños suelen ser una característica valorada por los compradores.

7. Coeficiente de Determinación (\(R^2\)): El \(R^2\) del modelo es 0.607, lo que significa que aproximadamente el 60.7% de la variabilidad en el precio de las viviendas se explica por las variables predictoras incluidas en el modelo. Esto indica que el modelo tiene un buen ajuste a los datos, pero también sugiere que hay otras variables no consideradas que pueden influir en el precio.

Los valores t y p asociados con cada coeficiente permiten evaluar si el coeficiente es estadísticamente significativo. En este caso, los coeficientes de “área construida,” “estrato 4,” “estrato 5,” “estrato 6,” “número de parqueaderos” y “número de baños” tienen valores de p significativamente bajos (< 0.05), lo que indica que son estadísticamente significativos en la predicción del precio de la vivienda.

En resumen, el modelo de regresión lineal múltiple sugiere que el área construida, el estrato, el número de habitaciones, el número de parqueaderos y el número de baños son variables significativas para predecir el precio de la vivienda. Estos coeficientes y estadísticas son fundamentales para comprender cómo estas características afectan el valor de las propiedades y proporcionan una base sólida para la toma de decisiones y la formulación de recomendaciones en el mercado inmobiliario.

Para mejorar el modelo, se podrían considerar los siguientes pasos: i) Explorar la inclusión de variables adicionales que puedan influir en el precio, como la ubicación exacta de la propiedad, el estado de la vivienda, la edad de la construcción, entre otros; ii) Investigar posibles transformaciones de variables para mejorar la linealidad y la normalidad de los residuos.

4. Validación de Supuestos del Modelo

Objetivo 4. 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).

En el proceso de modelado estadístico, es fundamental asegurarse de que los supuestos subyacentes en un modelo de regresión lineal múltiple se cumplan para obtener resultados confiables. Tres de los supuestos clave que se verifican son la normalidad de los residuales, la constancia de la varianza de los errores y la independencia de los errores. La normalidad de los residuales se puede evaluar mediante diversas pruebas estadísticas, como la prueba de Shapiro-Wilk, Kolmogorov-Smirnov, Cramér von Mises y Anderson-Darling, o a través de gráficos que muestran la distribución de los residuales en comparación con una distribución normal. La constancia de la varianza de los errores se examina mediante gráficos de residuales versus valores ajustados, y la prueba de Goldfeld-Quandt proporciona una evaluación cuantitativa. La independencia de los errores se verifica utilizando la prueba de Durbin-Watson, que evalúa la autocorrelación de los residuales. En este análisis, se aplicarán estas pruebas y técnicas para garantizar que los supuestos subyacentes se cumplan adecuadamente en el modelo de regresión lineal múltiple:

1. Supuesto de Normalidad

Los resultados del test de normalidad de Shapiro-Wilk indican que la variable en cuestión (llamada “normal”) no sigue una distribución normal. El test de Shapiro-Wilk se utiliza para evaluar si una variable sigue una distribución normal. En este caso, los resultados sugieren que la variable “normal” no se distribuye normalmente en la población. El valor extremadamente bajo del p-value indica una fuerte evidencia en contra de la hipótesis nula de que los datos siguen una distribución normal.

normal <- mbase1$residuals
shapiro.test(normal)
## 
##  Shapiro-Wilk normality test
## 
## data:  normal
## W = 0.8487, p-value < 2.2e-16

2. Supuesto de Varianza Constante

Los resultados del test de Goldfeld-Quandt indican que hay evidencia marginal (a un nivel de significancia del 5%) de que la varianza de los residuos no es constante en el modelo.

El test de Goldfeld-Quandt se utiliza para evaluar si la varianza de los residuos en un modelo de regresión es constante o si varía entre grupos o segmentos de datos. En este caso, el valor p es 0.05828, lo que indica una tendencia hacia la falta de constancia en la varianza de los residuos.

Sin embargo, es importante destacar que el resultado no es concluyente a un nivel de significancia del 5%. Esto significa que, aunque existe alguna evidencia de una posible falta de constancia en la varianza de los residuos, no podemos afirmar con confianza que este sea el caso.

gqtest(mbase1)
## 
##  Goldfeld-Quandt test
## 
## data:  mbase1
## GQ = 1.2428, df1 = 210, df2 = 209, p-value = 0.05828
## alternative hypothesis: variance increases from segment 1 to 2

3. Independencia de los errores

Los resultados del test de Durbin-Watson indican que no hay evidencia de autocorrelación positiva en los errores del modelo.

El test de Durbin-Watson se utiliza para evaluar la presencia de autocorrelación positiva en los errores de un modelo de regresión. En este caso, el valor de Durbin-Watson es cercano a 2 y el valor p es relativamente alto (0.6664).

Dado que el valor de Durbin-Watson está cerca de 2 y el valor p es alto, no hay evidencia estadística de que haya autocorrelación positiva en los errores del modelo. Esto sugiere que los errores están aproximadamente no correlacionados entre sí y que el supuesto de independencia de los errores se cumple en el modelo.

dwtest(mbase1)
## 
##  Durbin-Watson test
## 
## data:  mbase1
## DW = 2.0458, p-value = 0.6664
## alternative hypothesis: true autocorrelation is greater than 0

4. Multicolinealidad

Los resultados que proporcionas son los valores de GVIF (Generalized Variance Inflation Factor) y sus respectivos grados de libertad (Df) para cada una de las variables predictoras en tu modelo. El GVIF es una medida que se utiliza para evaluar la multicolinealidad entre las variables predictoras en un modelo de regresión.

En general, los valores de GVIF cercanos a 1 indican que no hay una multicolinealidad seria entre las variables predictoras en tu modelo. En tu caso, los valores de GVIF son relativamente bajos para todas las variables predictoras, lo que sugiere que la multicolinealidad no es un problema significativo en tu modelo.

vif(mbase1)
##               GVIF Df GVIF^(1/(2*Df))
## areaconst 1.466064  1        1.210811
## estrato   1.381970  3        1.055398
## habitac   1.749911  1        1.322842
## parquea   1.228728  1        1.108480
## banios    2.047730  1        1.430989

En base a los resultados obtenidos en el análisis del modelo de regresión, podemos llegar a las siguientes conclusiones:

par(mfrow = c(2, 2))
plot(mbase1)

En general, el modelo de regresión proporciona información valiosa sobre la relación entre las variables predictoras y la variable de respuesta (el precio de las viviendas). Sin embargo, es esencial ser consciente de las limitaciones identificadas en la validación de supuestos, como la falta de normalidad en los residuos y la posible falta de constancia en la varianza de los errores.

Para futuras investigaciones o análisis, se recomienda explorar transformaciones de variables, considerar modelos robustos que no dependan de supuestos e investigar más a fondo la varianza de los errores. Además, la inclusión de variables adicionales o la recopilación de datos adicionales pueden mejorar la capacidad del modelo para explicar la variabilidad en el precio de las viviendas.

En resumen, estos resultados proporcionan una base sólida para el análisis, pero es importante tener en cuenta las limitaciones y las áreas de mejora para lograr una comprensión más completa y precisa del mercado inmobiliario.

5. Predicción del precio de la vivienda

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

En el proceso de satisfacer las necesidades de una inmobiliaria que busca estimar el precio de una vivienda acorde a ciertos requisitos, se emprendió un análisis que involucra la predicción del valor de una vivienda de tipo casa. Esta vivienda debe cumplir con ciertos criterios específicos, como tener una superficie de 200 metros cuadrados, contar con 2 baños, 4 habitaciones y un espacio de estacionamiento. Además, la ubicación en la zona Norte de la ciudad y el estrato, que puede ser tanto 4 como 5, son factores clave en la determinación del precio. Para abordar este desafío, se llevaron a cabo dos simulaciones distintas, una considerando la vivienda en el estrato 4 y otra en el estrato 5, lo que permitirá evaluar cómo estas variaciones afectan el precio estimado de la propiedad:

req <- data.frame(areaconst=c(200,200),estrato=c(4,5),habitac=c(4,4),parquea=c(1,1),banios=c(2,2))
req$estrato <- as.factor(req$estrato)
req
##   areaconst estrato habitac parquea banios
## 1       200       4       4       1      2
## 2       200       5       4       1      2
predict(mbase1,req)
##        1        2 
## 317.9507 384.5793

Los resultados de las predicciones utilizando el modelo de regresión para las dos simulaciones son los siguientes:

En la primera simulación (Vivienda A), que es una casa de 200 metros cuadrados con 2 baños, 4 habitaciones y un parqueadero, ubicada en la zona Norte y con un estrato de 4, el precio estimado es de 317 millones de pesos.

En la segunda simulación (Vivienda B), que también es una casa de 200 metros cuadrados con 2 baños, 4 habitaciones y un parqueadero, ubicada en la zona Norte pero con un estrato de 5, el precio estimado es de 384 millones de pesos.

Los resultados de las predicciones destacan la influencia significativa del estrato en el precio estimado de las viviendas. A pesar de que ambas viviendas comparten características similares en términos de tamaño, número de habitaciones y baños, así como ubicación en la zona Norte, el estrato más alto de la Vivienda B (5 en lugar de 4) se traduce en un precio estimado más alto en comparación con la Vivienda A (317 millones frente a 384 millones de pesos, respectivamente). Esta variación resalta la importancia de considerar el estrato al evaluar el valor de una propiedad en el mercado inmobiliario.

6. Ofertas potenciales de viviendas

Objetivo 6. Con las predicciones del modelo sugiera potenciales ofertas que responda a la solicitud de la vivienda 1. Tenga encuenta 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.

A continuación se muestran las potenciales ofertas en la primera simulación (Vivienda A), que es una casa de 200 metros cuadrados con 2 baños, 4 habitaciones y un parqueadero, ubicada en la zona Norte y con un estrato de 4:

# Potenciales Ofertas para la primera simulacion (Vivienda A)

potofert1 <- subset(data,estrato == 4 & areaconst >= 200 & parquea >=1 & banios>=2 & habitac == 4 & preciom <=350 & base == "Base 1")

potofert1
## # A tibble: 7 × 12
##      id zona     preciom areaconst parquea banios habitac estrato tipo  longitud
##   <dbl> <chr>      <dbl>     <dbl>   <dbl>  <dbl>   <dbl> <fct>   <chr>    <dbl>
## 1  3352 Zona No…     335      300        3      4       4 4       casa     -76.5
## 2   937 Zona No…     350      280        2      3       4 4       casa     -76.5
## 3  1108 Zona No…     330      260        1      3       4 4       casa     -76.5
## 4  1144 Zona No…     320      200        2      4       4 4       casa     -76.5
## 5  1822 Zona No…     340      295        2      2       4 4       casa     -76.5
## 6  2544 Zona No…     340      264.       2      4       4 4       casa     -76.5
## 7  4458 Zona No…     315      270        2      4       4 4       casa     -76.5
## # ℹ 2 more variables: latitud <dbl>, base <chr>
colores <- colorFactor(palette = "Set1", domain = potofert1$base)

mapa_ofrt1 <- leaflet(potofert1) %>% 
  addTiles() %>% 
  addCircleMarkers(lng = ~longitud, lat = ~latitud, color = ~colores(base),radius = 4)

mapa_ofrt1

De los anteriores resultados, se describen las ofertas de las siguientes viviendas que cumplen con los requerimientos de la solicitud:

1. Vivienda 1822: Esta oferta ofrece un área construida espaciosa y un precio competitivo. Sin embargo, tiene solo 2 baños, lo que podría ser una consideración importante según las necesidades del comprador:

Precio: 340 millones de pesos. Área construida: 295 metros cuadrados. Parqueaderos: 2. Baños: 2. Habitaciones: 4. Estrato: 4. Tipo: Casa. Ubicación: Longitud -76.51777, Latitud 3.48060.

2. Vivienda 937: Esta oferta tiene un precio ligeramente más alto que la oferta 1822, pero ofrece un baño adicional, lo que podría ser una ventaja. Además, el área construida es generosa:

Precio: 350 millones de pesos. Área construida: 280 metros cuadrados. Parqueaderos: 2. Baños: 3. Habitaciones: 4. Estrato: 4. Tipo: Casa. Ubicación: Longitud -76.50603, Latitud 3.46643.

3. Vivienda 4458: Esta oferta tiene un precio más bajo y ofrece 4 baños, lo que podría ser una ventaja si se necesita más espacio de baño. El área construida es adecuada y cuenta con 2 parqueaderos.

Precio: 315 millones de pesos. Área construida: 270 metros cuadrados. Parqueaderos: 2. Baños: 4. Habitaciones: 4. Estrato: 4. Tipo: Casa. Ubicación: Longitud -76.53176, Latitud 3.48780.

4. Vivienda 2544: Esta oferta tiene un precio competitivo y un área construida adecuada. Además, ofrece 4 baños, lo que podría ser beneficioso para una familia:

Precio: 340 millones de pesos. Área construida: 264.5 metros cuadrados. Parqueaderos: 2. Baños: 4. Habitaciones: 4. Estrato: 4. Tipo: Casa. Ubicación: Longitud -76.52096, Latitud 3.47665.

5. Vivienda 1108: Esta oferta tiene un precio atractivo y ofrece 4 habitaciones. Sin embargo, cuenta con solo 1 parqueadero, lo que podría ser una limitación si se tienen varios vehículos:

Precio: 330 millones de pesos. Área construida: 260 metros cuadrados. Parqueaderos: 1. Baños: 3. Habitaciones: 4. Estrato: 4. Tipo: Casa. Ubicación: Longitud -76.51060, Latitud 3.48108.

Nota: La Vivienda 3352 fue descartada debido a que en el mapa se pudo observar que no se encuentra en la zona Norte, como se requería en la solicitud original. Por lo tanto, esta oferta no cumple con los criterios de ubicación.

En resumen, las viviendas 937, 4458, 2544, 1822 y 1108 ofrecen una variedad de opciones en la zona Norte con diferentes precios y características. Los compradores deben considerar sus preferencias y necesidades específicas al evaluar estas ofertas y seleccionar la que mejor se adapte a sus requerimientos y presupuesto.

ANEXO B: Análisis de Vivienda 2

1. Filtro de la base de datos

Objetivo 1. Realice un filtro a la base de datos e incluya solo las ofertas de : base10: 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?).

Para abordar el objetivo 1, realizamos un filtro en la base de datos seleccionando exclusivamente las ofertas de apartamentos ubicados en la zona sur de la ciudad. A continuación, presentamos los primeros 3 registros de esta base de datos filtrada:

# Filtrado para el análisis de vivienda 2

data_base2 <- subset(data,data$base == "Base 10")
head(data_base2,3)
## # A tibble: 3 × 12
##      id zona     preciom areaconst parquea banios habitac estrato tipo  longitud
##   <dbl> <chr>      <dbl>     <dbl>   <dbl>  <dbl>   <dbl> <fct>   <chr>    <dbl>
## 1  8299 Zona Sur     305       125       2      3       3 6       apar…    -76.6
## 2  8286 Zona Sur     275        74       1      2       3 5       apar…    -76.6
## 3  8287 Zona Sur     285       120       2      4       3 5       apar…    -76.6
## # ℹ 2 more variables: latitud <dbl>, base <chr>

Adicionalmente, hemos creado un mapa que muestra la ubicación de estos apartamentos en la zona sur de la ciudad. Sin embargo, al realizar una revisión más detallada, notamos que algunos puntos no se encuentran exactamente en la zona sur, lo que podría deberse a errores en la información proporcionada o a una definición ambigua de la zona sur. Es importante investigar estos casos para garantizar la precisión de la ubicación de las viviendas en futuros análisis.

# Graficar las viviendas de zona sur tipo apartamento

data_base2$base <- as.character(data_base2$base)

colores2 <- colorFactor(palette = "Set1", domain = data_base2$base)

mapa2 <- leaflet(data_base2) %>% 
  addTiles() %>% 
  addCircleMarkers(lng = ~longitud, lat = ~latitud, color = ~colores2(base),radius = 4)

mapa2

2. Análisis Exploratorio de Datos

Objetivo 2. 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 la vivienda. Use gráficos interactivos con el paquete plotly e interprete los resultados.

El análisis exploratorio de datos revela interesantes correlaciones entre diversas variables y el precio de las viviendas. Estas correlaciones pueden ser clave para comprender los factores que influyen en el precio de una casa. A continuación, interpretamos los resultados:

ggpairs(data_base2[,3:7],title = "")

1. Área Construida - Precio (0.741): Existe una correlación positiva significativa entre el área construida de una vivienda y su precio. Esto significa que, en general, a medida que aumenta el área construida, el precio tiende a aumentar. Esto es coherente con la intuición de que casas más grandes suelen tener precios más altos.

2. Parqueadero - Precio (0.693): La presencia de un parqueadero también está positivamente correlacionada con el precio de la vivienda. Las casas con parqueadero tienden a tener precios más altos que aquellas sin esta facilidad.

3. Baños - Precio (0.711): El número de baños en una vivienda muestra una correlación positiva con el precio. Esto sugiere que las casas con más baños tienden a tener precios más elevados.

4. Habitación - Precio (0.296): La correlación entre el número de habitaciones y el precio es más débil en comparación con las otras variables. Esto podría indicar que otros factores tienen una influencia más significativa en el precio de la vivienda, además del número de habitaciones.

5. Parqueadero - Área Construida (0.578): La correlación entre la presencia de un parqueadero y el área construida es positiva pero menor que la correlación entre el área construida y el precio. Esto sugiere que el tamaño de la vivienda (área construida) es un factor más determinante en el precio que la presencia de un parqueadero.

6. Baños - Área Construida:La correlación positiva entre el número de baños y el área construida indica que, en general, las viviendas más grandes tienden a tener más baños.

7. Habitación - Área Construida (0.664): La correlación positiva entre el número de habitaciones y el área construida sugiere que las viviendas más grandes tienden a tener más habitaciones, pero esta relación es menos fuerte que la de otras variables.

8. Baños - Parqueaderos (0.407): Existe una correlación positiva entre el número de baños y la presencia de parqueadero. Esto podría indicar que las viviendas más grandes tienden a ofrecer más comodidades como parqueaderos adicionales.

9. Habitación - Parqueaderos (0.556): La correlación positiva entre el número de baños y el número de habitaciones sugiere que las viviendas con más habitaciones también tienden a tener más baños.

10. Baños - Habitación (0.520): La correlación entre el número de baños y el número de habitaciones es de 0.590, lo que sugiere una correlación positiva considerable entre estas dos variables. Esto podría indicar que propiedades con más habitaciones tienden a tener más baños.

En resumen, el área construida, la presencia de parqueadero y el número de baños son factores que muestran correlaciones significativas y positivas con el precio de las viviendas.A continuación se muestran los histogramas de dichos factores:

fig_areac2 <- plot_ly(data_base2, x=~areaconst, type = "histogram", alpha = 0.6) 
fig_areac2 <- fig_areac2 %>% add_histogram(x = ~areaconst, type = "histogram", alpha = 0.6, color = ~estrato)

fig_areac2 <- fig_areac2 %>% layout(
  barmode = "overlay",
  xaxis = list(title = "Area Construida"),
  yaxis = list(title = "Frecuencia"),
  title = "Histograma de Area Construida de la Vivienda 2: Apartamento en la Zona Sur"
)
fig_areac2
fig_parq2 <- plot_ly(data_base2, x=~parquea, type = "histogram", alpha = 0.6) 
fig_parq2 <- fig_parq2 %>% add_histogram(x = ~parquea, type = "histogram", alpha = 0.6, color = ~estrato)

fig_parq2 <- fig_parq2 %>% layout(
  barmode = "overlay",
  xaxis = list(title = "Parqueaderos"),
  yaxis = list(title = "Frecuencia"),
  title = "Histograma de parqueaderos de la Vivienda 2: Apartamento en la Zona Sur"
)

fig_parq2
fig_ban2 <- plot_ly(data_base2, x=~banios, type = "histogram", alpha = 0.6) 
fig_ban2 <- fig_ban2 %>% add_histogram(x = ~banios, type = "histogram", alpha = 0.6, color = ~estrato)

fig_ban2 <- fig_ban2 %>% layout(
  barmode = "overlay",
  xaxis = list(title = "Banios"),
  yaxis = list(title = "Frecuencia"),
  title = "Histograma de Banios de la Vivienda 2: Apartamento en la Zona Sur"
)
fig_ban2

3. Estimación de Modelo de Regresión Lineal Múltiple

Objetivo 3. Estime un modelo de regresión lineal múltiple con las variables del punto anterior (precio = f(área construida, estrato, numero de cuartos, numero de parqueaderos, numero 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).

En este análisis, se ha estimado un modelo de regresión lineal múltiple para comprender la relación entre el precio de las viviendas y múltiples variables predictoras, incluyendo el área construida, el estrato, el número de cuartos, el número de parqueaderos y el número de baños:

mbase2 <- lm(preciom~areaconst+estrato+habitac+parquea+banios,data = data_base2)
summary(mbase2)
## 
## Call:
## lm(formula = preciom ~ areaconst + estrato + habitac + parquea + 
##     banios, data = data_base2)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1058.69   -39.21     0.38    36.96   898.14 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -28.38462   12.93336  -2.195  0.02828 *  
## areaconst     1.28595    0.05105  25.189  < 2e-16 ***
## estrato4     30.40026    9.55717   3.181  0.00149 ** 
## estrato5     50.88889    9.61940   5.290 1.33e-07 ***
## estrato6    204.40443   11.17300  18.294  < 2e-16 ***
## habitac     -17.10675    3.70357  -4.619 4.06e-06 ***
## parquea      62.13696    3.79229  16.385  < 2e-16 ***
## banios       41.95467    3.24893  12.913  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 92.52 on 2373 degrees of freedom
## Multiple R-squared:  0.7762, Adjusted R-squared:  0.7755 
## F-statistic:  1175 on 7 and 2373 DF,  p-value: < 2.2e-16

En base a los resultados del modelo de regresión lineal múltiple que estimamos, hemos evaluado cómo las variables predictoras (área construida, estrato, número de habitaciones, número de parqueaderos y número de baños) se relacionan con el precio de las viviendas:

\(y = -28.38 + 1.29*areaconst + 30.40*estrato4 + 50.89*estrato5 + 204.40*estrato6 - 17.10*habitac + 62.13*parquea + 41.95*banios\)

Los resultados del modelo indican lo siguiente:

1. Intercept (Intercepto): El intercepto es el valor estimado del precio de una vivienda cuando todas las demás variables (área construida, estrato, número de habitaciones, número de parqueaderos y número de baños) son iguales a cero. En este contexto, el valor del intercepto no tiene una interpretación práctica, ya que no tiene sentido que todas las variables predictoras sean cero en una situación real.

2. Área Construida (areaconst): Cada unidad adicional en el área construida de una vivienda se asocia, en promedio, con un aumento de $1.29 en el precio de la vivienda, manteniendo constantes las otras variables. Esto significa que, a medida que el tamaño de la vivienda aumenta, el precio tiende a aumentar, lo cual es una relación esperada y coherente.

3. Estrato 4: Vivir en una zona clasificada como Estrato 4 se asocia con un aumento promedio de $30.40 en el precio de la vivienda, en comparación con las viviendas en otros estratos, manteniendo constantes las otras variables. Esto indica que el estrato 4 tiene un impacto positivo en el precio.

4. Estrato 5:Similar al caso anterior, vivir en una zona clasificada como Estrato 5 se asocia con un aumento promedio de $50.89 en el precio de la vivienda en comparación con otros estratos, manteniendo constantes las otras variables.

5. Estrato 6:El estrato 6 tiene el mayor impacto positivo en el precio. Vivir en una zona clasificada como Estrato 6 se asocia con un aumento sustancial de $204.40 en el precio de la vivienda en comparación con otros estratos, manteniendo constantes las demás variables.

6. Número de Habitaciones (habitac): Cada habitación adicional en la vivienda se asocia, en promedio, con una disminución de $17.11 en el precio de la vivienda, manteniendo constantes las otras variables. Esto sugiere que, a medida que aumenta el número de habitaciones, el precio tiende a disminuir, lo cual puede parecer sorprendente pero podría indicar que habitaciones adicionales pueden estar asociadas con viviendas más pequeñas o en ubicaciones menos atractivas.

7. Número de Parqueaderos (parquea): Cada parqueadero adicional se asocia, en promedio, con un aumento de $62.14 en el precio de la vivienda, manteniendo constantes las otras variables. Esto sugiere que tener más parqueaderos es un factor importante para aumentar el precio de una vivienda, lo que puede reflejar la comodidad y la demanda de estacionamiento en la zona.

8. Número de Baños (banios): Cada baño adicional se asocia, en promedio, con un aumento de $41.95 en el precio de la vivienda, manteniendo constantes las otras variables. Esto indica que las viviendas con más baños tienden a tener precios más altos, lo que puede reflejar la preferencia de los compradores por viviendas con más comodidades en este aspecto.

9. Coeficiente de Determinación (\(R^2\)): En este modelo específico, el coeficiente \(R^2\) es igual a 0.7762, lo que significa que aproximadamente el 77.62% de la variabilidad en el precio de las viviendas se explica por las variables independientes incluidas en el modelo. En otras palabras, el 77.62% de la variación en los precios de las viviendas puede ser explicado por el tamaño del área construida, el estrato, el número de habitaciones, el número de parqueaderos y el número de baños, según este modelo.

El modelo en su conjunto explica aproximadamente el 77.62% de la variabilidad en el precio de las viviendas, lo que sugiere que es un modelo bastante sólido para predecir el precio en función de estas variables. El valor del estadístico F es significativamente alto, y el p-valor es cercano a cero, lo que indica que el modelo en general es altamente significativo.

4. Validación de Supuestos del Modelo

Objetivo 4. 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).

En el proceso de modelado estadístico, es fundamental asegurarse de que los supuestos subyacentes en un modelo de regresión lineal múltiple se cumplan para obtener resultados confiables. Tres de los supuestos clave que se verifican son la normalidad de los residuales, la constancia de la varianza de los errores y la independencia de los errores. La normalidad de los residuales se puede evaluar mediante diversas pruebas estadísticas, como la prueba de Shapiro-Wilk, Kolmogorov-Smirnov, Cramér von Mises y Anderson-Darling, o a través de gráficos que muestran la distribución de los residuales en comparación con una distribución normal. La constancia de la varianza de los errores se examina mediante gráficos de residuales versus valores ajustados, y la prueba de Goldfeld-Quandt proporciona una evaluación cuantitativa. La independencia de los errores se verifica utilizando la prueba de Durbin-Watson, que evalúa la autocorrelación de los residuales. En este análisis, se aplicarán estas pruebas y técnicas para garantizar que los supuestos subyacentes se cumplan adecuadamente en el modelo de regresión lineal múltiple:

1. Supuesto de Normalidad

Los resultados del test de normalidad de Shapiro-Wilk indican que la variable en cuestión (llamada “normal”) no sigue una distribución normal. El test de Shapiro-Wilk se utiliza para evaluar si una variable sigue una distribución normal. En este caso, los resultados sugieren que la variable “normal” no se distribuye normalmente en la población. El valor extremadamente bajo del p-value indica una fuerte evidencia en contra de la hipótesis nula de que los datos siguen una distribución normal.

normal2 <- mbase2$residuals
shapiro.test(normal2)
## 
##  Shapiro-Wilk normality test
## 
## data:  normal2
## W = 0.77823, p-value < 2.2e-16

2. Supuesto de Varianza Constante

El resultado del test de Goldfeld-Quandt (GQ) sugiere que hay evidencia de heterocedasticidad en el modelo. La heterocedasticidad se refiere a la presencia de una variabilidad desigual en los errores del modelo a lo largo de los valores de las variables independientes. En otras palabras, la dispersión de los residuos no es constante en toda la gama de valores de las variables independientes.

El p-valor asociado con el test es menor que 2.2e-16 (muy cercano a cero). Esto indica que hay una fuerte evidencia en contra de la hipótesis nula de que la varianza de los errores es constante en todo el rango de los valores de las variables independientes. En otras palabras, el p-valor sugiere que la varianza de los errores aumenta significativamente a medida que cambian los valores de las variables independientes.

gqtest(mbase2)
## 
##  Goldfeld-Quandt test
## 
## data:  mbase2
## GQ = 1.7055, df1 = 1183, df2 = 1182, p-value < 2.2e-16
## alternative hypothesis: variance increases from segment 1 to 2

3. Independencia de los errores

El resultado del test de Durbin-Watson (DW) sugiere la presencia de autocorrelación positiva en los residuos del modelo. La autocorrelación se refiere a la correlación serial entre los residuos en un modelo de regresión, es decir, la correlación entre los errores en diferentes observaciones.

DW (Estadística del test): El valor de la estadística del test de Durbin-Watson es 1.8476. Esta estadística se utiliza para evaluar la presencia de autocorrelación en los residuos del modelo. El valor de DW está en el rango de 0 a 4, donde un valor cercano a 2 sugiere que no hay autocorrelación, un valor menor que 2 sugiere autocorrelación positiva, y un valor mayor que 2 sugiere autocorrelación negativa. En este caso, el valor de DW (1.8476) está cercano a 2, pero ligeramente por debajo, lo que indica la presencia de autocorrelación positiva.

p-valor: El p-valor asociado con el test es 9.136e-05, lo que indica que es muy bajo. Esto significa que hay evidencia estadística significativa en contra de la hipótesis nula de que no hay autocorrelación en los residuos. En otras palabras, el p-valor sugiere que la autocorrelación positiva es una característica significativa en los residuos del modelo.

Hipótesis alternativa: La hipótesis alternativa sugiere que la verdadera autocorrelación es mayor que cero. En este contexto, se está indicando que existe una correlación positiva entre los residuos en observaciones sucesivas.

dwtest(mbase2)
## 
##  Durbin-Watson test
## 
## data:  mbase2
## DW = 1.8476, p-value = 9.136e-05
## alternative hypothesis: true autocorrelation is greater than 0

4. Multicolinealidad

Los resultados indican que hay evidencia de multicolinealidad en el modelo de regresión. La multicolinealidad se refiere a una alta correlación entre dos o más variables predictoras en un modelo de regresión, lo que puede ser problemático para la interpretación de los coeficientes y la estabilidad de las estimaciones. Aquí está la interpretación de los resultados:

Área Construida (areaconst): El GVIF para el área construida es de 2.071289, lo que indica cierta evidencia de multicolinealidad. El GVIF ajustado también es mayor que 1, lo que sugiere que la multicolinealidad podría afectar la interpretación de los resultados para esta variable.

Estrato (estrato): El GVIF para el estrato es de 1.707283, lo que indica cierta evidencia de multicolinealidad. El GVIF ajustado es mayor que 1, lo que sugiere que la multicolinealidad podría afectar la interpretación de los resultados para esta variable. Además, dado que hay tres categorías de estrato, la multicolinealidad podría estar relacionada con la interacción entre estas categorías.

Número de Habitaciones (habitac): El GVIF para el número de habitaciones es de 1.452564, lo que indica cierta evidencia de multicolinealidad. El GVIF ajustado también es mayor que 1, lo que sugiere que la multicolinealidad podría afectar la interpretación de los resultados para esta variable.

Número de Parqueaderos (parquea): El GVIF para el número de parqueaderos es de 1.790871, lo que indica cierta evidencia de multicolinealidad. El GVIF ajustado también es mayor que 1, lo que sugiere que la multicolinealidad podría afectar la interpretación de los resultados para esta variable.

Número de Baños (banios): El GVIF para el número de baños es de 2.598186, lo que indica una evidencia más fuerte de multicolinealidad en comparación con las otras variables. El GVIF ajustado también es significativamente mayor que 1, lo que sugiere que la multicolinealidad es más pronunciada para esta variable y podría afectar seriamente la interpretación de sus resultados.

En resumen, los resultados indican que hay evidencia de multicolinealidad en el modelo, y esto podría tener implicaciones en la interpretación de los coeficientes y la confiabilidad de las estimaciones.

vif(mbase2)
##               GVIF Df GVIF^(1/(2*Df))
## areaconst 2.071289  1        1.439197
## estrato   1.707283  3        1.093245
## habitac   1.452564  1        1.205224
## parquea   1.790871  1        1.338234
## banios    2.598186  1        1.611889

En base a los resultados obtenidos en el análisis del modelo de regresión, podemos llegar a las siguientes conclusiones:

par(mfrow = c(2, 2))
plot(mbase2)

La evaluación del modelo de regresión revela preocupaciones significativas en relación con varios supuestos clave. Los resultados indican una posible falta de normalidad en los residuos, heterocedasticidad que sugiere una variabilidad desigual en los errores, autocorrelación positiva en los residuos y evidencia de multicolinealidad entre las variables predictoras. Estos hallazgos plantean dudas sobre la validez de las inferencias y la confiabilidad de las estimaciones del modelo. Se recomienda abordar estas preocupaciones mediante la exploración de transformaciones de variables para normalizar los residuos, la consideración de modelos de regresión robustos para lidiar con la heterocedasticidad y la autocorrelación, y la revisión cuidadosa de las variables predictoras para reducir la multicolinealidad. Además, la recopilación de datos adicionales o la inclusión de variables adicionales podría ayudar a mejorar la calidad del modelo y su capacidad para explicar los datos.

5. Predicción del precio de la vivienda

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

En el proceso de satisfacer las necesidades de una inmobiliaria que busca estimar el precio de una vivienda acorde a ciertos requisitos, se emprendió un análisis que involucra la predicción del valor de una vivienda de tipo apartamento. Esta vivienda debe cumplir con ciertos criterios específicos, como tener una superficie de 300 metros cuadrados, contar con 3 baños, 5 habitaciones y 3 espacio de estacionamiento. Además, la ubicación en la zona Sur de la ciudad y el estrato, que puede ser tanto 5 como 6, son factores clave en la determinación del precio. Para abordar este desafío, se llevaron a cabo dos simulaciones distintas, una considerando la vivienda en el estrato 5 y otra en el estrato 6, lo que permitirá evaluar cómo estas variaciones afectan el precio estimado de la propiedad:

req2 <- data.frame(areaconst=c(300,300),estrato=c(5,6),habitac=c(5,5),parquea=c(3,3),banios=c(3,3))
req2$estrato <- as.factor(req2$estrato)
req2
##   areaconst estrato habitac parquea banios
## 1       300       5       5       3      3
## 2       300       6       5       3      3
predict(mbase2,req2)
##        1        2 
## 635.0311 788.5467

Los resultados de las predicciones utilizando el modelo de regresión para las dos simulaciones son los siguientes:

En la primera simulación (Vivienda C), que es una casa de 300 metros cuadrados con 3 baños, 5 habitaciones y 3 parqueaderos, ubicada en la zona Sur y con un estrato de 5, el precio estimado es de 635 millones de pesos.

En la segunda simulación (Vivienda D), que también es una casa de 300 metros cuadrados con 3 baños, 5 habitaciones y 3 parqueaderos, ubicada en la zona Sur pero con un estrato de 6, el precio estimado es de 788 millones de pesos.

Esta diferencia de precio resalta la influencia significativa del estrato en la determinación del valor de una vivienda. El estrato no solo refleja aspectos socioeconómicos y de calidad de vida en una zona, sino que también tiene un impacto directo en el precio de las propiedades. Un estrato más alto generalmente se asocia con una mayor demanda y, por lo tanto, con precios más altos.

En resumen, los resultados subrayan la importancia de considerar factores como el estrato al estimar el precio de una vivienda. Un pequeño cambio en el estrato, incluso manteniendo otras características constantes, puede llevar a una diferencia significativa en el valor estimado de la propiedad. Esto es relevante tanto para compradores y vendedores de viviendas como para la toma de decisiones en el sector inmobiliario.

6. Ofertas potenciales de viviendas

Objetivo 6. Con las predicciones del modelo sugiera potenciales ofertas que responda a la solicitud de la vivienda 1. Tenga encuenta 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.

A continuación se muestran las potenciales ofertas en la primera simulación (Vivienda C), que es una casa de 300 metros cuadrados con 3 baños, 5 habitaciones y 3 parqueaderos, ubicada en la zona Sur y con un estrato de 5:

# Potenciales Ofertas para la primera simulacion (Vivienda A)

potofert3 <- subset(data,estrato == 5 & areaconst >= 300 & parquea >=3 & banios>=3 & habitac >= 5 & preciom <=850 & base == "Base 10")

potofert3
## # A tibble: 2 × 12
##      id zona     preciom areaconst parquea banios habitac estrato tipo  longitud
##   <dbl> <chr>      <dbl>     <dbl>   <dbl>  <dbl>   <dbl> <fct>   <chr>    <dbl>
## 1  7182 Zona Sur     730       573       3      8       5 5       apar…    -76.5
## 2  7512 Zona Sur     670       300       3      5       6 5       apar…    -76.6
## # ℹ 2 more variables: latitud <dbl>, base <chr>
colores3 <- colorFactor(palette = "Set1", domain = potofert3$base)

mapa_ofrt3 <- leaflet(potofert3) %>% 
  addTiles() %>% 
  addCircleMarkers(lng = ~longitud, lat = ~latitud, color = ~colores3(base),radius = 4)

mapa_ofrt3

Ambas ofertas potenciales cumplen con los criterios de ubicación en la zona Sur, el área construida de 300 metros cuadrados, 3 baños, 5 habitaciones y 3 parqueaderos, tal como se solicitó para la “Vivienda 2”. Sin embargo, difieren en el precio estimado. La Oferta 1 tiene un precio estimado de 730 millones de pesos, mientras que la Oferta 2 tiene un precio estimado de 670 millones de pesos.

El análisis para tomar una decisión informada debe considerar no solo el precio, sino también otros factores como la ubicación específica dentro de la Zona Sur, el estrato y cualquier característica adicional relevante para la empresa.

Por otra parte, hemos encontrado que actualmente no existen ofertas potenciales que cumplan con los criterios específicos establecidos para la “Vivienda 2” y que cuenten con un estrato 6. A pesar de contar con un crédito preaprobado de hasta 850 millones de pesos, no hemos identificado propiedades que cumplan con todas las características deseadas dentro de esta categoría de estrato.