require(datarium)
## Loading required package: datarium
require(ggplot2)
## Loading required package: ggplot2
library(readxl)
require(dplyr)
## Loading required package: dplyr
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
datos_vivienda <- read_excel("C:/Users/jhon_/Downloads/datos_vivienda.xlsx")
attach(datos_vivienda)
Actividad - Regresión Lineal Simple Metodos y Simulación Estadística
hist(Area_construida)
hist(precio_millon)
summary(datos_vivienda)
## Area_construida 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
Para estos datos se observa que la mayor cantidad de viviendas cuentan con un area entre los 80 y 100 metros cuadrados ya que en el histograma planteado es donde mas concentracion de datos se observa, para el valor se observa mayor variabilidad.
ggplot(datos_vivienda,aes(x=Area_construida,y=precio_millon))+geom_point()+theme_bw()
cor(Area_construida,precio_millon)
## [1] 0.9190295
Se evidencia una relacion lineal fuertemente positiva r= 0.9190295, con esto se infiere que el area construida es directamente proporcional al precio del inmueble
lm(precio_millon~Area_construida,data=datos_vivienda)
##
## Call:
## lm(formula = precio_millon ~ Area_construida, data = datos_vivienda)
##
## Coefficients:
## (Intercept) Area_construida
## 86.234 2.124
precio_millon=86.234+(2.124 *Area_construida)
Con esta regresion podemos comprender que por cada metro cuadrado adicional obtendremos un incremento de 2,124 millones
model=lm(precio_millon~Area_construida)
summary(model)
## Warning in summary.lm(model): essentially perfect fit: summary may be unreliable
##
## Call:
## lm(formula = precio_millon ~ Area_construida)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.527e-13 -6.390e-15 1.819e-14 3.154e-14 4.652e-14
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.623e+01 5.259e-14 1.640e+15 <2e-16 ***
## Area_construida 2.124e+00 4.351e-16 4.882e+15 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.732e-14 on 24 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 2.383e+31 on 1 and 24 DF, p-value: < 2.2e-16
model=lm(precio_millon~Area_construida)
par(mfrow=c(2,2))
plot(model)
summary(model)
## Warning in summary.lm(model): essentially perfect fit: summary may be unreliable
##
## Call:
## lm(formula = precio_millon ~ Area_construida)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.527e-13 -6.390e-15 1.819e-14 3.154e-14 4.652e-14
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.623e+01 5.259e-14 1.640e+15 <2e-16 ***
## Area_construida 2.124e+00 4.351e-16 4.882e+15 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.732e-14 on 24 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 2.383e+31 on 1 and 24 DF, p-value: < 2.2e-16
confint(model,"Area_construida",level = 0.95)
## Warning in summary.lm(object, ...): essentially perfect fit: summary may be
## unreliable
## 2.5 % 97.5 %
## Area_construida 2.124 2.124
Con un nivel de confianza de 95%, los valores de B1 se encuentran entre 1,74 y 2,5
lm(log(precio_millon)~log(Area_construida))
##
## Call:
## lm(formula = log(precio_millon) ~ log(Area_construida))
##
## Coefficients:
## (Intercept) log(Area_construida)
## 2.2669 0.7464
model2=lm(log(precio_millon)~log(Area_construida))
summary(model2)
##
## Call:
## lm(formula = log(precio_millon) ~ log(Area_construida))
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.008000 -0.006133 0.002384 0.003066 0.012835
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.266891 0.019199 118.1 <2e-16 ***
## log(Area_construida) 0.746389 0.004069 183.4 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.005819 on 24 degrees of freedom
## Multiple R-squared: 0.9993, Adjusted R-squared: 0.9993
## F-statistic: 3.365e+04 on 1 and 24 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(model2)
Con este ajuste al modelo se logro pasar de un R^2 con valor de 84.46% a
uno de 87.67%, con este concluimos que efectivamente existe un leve
ajuste en comparacion al modelo inicial
predict(model,newdata =list(Area_construida=110))
## 1
## 319.874
Para este escenario en un predio de 110 metros cuadrados se espera que el precio sea de 319,8706 millones, basado en esta estimacion la oferta de 200 millones seria una muy buena oportunidad de negocio
par(mfrow=c(2,2))
plot(model)
En grafico “Normal Q-Q” los datos no tienen consistencia ya que se evidencian datos por fuera de la recta
datoshiperb=mutate(datos_vivienda,Areahiperb=1/Area_construida)
model3=lm(datoshiperb$precio_millon ~ datoshiperb$Areahiperb)
par(mfrow=c(2,2))
plot(model2)
par(mfrow=c(2,2))
plot(model3)
Se realizo una transformacion adicional de tipo hiperbolica, en la cual se videncia una mejor tendencia de los datos en cuando a su “QQ Normal” con respecto al modelo 2 de tipo logaritmico, de igual forma los errores en el modelo hiperbolico se encuentran dentro de los rangos y conservan mayor linealidad.