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.
library(readxl)
datos_vivienda_1_ <- read_excel("C:/Users/User/Desktop/datos_vivienda (1).xlsx")

datos=data.frame(datos_vivienda_1_)

attach(datos)

##Tabla de Indicadores Importantes

precio_promedio=mean(datos$precio_millon,na.rm = TRUE)
mediana_precio=median(datos$precio_millon,na.rm = TRUE)
promedio_area=mean(datos$Area_contruida,na.rm = TRUE)
cantidad_ofertas=length(datos$Area_contruida)

Resultado = data.frame(precio_promedio, mediana_precio, promedio_area, cantidad_ofertas)
Resultado
##   precio_promedio mediana_precio promedio_area cantidad_ofertas
## 1        332.0769            305      115.7469               26
par(mfrow=c(1,2))
hist(Area_contruida)
line = mean(Area_contruida)
abline(v=line, col="blue", lwd=3)
hist(precio_millon)
line2 = mean(precio_millon)
abline(v=line2, col="blue", lwd=3)

require(plotly)

require(ggplot2)

grafico_cajas=boxplot(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

De acuerdo a lo validado, se identifica una relación directa entre el metro cuadrado y el precio, a mayor metros más alto es el precio. Para las 26 ofertas que se identifican el área promedio es de 115 con un costo promedio de $330MM, esto nos da una idea y se puede concluir que a mayor área, mayor es su precio, tal cual como nos lo confirma su correlación que es del 92%.

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.

require(ggplot2)
require(plotly)

grafico_1=ggplot(data = datos,aes(y=precio_millon,x=Area_contruida)) + geom_point() + geom_smooth()
ggplotly(grafico_1)
cor(Area_contruida,precio_millon)
## [1] 0.9190295

El grafico nos muestra una realción positiva entre el área construida y el precio por millón con una correlación de 92%, esto quiere decir que los comentarios tradicionales que se escuchan que a mayor tamaño de motor, mayor será su consumo, si está soportado en data y si es correcta la afirmación.

  1. Estime el modelo de regresión lineal simple entre precio = f(area)+e. Interprete los coeficientes del modelo B0; B1 en caso de ser correcto.
plot(Area_contruida,precio_millon)

cor(Area_contruida,precio_millon)
## [1] 0.9190295
modelo= lm(precio_millon~Area_contruida)
summary(modelo)
## 
## 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

Este modelo nos permite identificar la relación que hay entre el precio por millón y el área construida de una vivienda

La formula que me explica este modelo es la siguiente: Precio = Área Construida * 2.124 + 86.234 + error, es decir, que el precio va estar 84.4% directamente proporcional al área construida y que el precio únicamente del lote cuesta $86.23MM

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

Con un intervalo de confianza del 95%, el precio del inmueble puede incrementar en un rango de 1.7 a 2.5 millones por cada metro cuadrado que aumente el predio.

  1. Calcule e interprete el indicador de bondad y ajuste R2
summary(modelo)
## 
## 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

Este indicaro de bondad y ajuste significa que el precio tiene una alta probabilidad (84.4%) de comportarse directamente proporcional al área construida, es decir que hay un 84% de probabilidad de que si el área construida aumenta el precio aumenta.

  1. Cuál sería 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(modelo,list(Area_contruida=110))
##        1 
## 319.8706

El precio promedio estimado sería de $319 MM. La oferta de $200MM por un apto de 110 metros cuadrados es muy buena para realizar un negocio, comprar y vender en el precio estimado de 319MM

  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(modelo)

El grafico de residual no se ajusta muy bien ya que tiene una curva alrededor de cero, esto quiere decir que no tiene una varianza constante, sin embargo, se considera que tiene a tener un comportamiento normal.

  1. De ser necesario realice una transformación apropiada para mejorar el ajuste y supuestos del modelo.
modelo= lm(log(precio_millon)~log(Area_contruida))
summary(modelo)
## 
## 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(modelo)

9. Se realiza la transformación apropiada para mejorar el modelo y aumento en su indicador R2 en 4 puntos porcentuales, es decir, pasamos que hay un 84% de probabilidad al 88% de que si el área construida aumenta el precio aumenta.