#Cargar datos y librerias
library(readxl)
datos <- read_excel("C:/Users/PACHO/Downloads/datos_vivienda-3.xlsx")
require(CGPfunctions)
require(ggplot2)
require(plotly)
require(ggpubr)
#Resumen de los datos
attach(datos)
summary(datos)
## Area_contruida precio_millon
## Min. : 80.0 Min. :240.0
## 1st Qu.: 86.0 1st Qu.:251.2
## Median : 97.0 Median :305.0
## Mean :115.7 Mean :332.1
## 3rd Qu.:130.0 3rd Qu.:395.0
## Max. :195.0 Max. :480.0
##Indicadores clave para el precio de la vivienda
promedio_precio = mean(datos$precio_millon)
mediana_precio = median(datos$precio_millon)
desviacion_precio = sd(datos$precio_millon)
minimo_precio = min(datos$precio_millon)
maximo_precio = max(datos$precio_millon)
data.frame(promedio_precio,mediana_precio,desviacion_precio,minimo_precio,maximo_precio)
## promedio_precio mediana_precio desviacion_precio minimo_precio maximo_precio
## 1 332.0769 305 82.14423 240 480
tendencia=ggplot(data = datos,aes(y=Area_contruida,x=precio_millon)) + geom_point() + geom_smooth()
plot(tendencia)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
hist(precio_millon,col="blue")
hist(Area_contruida,col="grey")
Análisis
*De acuerdo con la variable de precio de la vivienda, se observa que el valor de las viviendas oscila entre 240 y 480 millones, con un valor promedio de la vivienda de 332 millones.
*Para la variable de Área Construida, los rangos oscilan entre 80 y 195 metros cuadrados, con un promedio de área de 115.7 metros cuadrados.
plot(Area_contruida,precio_millon,pch=16)
cor(Area_contruida, precio_millon )
## [1] 0.9190295
El coeficiente de correlaciób obtenido de 0.92 indica que entre las variables Area_construida y precio_millon existe una relación positiva fuerte, que se puede explicar que a mayor cantidad de área construida mayor será el precio de la vivienda.
mod= lm(precio_millon~Area_contruida)
summary(mod)
##
## Call:
## lm(formula = precio_millon ~ Area_contruida)
##
## 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 ***
## Area_contruida 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
Del anterior análisis de se obtiene los siguientes valores:
B0=86.234 B1= 2.124
Conociendo el valor de estas variables se puede afirmar que cuando la vivienda no tiene área construida su valor es de 86 millones, y por cada aumento de 1 unidad en el área el precio aumentara en 2 millones.
confint(mod, "Area_contruida", level = 0.95)
## 2.5 % 97.5 %
## Area_contruida 1.74017 2.507771
El valor para R2 es 0.8446, como se observa en el punto 3, indicando que el modelo puede explicar el 84.4 % de los casos de variacion de precio.
predict(mod,list(Area_contruida=110),interval = "confidence",level = 0.95)
## fit lwr upr
## 1 319.8706 306.3133 333.4279
De acuerdo con el modelo de regresión, para una vivienda de 110 metros cuadrados el precio estimado seria de 320 millones, lo cual se puede considerar una buena oferta con base en el criterio del precio.
par(mfrow=c(2,2))
plot(mod)
transformacion=lm(precio_millon~log(Area_contruida))
summary(transformacion)
##
## Call:
## lm(formula = precio_millon ~ log(Area_contruida))
##
## Residuals:
## Min 1Q Median 3Q Max
## -45.837 -20.153 -1.878 20.145 55.145
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -948.53 89.09 -10.65 1.42e-10 ***
## log(Area_contruida) 271.88 18.88 14.40 2.63e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 27 on 24 degrees of freedom
## Multiple R-squared: 0.8963, Adjusted R-squared: 0.8919
## F-statistic: 207.4 on 1 and 24 DF, p-value: 2.63e-13
par(mfrow=c(2,2))
plot(transformacion)
Mediante una transformación logaritmica para mejorar el ajuste , se observa que los resultados del ajuste R2 mejora un 5% aproximadamente, al pasar a un R2 de 0.8963.
Se observa un mejor ajuste utilizando el modelo logaritmico ya que aumento el R2 de 0.84446 a 0.8963