INTRODUCCIÓN
El mercado inmobiliario de Cali ha mostrado un crecimiento sostenido en los últimos años, convirtiéndose en un sector clave para la economía regional. La agencia B&C, con 10 años de experiencia en el sector, ha recopilado una base de datos sobre oferta y venta de viviendas en la ciudad, con el fin de realizar un análisis estadístico descriptivo que le permita obtener información valiosa sobre las tendencias y patrones en este mercado.
Este informe presenta un análisis de los precios, áreas, número de baños y habitaciones de las viviendas en las diferentes zonas de Cali, tambien se compara estas variables entre casas y apartamentos. La información obtenida permite identificar las características más relevantes de la oferta inmobiliaria en la ciudad, lo cual es de gran utilidad para que B&C defina su nicho de mercado, desarrolle estrategias comerciales, establezca precios competitivos y brinde un servicio personalizado a sus clientes.
Los resultados de este informe estadístico aportarán información valiosa para que B&C tome decisiones informadas sobre su negocio y aproveche las oportunidades que ofrece el creciente mercado inmobiliario de Cali. El análisis de las tendencias y patrones permitirá a la empresa enfocar sus esfuerzos de manera estratégica para incrementar su participación en este mercado.
OBJETIVOS
Analizar los precios de las viviendas en las diferentes zonas de Cali para identificar variaciones y tendencias.
Examinar el tipo de viviendas (apartamentos vs casas) más ofertadas en Cali y sus características promedio (área, número de baños y habitaciones).
Estudiar las correlaciones entre las variables precio, área, número de baños y habitaciones.
Obtener información sobre las características y atributos más relevantes de la oferta inmobiliaria en Cali.
Proporcionar a la agencia B&C información útil para:
METODOS
Estadística descriptiva: se utilizaría para obtener medidas de tendencia central (media, mediana, moda) y de dispersión (desviación estándar, rango, cuartiles) para las variables numéricas como precio, área, número de baños y habitaciones.
Tablas de frecuencias: para resumir los datos categóricos como tipo de vivienda (casa o apartamento) y zonas de Cali. Permiten observar las frecuencias absolutas y relativas.
Gráficos: como histogramas, diagramas de caja y bigotes y gráficos de barras. Sirven para visualizar la distribución de las variables analizadas.
Correlación: se calculó una matriz de correlación para examinar la relación entre las variables numéricas (precio, área, baños, habitaciones). El coeficiente de correlación mide la fuerza y dirección de la relación lineal.
Prueba de hipótesis: se podrían plantear y probar hipótesis sobre las diferencias en las variables analizadas entre grupos (por ejemplo, casas y apartamentos).
Regresión: se podrían ajustar modelos de regresión lineal para predecir una variable numérica (como el precio) en base a otras variables independientes (área, ubicación, etc.)
Segmentación: técnicas como análisis clúster permitirían identificar grupos de viviendas con características comunes.
#Parte 2: Informe estadistico precio vivienda x zonas--------------------------
df_precioxzonas =tibble(vivienda_faltantes$zona, vivienda_faltantes$preciom)
df_precioxzonas <- aggregate(vivienda_faltantes$preciom ~ vivienda_faltantes$zona, data = df_precioxzonas, FUN = sum)
# Crear el gráfico de barras con ggplot2
ggplot(df_precioxzonas, aes(x = `vivienda_faltantes$zona`, y = `vivienda_faltantes$preciom`)) +
geom_bar(stat = "identity", fill = "blue") +
geom_text(aes(label = format(`vivienda_faltantes$preciom`, big.mark = ".", decimal.mark = ",")), vjust = -0.5, color = "black", size = 3) + # Agregar etiquetas de texto
labs(x = "Zonas", y = "Precio", title = "Zona x Precios")## vivienda_faltantes$zona vivienda_faltantes$preciom
## 1 Zona Centro 38402
## 2 Zona Norte 664548
## 3 Zona Oeste 817136
## 4 Zona Oriente 80214
## 5 Zona Sur 2015726
ANALISIS: PRECIO VIVIENDA X ZONA
* El precio promedio más alto está en la Zona Sur con $2,015,726 y el más bajo en la Zona Centro con $38,402.
* La Zona Sur tiene precios 52 veces mayores en promedio que la Zona Centro.
* Existe una enorme variabilidad de precios entre zonas, lo que probablemente refleja diferencias socioeconómicas.
*
#Parte 3: Informe estadistico: Tipo vivienda ofertada
# Resumen estadístico
# Realiza las agregaciones para cada campo por separado y almacena los resultados
resultados_tipo <- list()
resultados_tipo$cantidad <- aggregate(id ~ tipo, data = vivienda_faltantes_xlsx, FUN = length)
resultados_tipo$preciom <- aggregate(preciom ~ tipo, data = vivienda_faltantes_xlsx, FUN = mean)
resultados_tipo$areaconst <- aggregate(areaconst ~ tipo, data = vivienda_faltantes_xlsx, FUN = mean)
resultados_tipo$banios <- aggregate(banios ~ tipo, data = vivienda_faltantes_xlsx, FUN = mean)
resultados_tipo$habitac <- aggregate(habitac ~ tipo, data = vivienda_faltantes_xlsx, FUN = mean)
# Combinar los resultados en un único marco de datos
resumen_estadistico <- Reduce(function(x, y) merge(x, y, by = "tipo", all = TRUE), resultados_tipo)
names(resumen_estadistico)[2] <-"cantidad" #cambiar el nombre del campo
names(resumen_estadistico)[3] <-"precio_prom"
names(resumen_estadistico)[4] <-"area_prom"
names(resumen_estadistico)[5] <-"banos_prom"
names(resumen_estadistico)[6] <-"habita_prom"
resumen_estadistico$precio_prom <- round(resumen_estadistico$precio_prom) #redondear cifras
resumen_estadistico$area_prom <- round(resumen_estadistico$area_prom)
resumen_estadistico$banos_prom <- round(resumen_estadistico$banos_prom)
resumen_estadistico$habita_prom <- round(resumen_estadistico$habita_prom)
# Visualización
# Ej. un gráfico de barras para comparar la cantidad de viviendas por tipo
ggplot(resumen_estadistico, aes(x = tipo, y = cantidad)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(x = "Tipo de Vivienda", y = "Cantidad", title = "Cantidad de Viviendas por Tipo")## tipo cantidad precio_prom area_prom banos_prom habita_prom
## 1 apartamento 5106 368 113 3 3
## 2 casa 3221 540 273 4 5
# Gráfico de cajas para las medidas de dispersión
ggplot(resumen_estadistico, aes(x = factor(tipo), y = precio_prom)) +
geom_boxplot(fill = "skyblue") +
labs(x = "Tipo de Vivienda", y = "Precio Promedio", title = "Dispersión de Precios por Tipo de Vivienda") ggplot(resumen_estadistico, aes(x = factor(tipo), y = area_prom)) +
geom_boxplot(fill = "skyblue") +
labs(x = "Tipo de Vivienda", y = "Área Promedio", title = "Dispersión de Áreas por Tipo de Vivienda") ggplot(resumen_estadistico, aes(x = factor(tipo), y = banos_prom)) +
geom_boxplot(fill = "skyblue") +
labs(x = "Tipo de Vivienda", y = "Baños Promedio", title = "Dispersión de Baños por Tipo de Vivienda") ggplot(resumen_estadistico, aes(x = factor(tipo), y = habita_prom)) +
geom_boxplot(fill = "skyblue") +
labs(x = "Tipo de Vivienda", y = "Habitaciones Promedio", title = "Dispersión de Habitaciones por Tipo de Vivienda") # Medidas de dispersión para variables numéricas
summary(resumen_estadistico[c("precio_prom", "area_prom", "banos_prom", "habita_prom")])## precio_prom area_prom banos_prom habita_prom
## Min. :368 Min. :113 Min. :3.00 Min. :3.0
## 1st Qu.:411 1st Qu.:153 1st Qu.:3.25 1st Qu.:3.5
## Median :454 Median :193 Median :3.50 Median :4.0
## Mean :454 Mean :193 Mean :3.50 Mean :4.0
## 3rd Qu.:497 3rd Qu.:233 3rd Qu.:3.75 3rd Qu.:4.5
## Max. :540 Max. :273 Max. :4.00 Max. :5.0
Analisis Tipo de Vivienda x Zona
* En cuanto a cantidad, hay 5,106 apartamentos registrados y 3,221 casas.
* Los apartamentos representan el 61% del total de propiedades y las casas el 39%.
* El precio promedio de los apartamentos es $368 y el de las casas es mayor, con $540.
* Las casas tienen un área promedio de 273 m^2^, más del doble del área de los apartamentos que es 113 m^2^.
* Las casas tienen en promedio 4 baños, mientras que los apartamentos tienen 3.
* De manera similar, las casas tiene 5 habitaciones en promedio, frente a 3 de los apartamentos.
Las casas son menos numerosas que los apartamentos, pero tienen precios, áreas, número de baños y habitaciones mayores.
# Parte 4: informe estadistico: Caracteristicas mas relevantes
# oferta de vivienda------------------------------------------------------
# Crear una matriz de correlación
correlation_matrix <- cor(vivienda_faltantes_xlsx[, c("preciom", "areaconst", "banios", "habitac")])
# Visualizar la matriz de correlación
heatmap(correlation_matrix,
col = colorRampPalette(c("blue", "white", "red"))(100), # Esquema de colores
symm = TRUE, # Mostrar simetría
margins = c(8, 8), # Espacio para nombres de fila y columna
main = "Matriz de Correlación") # Título del gráfico## preciom areaconst banios habitac
## preciom 1.0000000 0.6872452 0.6691775 0.2633645
## areaconst 0.6872452 1.0000000 0.6486675 0.5166996
## banios 0.6691775 0.6486675 1.0000000 0.5896911
## habitac 0.2633645 0.5166996 0.5896911 1.0000000
Análisis de la Matriz de Correlación
* Existe una correlación positiva considerable entre el precio y el área de la propiedad (r = 0.687). Esto indica que a mayor área, mayor es el precio.
* El precio también tiene una correlación positiva media con el número de baños (r = 0.669). Las propiedades con más baños tienden a tener precios más altos.
* El área está positivamente correlacionada con el número de baños (r = 0.649) y de habitaciones (r = 0.517). Las propiedades más grandes suelen tener más baños y habitaciones.
* Hay una correlación positiva media entre el número de baños y de habitaciones (r = 0.590). Las propiedades con más baños tienden a tener también más habitaciones.
* La correlación más débil se da entre el precio y las habitaciones (r = 0.263). No parece haber una relación fuerte entre estas variables.
* En general, se observan correlaciones positivas esperables entre las características de las propiedades.
* El análisis de correlación sugiere que el área y los baños son los factores más relacionados con el precio.
Análisis de regresión para modelar el precio de viviendas
# análisis de regresión para modelar el precio de viviendas
plot(vivienda_faltantes_xlsx$areaconst,
vivienda_faltantes_xlsx$preciom,
xlab="Area de construcción",
ylab="Precio",
main="Relación Precio vs Area") modelo_completo <- lm(preciom ~ areaconst + banios + habitac, data = vivienda_faltantes_xlsx) # Modelo usando todas las variables
modelo_reducido <- lm(preciom ~ areaconst + banios, data = vivienda_faltantes_xlsx) # Modelo usando solo area y baños
summary(modelo_completo) # Ver resumen del modelo completo##
## Call:
## lm(formula = preciom ~ areaconst + banios + habitac, data = vivienda_faltantes_xlsx)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2111.92 -100.04 -21.29 58.76 1373.04
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 105.43622 6.41265 16.44 <2e-16 ***
## areaconst 1.16906 0.02104 55.57 <2e-16 ***
## banios 119.78398 2.23188 53.67 <2e-16 ***
## habitac -68.93682 1.94217 -35.49 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 203.8 on 8323 degrees of freedom
## Multiple R-squared: 0.6165, Adjusted R-squared: 0.6164
## F-statistic: 4460 on 3 and 8323 DF, p-value: < 2.2e-16
##
## Call:
## lm(formula = preciom ~ areaconst + banios, data = vivienda_faltantes_xlsx)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1748.81 -98.74 -25.91 63.02 1315.33
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -18.26643 5.77567 -3.163 0.00157 **
## areaconst 1.00605 0.02203 45.674 < 2e-16 ***
## banios 88.83972 2.20446 40.300 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 218.7 on 8324 degrees of freedom
## Multiple R-squared: 0.5585, Adjusted R-squared: 0.5583
## F-statistic: 5264 on 2 and 8324 DF, p-value: < 2.2e-16
precios_predichos <- predict(modelo_reducido, vivienda_faltantes_xlsx) # Predicciones con el modelo reducido
errores <- vivienda_faltantes_xlsx$preciom - precios_predichos # Evaluar errores de predicción
rmse <- sqrt(mean(errores^2))
residuos <- residuals(modelo_reducido)
plot(residuos, main="Residuos del modelo")Se ajustaron dos modelos:
Un modelo completo con las 3 variables explicativas: areaconst (area de construcción), banios (baños) y habitac (habitaciones).
Un modelo reducido con solo 2 variables: areaconst (area de construcción) y banios (baños).
Luego se hicieron predicciones con el modelo reducido y se calculó el error cuadrático medio (RMSE) entre los valores predichos y los reales, obteniendo un RMSE de 218.6258.
Este es un análisis de regresión múltiple para predecir el precio de viviendas en base a sus características, probando un modelo completo y uno reducido. El modelo reducido con área y baños obtuvo un error RMSE de 218 al predecir los precios. Esto da una idea de la precisión del modelo para estimar los valores reales. El análisis permite entender la relación entre las variables y predecir precios para nuevas viviendas en base a sus atributos.
Entonces:
El modelo reducido que se ajustó predice el precio de la vivienda en base al área de construcción y el número de baños.
Para una nueva vivienda con cierta área (areaconst) y número de baños (banios), se podría predecir su precio de la siguiente manera:
preciom_predicho = -18.26643 + 1.00605 * areaconst + 88.83972 * baniosPor ejemplo, para una vivienda con 120 m2 de área y 2 baños, el precio sugerido es:
areaconst = 120 banios = 2
preciom_predicho = -18.26643 + 1.00605 * 120 + 88.83972 * 2 = 191.52
El precio sugerido para una vivienda de 120 m2 y 2 baños sería $191.52 según este modelo de regresión.
De esta forma se pueden hacer predicciones para nuevas viviendas con distintas características en base al modelo ajustado. Hay que tener en cuenta que el modelo tiene un error RMSE de $218, por lo que las predicciones son aproximaciones con ese nivel de precision.
Existe una gran variabilidad en los precios de las viviendas entre las diferentes zonas de Cali, siendo la Zona Sur la de precios promedio más altos y la Zona Centro la más económica. Esto probablemente refleja diferencias socioeconómicas entre zonas.
La mayoría de las propiedades ofertadas son apartamentos (61%), mientras que las casas representan el 39%. Sin embargo, las casas tienen precios, áreas, número de baños y habitaciones considerablemente mayores que los apartamentos.
Las variables que tienen mayor correlación con el precio de las viviendas son el área de construcción y el número de baños. El área de la propiedad es el factor más fuertemente relacionado con el precio.
El modelo de regresión ajustado permite predecir de manera aproximada el precio de una vivienda en base a su área de construcción y número de baños. Este modelo tiene un error RMSE de $218, por lo que las predicciones son estimaciones dentro de ese nivel de precisión.
La información analizada permite a la agencia B&C orientar su negocio al segmento de apartamentos, enfocándose en zonas de precios medios. Asimismo, el conocimiento de las variables relevantes para el precio contribuye a establecer estrategias de compra, venta y tasación de inmuebles.
En general, el estudio provee a B&C información valiosa sobre las tendencias y relaciones en el mercado inmobiliario de Cali, que puede aplicar para tomar decisiones informadas en su modelo de negocio y servicio al cliente.
Elaboró…… Ing. Ricardo Buitrago Umaña