INFORME ACTIVIDAD BASE DE DATOS VIVIENDA

library(readxl)
Datos_vivienda <- read_excel("E:/Users/Diana Torres/Downloads/Datos vivienda.xlsx")
Datos_vivienda
## # A tibble: 26 x 12
##    Zona   piso Estrato precio_millon Area_contruida parqueaderos Banos
##    <chr> <dbl>   <dbl>         <dbl>          <dbl>        <dbl> <dbl>
##  1 Zona~     3       5           250             86            1     2
##  2 Zona~     3       5           385            118            2     3
##  3 Zona~     2       5           395            130            1     3
##  4 Zona~     4       6           419            181            2     3
##  5 Zona~     4       5           240             86            1     2
##  6 Zona~     3       5           320             98            2     2
##  7 Zona~     4       5           480            170            2     4
##  8 Zona~     4       5           268             96            1     3
##  9 Zona~     4       5           240             85            1     3
## 10 Zona~     4       5           450            170            2     4
## # ... with 16 more rows, and 5 more variables: Habitaciones <dbl>, Tipo <chr>,
## #   Barrio <chr>, cordenada_longitud <dbl>, Cordenada_latitud <dbl>

1. Análisis exploratorio de datos para las variables

precio, área, piso y parqueaderos

precio=Datos_vivienda$precio_millon
precio
##  [1] 250 385 395 419 240 320 480 268 240 450 240 385 290 240 272 250 250 395 385
## [20] 255 430 260 385 290 450 410
mean(precio)
## [1] 332.0769
median(precio)
## [1] 305
sd(precio)
## [1] 82.14423
summary(precio)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   240.0   251.2   305.0   332.1   395.0   480.0
hist(x=Datos_vivienda$precio_millon, main= "Precio por millon", xlab="Precio",ylab="Frecuencia",
     col="#992C2C")

boxplot(x=Datos_vivienda$precio_millon,col="#992C2C")

area=Datos_vivienda$Area_contruida
area
##  [1]  86.00 118.00 130.00 181.00  86.00  98.00 170.00  96.00  85.00 170.00
## [11]  87.00 118.42  86.00  85.00  96.00  86.00  86.00 130.00 134.00  80.00
## [21] 130.00  87.00 130.00  89.00 195.00 170.00
mean(area)
## [1] 115.7469
median(area)
## [1] 97
sd(area)
## [1] 35.54332
summary(area)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    80.0    86.0    97.0   115.7   130.0   195.0
hist(x=Datos_vivienda$Area_contruida, main= "Area construida", xlab="Area",ylab="Frecuencia",
     col="#1A4C8C")

boxplot(x=Datos_vivienda$Area_contruida,col="#1A4C8C")

piso=Datos_vivienda$piso
piso
##  [1] 3 3 2 4 4 3 4 4 4 4 4 3 2 4 4 4 3 3 4 2 2 3 3 3 4 4
mean(piso)
## [1] 3.346154
median(piso)
## [1] 3.5
sd(piso)
## [1] 0.7452413
summary(piso)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.000   3.000   3.500   3.346   4.000   4.000
hist(x=Datos_vivienda$piso, main= "Piso", xlab="Piso",ylab="Frecuencia",
     col="#F08A16")

boxplot(x=Datos_vivienda$piso,col="#F08A16")

parqueadero=Datos_vivienda$parqueaderos
parqueadero
##  [1] 1 2 1 2 1 2 2 1 1 2 1 2 2 1 1 1 1 2 2 1 2 1 2 1 1 2
mean(parqueadero)
## [1] 1.461538
median(parqueadero)
## [1] 1
sd(parqueadero)
## [1] 0.5083911
summary(parqueadero)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.000   1.000   1.000   1.462   2.000   2.000
hist(x=Datos_vivienda$parqueaderos, main= "Parqueaderos", xlab="Parqueaderos",ylab="Frecuencia",
     col="#38732E")

boxplot(x=Datos_vivienda$parqueaderos,col="#38732E")

