La empresa **B&C** (Bines y Casas) es una agencia de bienes raíces que opera en la ciudad de Cali, Colombia. La empresa fue fundada por Sandra Milena hace 10 años y actualmente cuenta con ocho agentes de bienes raíces.
El mercado de bienes raíces en Cali ha crecido significativamente en los últimos años, impulsado por el crecimiento de la población, la inversión extranjera directa y el desarrollo de nuevos proyectos inmobiliarios. En 2022, las ventas del sector en Cali llegaron a \$6700 millones y en 2023 a \$6100 mil millones. Se espera que este sector continue creciendo durante los próximos años, permitiendo un desarrollo dinámico en la economía regional.
La empresa **B&C** ha recogido información sobre viviendas que incluye información sobre el precio, la ubicación, las características y la venta de viviendas en Cali. Esta base de datos puede ser utilizada para realizar un informe estadístico que sería de gran interés para la empresa.
Realizar un análisis descriptivo de los datos para la empresa B&C con el fin de identificar las tendencias y patrones en los datos y poder tomar decisiones sobre su negocio.
Resumen de la base de datos
borrar <- c("longitud","latitud")
vivienda_faltantes2 <- vivienda_faltantes[ , !(names(vivienda_faltantes) %in% borrar)]
names (vivienda_faltantes2) = c("ID","ZONA", "PISO", "ESTR", "PREC", "AREA", "PARQ", "WC","HABI","TIPO","BARRI")
head(vivienda_faltantes2, n=10)
## # A tibble: 10 × 11
## ID ZONA PISO ESTR PREC AREA PARQ WC HABI TIPO BARRI
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
## 1 8312 Zona Oeste 4 6 1300 318 2 4 2 Apartamento arbol…
## 2 8311 Zona Oeste 1 6 480 300 1 4 4 Casa norma…
## 3 8307 Zona Oeste NA 5 1200 800 4 7 5 Casa miraf…
## 4 8296 Zona Sur 2 3 220 150 1 2 4 Casa el gu…
## 5 8297 Zona Oeste NA 5 330 112 2 4 3 Casa bella…
## 6 8298 Zona Sur NA 5 1350 390 8 10 10 Casa bella…
## 7 8299 Zona Sur 2 6 305 125 2 3 3 Apartamento bella…
## 8 8300 Zona Oeste NA 5 480 280 4 4 4 Apartamento bella…
## 9 8286 Zona Sur NA 5 275 74 1 2 3 Apartamento valle…
## 10 8287 Zona Sur 2 5 285 120 2 4 3 Apartamento bella…
summary(vivienda_faltantes2)
## ID ZONA PISO ESTR
## Min. : 1 Length:8330 Min. : 1.000 Min. :3.000
## 1st Qu.:2082 Class :character 1st Qu.: 2.000 1st Qu.:4.000
## Median :4164 Mode :character Median : 3.000 Median :5.000
## Mean :4164 Mean : 3.772 Mean :4.634
## 3rd Qu.:6246 3rd Qu.: 5.000 3rd Qu.:5.000
## Max. :8319 Max. :12.000 Max. :6.000
## NA's :3 NA's :2641 NA's :3
## PREC AREA PARQ WC
## Min. : 58.0 Min. : 30 Min. : 1.000 Min. : 0.000
## 1st Qu.: 220.0 1st Qu.: 80 1st Qu.: 1.000 1st Qu.: 2.000
## Median : 330.0 Median : 123 Median : 2.000 Median : 3.000
## Mean : 434.2 Mean : 175 Mean : 1.836 Mean : 3.112
## 3rd Qu.: 540.0 3rd Qu.: 229 3rd Qu.: 2.000 3rd Qu.: 4.000
## Max. :1999.0 Max. :1745 Max. :10.000 Max. :10.000
## NA's :2 NA's :3 NA's :1606 NA's :3
## HABI TIPO BARRI
## Min. : 0.000 Length:8330 Length:8330
## 1st Qu.: 3.000 Class :character Class :character
## Median : 3.000 Mode :character Mode :character
## Mean : 3.605
## 3rd Qu.: 4.000
## Max. :10.000
## NA's :3
Del resumen de la tabla se puede concluir que:
Los valores extremos de las variables que corresponden al número de pisos, precio, número de habitaciones y número de baños de la vivienda están muy distantes, esto indica que la distribución es asimétrica positiva dado que media es mayor que la mediana.
La variable número de parqueaderos tiene una distribución asimétrica negativa dado que media es menor que la mediana
Informacion de numero de casas y de apartamentos: En total 8327 inmuebles de 8330.
vivienda_faltantes2$TIPO<-factor(x=vivienda_faltantes2$TIPO,levels = c("Apartamento","APARTAMENTO","apto","casa","Casa","CASA"),labels=c("Apartamento","Apartamento","Apartamento","Casa","Casa","Casa"))
table(vivienda_faltantes2$TIPO)
##
## Apartamento Casa
## 5106 3221
Resumen de datos faltantes
md.pattern(vivienda_faltantes2)
## PREC ID ZONA ESTR AREA WC HABI TIPO BARRI PARQ PISO
## 4812 1 1 1 1 1 1 1 1 1 1 1 0
## 1912 1 1 1 1 1 1 1 1 1 1 0 1
## 877 1 1 1 1 1 1 1 1 1 0 1 1
## 726 1 1 1 1 1 1 1 1 1 0 0 2
## 1 1 0 0 0 0 0 0 0 0 0 0 10
## 2 0 0 0 0 0 0 0 0 0 0 0 11
## 2 3 3 3 3 3 3 3 3 1606 2641 4273
El gráfico anterior muestra que 1912 registros no tienen el dato correspondiente al número de pisos de la vivienda (22.95%), 877 no tienen dato correspondiente al número de parqueaderos (10.53%), 726 no tienen ni número de pisos ni de numero de parqueaderos (8.71%), 1 registro solamente contiene información referente al precio de la vivienda (0.01%) y que hay 2 registros con ausencia total de información (0.024%). Por otra parte, hay un total de 4812 registros completos (57.75%)
colSums(is.na(vivienda_faltantes2))
## ID ZONA PISO ESTR PREC AREA PARQ WC HABI TIPO BARRI
## 3 3 2641 3 2 3 1606 3 3 3 3
#install.packages("naniar")
require(naniar)
## Loading required package: naniar
vis_miss(vivienda_faltantes2)
El número de valores ausentes por cada variable es;
Número de pisos: 2641 valores ausentes 32%
Número de parqueaderos: 1606 valores ausentes 19%
Zona, estrato, área, número de baños, número de habitaciones, tipo de vivienda y barrio tienen un total de 3 valores ausentes cada uno.
Precio: tiene 2 valores ausentes
Comportamiento de datos perdidos
missing_piso<-is.na(vivienda_faltantes2$PISO)
missing_parq<-is.na(vivienda_faltantes2$PARQ)
tapply(X=vivienda_faltantes2$PISO,INDEX=missing_parq,FUN=mean,na.rm=T)
## FALSE TRUE
## 3.886949 3.143672
En el resultado anterior hay una pequeña diferencia entre promedio del número de pisos con respecto a los inmuebles cuyo promedio de número de parqueaderos es faltante.
tapply(X=vivienda_faltantes2$PARQ,INDEX=missing_piso,FUN=mean,na.rm=T)
## FALSE TRUE
## 1.815669 1.887029
De la misma manera, la diferencia entre el promedio del número de parqueaderos para aquellos inmuebles que tienen faltante el número de pisos es levemente superior.
Pruebas de significancia estadística
Intervalo de confianza
El intervalo de confianza describe la variabilidad entre la medida obtenida en un estudio y la medida real de la población (el valor real).
Corresponde a un rango de valores, cuya distribución es normal y en el cual se encuentra, con alta probabilidad, el valor real de una determinada variable. Esta “alta probabilidad” se ha establecido por consenso en 95%. Así, un intervalo de confianza de 95% nos indica que dentro del rango dado se encuentra el valor real de un parámetro con 95% de certeza.
t.test(vivienda_faltantes2$PISO~missing_parq)
##
## Welch Two Sample t-test
##
## data: vivienda_faltantes2$PISO by missing_parq
## t = 9.004, df = 1412.5, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group FALSE and group TRUE is not equal to 0
## 95 percent confidence interval:
## 0.5813445 0.9052108
## sample estimates:
## mean in group FALSE mean in group TRUE
## 3.886949 3.143672
Según lo expresado anteriormente se puede afirmar que los resultados no fueron estadísticamente significativos.
t.test(vivienda_faltantes2$PARQ~missing_piso)
##
## Welch Two Sample t-test
##
## data: vivienda_faltantes2$PARQ by missing_piso
## t = -2.2717, df = 3286.9, p-value = 0.02317
## alternative hypothesis: true difference in means between group FALSE and group TRUE is not equal to 0
## 95 percent confidence interval:
## -0.132950632 -0.009769625
## sample estimates:
## mean in group FALSE mean in group TRUE
## 1.815669 1.887029
Los resultados no fueron estadísticamente significativos.
Imputacion de datos: Dado que no se observa una diferencia significativa se utilizará el promedio para reemplazar los datos perdidos.
columns <- c("PISO", "PARQ")
imputed_data <- mice(vivienda_faltantes2[,names(vivienda_faltantes2) %in% columns],m = 1,
maxit = 1, method = "mean",seed = 2018,print=F)
complete.data <- mice::complete(imputed_data)
xyplot(imputed_data,PARQ ~PISO)
#Construccion de una tabla que permita el análisis de la variable tipo de vivienda por numero de pisos
table(vivienda_faltantes2$TIPO, vivienda_faltantes2$PISO)
##
## 1 2 3 4 5 6 7 8 9 10 11 12
## Apartamento 431 512 573 545 564 243 203 211 146 128 84 83
## Casa 430 938 524 62 4 2 4 0 0 2 0 0
Para la variable correspondiente a número de pisos, la cual es la que contiene mas datos faltantes, se observa que está relacionada únicamente con los inmuebles que son de tipo casa.
##Construccion de una tabla que permita el análisis de la variable tipo de vivienda por numero de parqueaderos
table(vivienda_faltantes2$TIPO, vivienda_faltantes2$PARQ)
##
## 1 2 3 4 5 6 7 8 9 10
## Apartamento 2299 1586 253 90 4 2 1 0 0 2
## Casa 857 892 268 296 64 66 17 17 4 6
La segunda variable que mas ausencia de datos presenta es la que hace referencia al número de parqueaderos, de ésta variable se puede decir que está relacionada unicamente con los inmuebles de tipo apartamento.
boxplot(vivienda_faltantes2$PISO ~ vivienda_faltantes2$TIPO,horizontal = TRUE, main="Distribucion de inmuebles segun el numero de pisos", col="green", xlab="Numero de pisos", ylab = "Tipo de inmueble")
El diagrama de cajas indica un número mayor de casas las cuales estan compuestas entre 2 y 3 pisos. Para el caso de los apartamentos, aquellos que tienen entre 2 y 6 pisos son los estan en mayor numero.Distribucion sesgada a la derecha
boxplot(vivienda_faltantes2$PARQ ~ vivienda_faltantes2$TIPO,horizontal = TRUE, main="Distribucion de inmuebles segun el numero de parqueaderos", col="orange", xlab = "Numero de parqueaderos", ylab = "Tipo de inmueble")
El diagrama de cajas indica un número mayor de casas las cuales estan compuestas entre 0 y 3 parqueaderos. Para el caso de los apartamentos, aquellos que tienen entre 0 y 2 parqueaderos son los estan en mayor numero. Distribucion sesgada a la derecha
#CONCENTRACION DE INMUBLES POR ZONA
table_iz <- table(vivienda_faltantes2$TIPO, vivienda_faltantes2$ZONA)
table_iz
##
## Zona Centro Zona Norte Zona Oeste Zona Oriente Zona Sur
## Apartamento 24 1199 1035 62 2786
## Casa 100 723 169 289 1940
barplot(table_iz, main="Inmuebles por zona", xlab = "Zonas", ylab = "Catidad de inmuebles", col = c("royalblue","grey"))
legend(x = "topleft", legend = c("Apartamento", "Casa"), fill = c("royalblue", "grey"),
title = "Tipo de Inmueble")
Del gráfico anterior se puede establecer que la zona sur es aquella en donde hay una mayor concentración de inmuebles con 2786 apartamentos y 1940 casas, seguido de la zona norte en donde hay total de 1922 propiedades de las cuales 1199 son apartamentos y 723 casas. El tercer lugar lo ocupa la zona oeste con 1035 apartamentos y 169 casas.
Ahora bien, se observa que en las zonas mencionadas anteriormente predomina el número de apartamentos sobre el número de casas.
Caso contrario ocurre en las zonas centro y oriente, el número de casas es mayor. Es posible que haya una oportunidad de negocio enfocado al tipo de vivienda que son apartamentos.
table_ie <- table(vivienda_faltantes2$TIPO, vivienda_faltantes2$ESTR)
table_ie
##
## 3 4 5 6
## Apartamento 639 1404 1767 1296
## Casa 814 727 984 696
barplot(table_ie, main="Inmuebles por estrato", xlab = "Estrato", ylab = "Catidad de inmuebles", col = c("royalblue","grey"))
legend(x = "topleft", legend = c("Apartamento", "Casa"), fill = c("royalblue", "grey"),
title = "Tipo de Inmueble")
Con respecto a la variable estrato, inicialmente no hay información para estratos 1 y 2, puede ser un posible nicho de mercado. De nuevo la cantidad de apartamentos es mayor que la cantidad de casas.
Generación de rangos y tabla de frecuencias segmentada por la variable precio
orden_prec <- sort(vivienda_faltantes2$PREC)
nointervalos <- nclass.Sturges(orden_prec)
tabla.intervalos <- transform(table(cut(orden_prec, breaks = nointervalos)))
inmueble.precio=cut(vivienda_faltantes2$PREC, tabla.intervalos$Freq)
table_ip <- table(vivienda_faltantes2$TIPO, inmueble.precio, useNA ='always')
table_ip2 <- table(inmueble.precio, vivienda_faltantes2$TIPO, useNA ='always')
table_ip2
##
## inmueble.precio Apartamento Casa <NA>
## (16,33] 0 0 0
## (33,41] 0 0 0
## (41,72] 12 0 0
## (72,75] 11 0 0
## (75,105] 156 16 0
## (105,121] 204 18 0
## (121,174] 869 172 0
## (174,286] 1400 514 0
## (286,313] 331 143 0
## (313,654] 1500 1533 1
## (654,885] 278 368 0
## (885,1.65e+03] 318 403 0
## (1.65e+03,1.66e+03] 0 0 0
## (1.66e+03,2.24e+03] 27 54 0
## <NA> 0 0 2
barplot(table_ip, main = "Distribucion de inmuebles por rango de precios", col =c("red","grey"), xlab = "Rango de precios en millones", ylab = "Numero de Inmuebles")
legend(x = "topleft", legend = c("Apartamento", "Casa"), fill = c("red", "grey"),
title = "Tipo de Inmueble")
Los precios de los inmuebles con mayor número de concentración oscilan entre los 105 millones y los 885 millones.
Hay muy pocos inmuebles que superan los 900 millones de pesos.
Según el análisis de los datos, se podría decir que no se tuvo en cuenta los estratos 1 y 2. Hoy en día con los proyectos gubernamentales pertinentes a la vivienda de interés social, se hace importante empezar a conocer las características de este sector ya que puede llegar a ser un posible caso de negocio.
Hay zonas de la cuidad, como la zona centro y la zona oriente donde se puede incentivar la construcción de unidades residenciales compuestas por apartamentos, esto teniendo en cuenta que, en su mayoría, las zonas céntricas de las capitales colombianas tienden a proteger la arquitectura original de las viviendas, sin embargo, son zonas que hay que tener en cuenta
Resumen
Para la variable correspondiente a número de pisos, la cual es la que contiene más datos faltantes, se observa que está relacionada únicamente con los inmuebles que son de tipo casa.
La segunda variable que más ausencia de datos presenta es la que hace referencia al número de parqueaderos, de esta variable se puede decir que está relacionada únicamente con los inmuebles de tipo apartamento.
El número mayor de casas son las que están compuestas entre 2 y 3 pisos.
El número mayor de casas son las que están compuestas entre 0 y 3 parqueaderos.
El número mayor de apartamentos se encuentra entre aquellos que tienen entre 2 y 6 pisos.
El número mayor de apartamentos se encuentra entre aquellos que tienen entre 0 y 2 parqueaderos.
La zona sur es aquella en donde hay una mayor concentración de inmuebles con 2786 apartamentos y 1940 casas, seguido de la zona norte en donde hay total de 1922 propiedades de las cuales 1199 son apartamentos y 723 casas. El tercer lugar lo ocupa la zona oeste con 1035 apartamentos y 169 casas. Ahora bien, se observa que en las zonas mencionadas anteriormente predomina el número de apartamentos sobre el número de casas. Caso contrario ocurre en las zonas centro y oriente, el número de casas es mayor. Es posible que haya una oportunidad de negocio enfocado al tipo de vivienda que son apartamentos.
Con respecto a la variable estrato, inicialmente no hay información para estratos 1 y 2, puede ser un posible nicho de mercado. De nuevo la cantidad de apartamentos es mayor que la cantidad de casas.
Los precios de los inmuebles con mayor número de concentración oscilan entre los 105 millones y los 885 millones.
Hay muy pocos inmuebles que superan los 900 millones de pesos.
Actividad_U1_William_Contreras.Rmd