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

#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)

1.Realice un análisis exploratorio de las variables precio de vivienda (millones de pesos COP) y area de la vivienda (metros cuadrados) - incluir graficos e indicadores apropiados interpretados.

#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.

2. 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.

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.

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

 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.

4. 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(mod, "Area_contruida", level = 0.95)
##                  2.5 %   97.5 %
## Area_contruida 1.74017 2.507771

5. Calcule e interprete el indicador de bondad y ajuste R2.

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.

6. 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 1 millones seria una buena oferta? Que consideraciones adicionales se deben tener?.

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.

7.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(mod)

8. De ser necesario realice una transformación apropiada para mejorar el ajuste y supuestos del modelo.

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.

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

Se observa un mejor ajuste utilizando el modelo logaritmico ya que aumento el R2 de 0.84446 a 0.8963