Como se puede observar y de acuerdo a la informacion suministrada, los precios de los apartamentos oscilan entre 240 a 480 millones. En promedio un apartamento en el Barrio Multicentro esta costando alrededor de 332 millones con una desviacion de 82 millones la cual es bastante alta, de los 26 apartamentos se puede observar que un apartamento tiene un valor que esta entre 300 a 350 millones y otro entre 450 a 500 millone, por lo tanto de acuerdo a los resultados se tiene una mediana de 305 millones.

De los 26 apartamentos objeto de estudio, encontramos que 14 de ellos tienen un area entre 80 a 100 mts2 representando mas del 50%, pero el promedio de area en estos apartamentos es de 115mts.

En cuanto al piso, tenemos apartamentos que van del piso 2 al piso 4, del 100% de los aptos, el 50% se encuentran ubicados en un piso 4, 9 de ellos en un piso 3 y 4 apartamentos en un piso 2.

Con respecto a los parqueaderos, se puede observar que los apartamentos tienen entre 1 y 2 parqueaderos, de los 26 apartamentos se observa que 12 de ellos cuentan con 2 parqueaderos, y 14 de ellos cuentan tan solo con 1 parqueadero.

2. MODELO DE REGRESION LINEAL

MODELO SIMPLE

y=Datos_vivienda$precio_millon
x=Datos_vivienda$Area_contruida
plot(x, y, main = "Modelo simple", pch=20,
     bg = "red",   # Color de fondo
     col = "#1A4C8C", # Color del borde
     cex = 2,      # Tamaño del símbolo
     lwd = 2)      # Ancho del borde

cor(x,y)
## [1] 0.9190295

Se observa en la figura que existe una relación lineal positiva entre el precio y el area, adicionalmente esta relación es fuerte por que el coeficiente de correlación de pearson es de 0.91, indicando que el area construida tiene relacion directa con el precio, siendo asi que a mayor area construida mayor sera el precio del apartamento. Debido a que existe correlación podemos generar un modelo de regresión lineal simple entre estas dos variables:

mod_simple=lm(y~x)
mod_simple
## 
## Call:
## lm(formula = y ~ x)
## 
## Coefficients:
## (Intercept)            x  
##      86.234        2.124
summary(mod_simple)
## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -51.673 -25.612  -6.085  24.875  67.650 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   86.234     22.479   3.836 0.000796 ***
## x              2.124      0.186  11.422 3.45e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 33.05 on 24 degrees of freedom
## Multiple R-squared:  0.8446, Adjusted R-squared:  0.8381 
## F-statistic: 130.5 on 1 and 24 DF,  p-value: 3.45e-11

El modelo quedaria de la forma y=86.234 + 2.124(x)

B1=2.124 el coeficiente es significativo en el modelo (***) y al ser positivo indica que por cada aumento en un metro cuadrado de área se espera que el precio aumente en un 2.124 unidades de millón

MAE1=mean(abs(mod_simple$residuals))
MAE1
## [1] 27.84414
y_mod=predict(mod_simple)
y_mod_min=y_mod-MAE1
y_mod_max=y_mod+MAE1

Se puede observar en este modelo que el indicador R2 nos da un porcentaje de 83% considerando el modelo como fuerte teniendo en cuenta que se aproxima al 100% de la probabilidad que el modelo sea el ideal. El modelo presenta un margen de error medio absoluto de 27 millones.

MODELO DE REGRESION LINEAL MULTIPLE

MODELO MULTIPLE 1

y=Datos_vivienda$precio_millon
x=Datos_vivienda$Area_contruida
x1=Datos_vivienda$piso
x2=Datos_vivienda$parqueaderos

