Actividad - Regresión Lineal Simple

Con base en los datos de ofertas de vivienda descargadas del portal Fincaraiz (datos_vivienda.xls - descarga) realizar los siguientes puntos:

  1. Realice un análisis exploratorio de las variables precio de vivienda (mil- lones de pesos COP) y area de la vivienda (metros cuadrados) - incluir graficos e indicadores apropiados interpretados.
require(CGPfunctions)
require(ggplot2)
require(plotly)
require(ggpubr)
library(readxl)
library(readxl)
datos <- read_excel("C:/Users/Wilfredo Gomez/Downloads/datos_vivienda-3.xlsx")
View(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
Desviacion_Area =sd(datos$Area_contruida)
Desviacion_Precio =sd(datos$precio_millon)
data.frame(Desviacion_Area,Desviacion_Precio)
##   Desviacion_Area Desviacion_Precio
## 1        35.54332          82.14423
attach(datos)
par(mfrow=c(1,2))
hist(Area_contruida)
line = mean(Area_contruida)
abline(v=line, col="red", lwd=3)
line2 = median(Area_contruida)
abline(v=line2, col="green", lwd=3)
hist(precio_millon)
line3 = mean(precio_millon)
abline(v=line3, col="red", lwd=3)
line4 = median(precio_millon)
abline(v=line4, col="green", lwd=3)

De la exploración de los datos se puede ver que en su mayoria las viviendas que se tienen en la base de datos son de áreas menores a los 100 metros cuadrado y mayoritariamente tienen valores pode debajo de los 350 millones El promedio el area construida de los inmuebles es de 115.7 metros cuadrados con un minimo de 80 y un máximo de 195 metros cuadrados. El promedio del precio es 332.1 millones, la mas economica es de 240 millones, la más costosa es de 480 millones la desviación estandar es relativamente alta, lo que muestra una dispersión en los datos y en los Histogramas se pueden ver que la media esta corrida a la izquierda por lo que el comportamiento de los mismos es asimetrico

  1. Realice un análisis exploratorio bivariado de datos enfocado en la relación entre la variable respuesta (y=precio) en función de la variable predictora (x=area) - incluir graficos e indicadores apropiados interpretados.
g1=ggplot(data = datos,aes(y=Area_contruida,x=precio_millon)) + geom_point() + geom_smooth()
plot(g1)

g2=ggplot(data = datos,aes(y=precio_millon, x=Area_contruida)) + geom_point() + theme_classic() +geom_smooth(method = "lm")
ggplotly(g2)
cov(Area_contruida, precio_millon )
## [1] 2683.271
cor(Area_contruida, precio_millon )
## [1] 0.9190295

La covarianza es positiva en 2683.2, Se puede decir que, a medida que aumenta el area construida de las viviendas, asi mismo aumenta su valor. EL coeficiente de correlación es de 0.919 muy alto, con lo cual podemos concluir que existe una relación directa y fuerte entre la variable y=precio_millon y la variable x=Area_contruida.

3.Estime el modelo de regresión lineal simple entre precio = f(area)+e. Interprete los coeficientes del modelo βo;β1 en caso de ser correcto.

MRL=lm(precio_millon~Area_contruida,data=datos)
summary(MRL)
## 
## Call:
## lm(formula = precio_millon ~ Area_contruida, data = datos)
## 
## 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

Se observa que los valores de B0 = 86.224 y B1 = 2.124 lo que corresponde que cuando la propiedad no tiene area construida, el valor es de 86 millones y que por cada metro cuadrado construido el valor de la propiedad aumenta 2 millones de pesos

  1. Construir un intervalo de confianza (95%) para el coeficiente β1, interpretar y concluir si el coeficiente es igual a cero o no. Compare este resultado con una prueba de hipotesis t.
confint(MRL, "Area_contruida", level = 0.95)
##                  2.5 %   97.5 %
## Area_contruida 1.74017 2.507771

De la anterior informacion se puede analizar que si se utiliza un intervalo de confianza del 95% para el coeficiente β1 (Area construida) este puede tomar un valor entre 1.7 y 2.5 millones por cada metro cuadrado de area construida en una vivienda.

La prueba de hipotesis t presenta un valor de 3.45e-11, lo que indica que esta variable de Area_Construida es significativa para el modelo, ya que su p-value es < a 0.05.

  1. Calcule e interprete el indicador de bondad y ajuste R2.
summary(MRL)
## 
## Call:
## lm(formula = precio_millon ~ Area_contruida, data = datos)
## 
## 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

Se observa que el ajuste del modelo es de R2=0.8446, es decir, que el modelo explica el 84% de la variabilidad del precio del inmueble.

  1. Cual seria el precio promedio estimado para un apartamento de 110 metros cuadrados? Considera entonces con este resultado que un apartemento en la misma zona con 110 metros cuadrados en un precio de 200 millones seria una buena oferta? Que consideraciones adicionales se deben tener?.
predict(MRL,list(Area_contruida=110),interval = "confidence")
##        fit      lwr      upr
## 1 319.8706 306.3133 333.4279

El precio promedio estimado para un apartamento de 110 metros cuadrados sería de 319.87 millones, con un posible precio tambien entre 306.31 millones y 333.42 millones. Si un apartamento ubicado en la misma zona de 110 metros cuadrados, lo ofrecen por un precio de 200 millones entonces se podría considerar como una buena oferta.

  1. Realice la validación de supuestos del modelo por medio de graficos apropiados, interpretarlos y sugerir posibles soluciones si se violan algunos de ellos.
par(mfrow=c(2,2))
plot(MRL)

Swn<-shapiro.test(residuals(MRL))
Swn
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(MRL)
## W = 0.95489, p-value = 0.3009

En la gráfica de los residuales es posible evidenciar que la media se cumple ya que es cero, sin embargo, la varianza no es constante ya que en la gráfica Residuals vs Fitted se evidencia una curva alrededor de cero. Asimismo, se evidencia que gráficamente no corresponde a una distribución de los residuales, a pesar de tener una prueba de Shapito-Wilk que demuestra que posiblemente haya normalidad.

  1. De ser necesario realice una transformación apropiada para mejorar el ajuste y supuestos del modelo.
MRLNew = lm(log(precio_millon)~log(Area_contruida))
summary(MRLNew)
## 
## Call:
## lm(formula = log(precio_millon) ~ log(Area_contruida))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.13325 -0.07583 -0.01435  0.07501  0.16051 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          1.96408    0.29228    6.72 5.97e-07 ***
## log(Area_contruida)  0.80928    0.06194   13.06 2.11e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.08859 on 24 degrees of freedom
## Multiple R-squared:  0.8767, Adjusted R-squared:  0.8716 
## F-statistic: 170.7 on 1 and 24 DF,  p-value: 2.109e-12
par(mfrow=c(2,2))
plot(MRLNew)

De la informacion anterior se puede analizar que al evidenciar que no se cumplian algunos supuestos de la varianza y la normalidad de los residuales se realizó un ajuste al modelo con una transformacion logaritmica en la variable ‘x’.

  1. De ser necesario compare el ajuste y supuestos del modelo inicial y el transformado.

Al realizar el ajuste del modelo y al compararlo con el modelo inicial se puede observar una variacion leve en los resultados, debido a que el modelo inicial presentaba un r2 de 0.8446 y con el ajuste este r2 paso a 0.8963. De igual manera se puede visualizar que la grafica de los residuales presenta una curva menos pronunciada y la variable independiente ‘x’ aumentó su nivel de significancia dentro del modelo con la transfotmación realizada.