mod_multiple1= lm(y~x+x1+x2)
mod_multiple1
## 
## Call:
## lm(formula = y ~ x + x1 + x2)
## 
## Coefficients:
## (Intercept)            x           x1           x2  
##     125.964        1.955      -22.350       37.370
summary(mod_multiple1)
## 
## Call:
## lm(formula = y ~ x + x1 + x2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -46.154  -6.085  -0.106  11.395  36.351 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 125.9639    23.5349   5.352 2.26e-05 ***
## x             1.9550     0.1496  13.065 7.64e-12 ***
## x1          -22.3504     6.0259  -3.709  0.00122 ** 
## x2           37.3705    10.1728   3.674  0.00133 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 20.48 on 22 degrees of freedom
## Multiple R-squared:  0.9453, Adjusted R-squared:  0.9378 
## F-statistic: 126.7 on 3 and 22 DF,  p-value: 4.942e-14
plot(Datos_vivienda[,c(2,4,5,6)],main = "Modelo multiple 1", pch=20,
     bg = "red",   # Color de fondo
     col = "#992C2C", # Color del borde
     cex = 2,      # Tamaño del símbolo
     lwd = 2)

cor(Datos_vivienda[,c(2,4,5,6)])
##                        piso precio_millon Area_contruida parqueaderos
## piso            1.000000000  -0.009600106      0.2616663   -0.1218184
## precio_millon  -0.009600106   1.000000000      0.9190295    0.7174827
## Area_contruida  0.261666258   0.919029471      1.0000000    0.5455632
## parqueaderos   -0.121818434   0.717482653      0.5455632    1.0000000
MAE=mean(abs(mod_multiple1$residuals))
MAE
## [1] 14.51066
y_mod=predict(mod_multiple1)
y_mod_min=y_mod-MAE
y_mod_max=y_mod+MAE

Buscando mejorar el R2 del modelo se incluyeron la variables número de pisos y parqueaderos obteniendo el siguiente modelo multiple 1 :

y=125.9639+1.9550(X)-22.3504(X1)+37.3705(X2)

Los coeficientes B1,B2 y B3 son significativos en el modelo (**), el coeficiente B1=1.955 indica al ser positivo indica que por cada aumento en una unidad de área se espera que el precio aumente en 1.955 unidades de millón sin tener en cuenta el efecto de las otras variables El coeficiente B2 que es igual a -22.3504 indica que en la medida que aumenta en una unidad el piso donde está ubicado el apartamento, el precio disminuye en 22.35 unidades de millón, teniendo las otras variables fijas. En cuanto al signo es lógico, si se piensa que los apartamentos de los primeros pisos son más caros que los de los pisos más altos El coeficiente B3=37.37 indica que al aumentar en una unidad el número de parqueaderos de una vivienda se espera que precio también aumente en 37.37 unidades de millón, en cuanto al signo positivo es lógico por que a mayor número de parqueaderos aumenta el precio del inmueble

Al comprar este modelo multiple con el simple, se mejoró el R2 subiendo de 0.83 en el simple cuando solo se trabajo la estimación del precio con el área a un R2 de 0.93 cuando se le incluyó las variables piso y número de parqueaderos.

Por otro lado el MAE tiene un resultado de 14 millones.

4. PREDICCION DE PRECIO

4.1 PREDICCION CON MODELO SIMPLE

y_mod=predict(mod_simple,list(x=150,x1=3,x2=2))
summary(y_mod)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   404.8   404.8   404.8   404.8   404.8   404.8
MAE1
## [1] 27.84414
y_mod_min=y_mod-MAE1
y_mod_max=y_mod+MAE1
y_mod_min
##        1 
## 376.9853
y_mod_max
##        1 
## 432.6736

4.2 PREDICCION CON MODELO MULTIPLE 1

y_mod2=predict(mod_multiple1,list(x=150,x1=3,x2=2))
summary(y_mod2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   426.9   426.9   426.9   426.9   426.9   426.9
MAE
## [1] 14.51066
y_mod2_min=y_mod-MAE1
y_mod2_max=y_mod+MAE1
y_mod2_min
##        1 
## 376.9853
y_mod2_max
##        1 
## 432.6736

CONCLUSION CON MODELO MULTIPLE

Al predecir el precio de un apartamento con área de 150, 3 pisos y 2 parqueaderos el precio estimado estaría por encima de los 400 millones; por lo tanto si me ofrecen un apartamento en $300 millones lo compraría porque el precio estaría muy por debajo del precio estimado