Interpretación: Según lo visto con los indicadores, podemos concluir primero que: - La variable Area Contruida, no se comporta de manera normal, ya que se muestra variabilidad en el grafico y su media y mediana no son los mismo valores. Por otro lado, en cuanto al Coeficiente de variación de Pearson(CAP) podemos ver que, al ser el resultado mayor que cero, nos dice que tiene asimetria positiva. De igual manera, la variable precio, nos muestra que no hay normalidad y que existe sesgo.
library(readxl)
datos <- read_excel("C:/Users/Luisa/Downloads/datos_vivienda.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
CAP_area_construida = 3*(mean(datos$Area_contruida)-median(datos$Area_contruida))/sd(datos$Area_contruida)
CAP_precio = 3*(mean(datos$precio_millon)-median(datos$precio_millon))/sd(datos$precio_millon)
data.frame(CAP_area_construida,CAP_precio)
| CAP_area_construida | CAP_precio |
|---|---|
| 1.582316 | 0.9888798 |
par(mfrow = c(1, 2))
hist(x = datos$Area_contruida)
abline(v = mean(datos$Area_contruida),col="blue", lwd=4)
abline(v = median(datos$Area_contruida),col="orange", lwd=4)
legend(x ="topright",legend = c("media", "mediana"), col = c("blue", "orange"),lwd = 4 )
hist(datos$precio_millon)
abline(v = mean(datos$precio_millon),col="blue", lwd=4)
abline(v = median(datos$precio_millon),col="orange", lwd=4)
legend(x ="topright",legend = c("media", "mediana"), col = c("blue", "orange"),lwd = 4 )
Interpretación: Lo que podemos ver en el grafico es que, entre mayor area construida, mayor es el precio del mismo. Esto se ve tambien con el coeficiente de correlación(r) que con un resultado de 0.92, nos dice que la relación entre estas dos variables es positiva fuerte.
attach(datos)
require(ggplot2)
require(plotly)
gp_a=ggplot(data = datos,aes(y=precio_millon, x=Area_contruida)) + geom_point() + geom_smooth(method = "loess",formula = "y ~ x")
ggplotly(gp_a)
correlacion = cor(Area_contruida, precio_millon )
correlacion
## [1] 0.9190295
Interpretación: Para empezar el b0 nos dice que si no existe area construida, el precio de una vivienda seria igual a 86 millones aproximadamente. Por otro lado, Lo que indica la pendiente b1, es cual es el aumento del precio por cada incremento en una unidad del area construida, es decir, que si el el area construida aumenta un 1% entonces, en las viviendas el efecto sera que los precios aumenten 2.12 millones aproximadamente por cada metro cuadrado adicional. Por otro lado, revisando el valor p nos dice que el coeficiente b1 si es significativo ya que nos presenta un valor de cero. Además, el r2 nos dice que se explica en un 84% los precios de una vivienda. ##Modelo:mod=lm(homicidios~desempleo)
attach(datos)
plot(Area_contruida,precio_millon,pch=16)
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
Interpretación: Con un intervalo de confianza de 95% para el b1, podemos ver que sus valores deberian estar entre 1.74 y 2.51, lo que se evidencia con la pendiente optima que nos dio un valor del 2.1. Por otro lado podemos ver que, con una prueba de hipotesis, el valor p nos dice que el coeficiente b1 si es significativo ya que nos presenta un valor de cero.
confint(object = mod,parm = "Area_contruida",level = 0.95)
## 2.5 % 97.5 %
## Area_contruida 1.74017 2.507771
Interpretación:El r2 nos dice que se explica en un 84% los precios de una vivienda.
mod
##
## Call:
## lm(formula = precio_millon ~ Area_contruida)
##
## Coefficients:
## (Intercept) Area_contruida
## 86.234 2.124
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
Interpretación: El precio promedio estimado para un apartamento de 110 m2 seria de aproximadamente 320 millones, por lo que considero de que si una persona encuentra un apartamento con la misma area en la misma zona por 200 millones si seria buena oferta, ya que un apartamento con esa area se encuentra dentro de un intervalo de entre 306 y 334 millones. Por otro lado existen consideraciones adicionales que se deben tener en cuenta como lo seria, las condiciones en que se encuentra la vivienda y que incluye la misma. Ejemplo: Viene con parqueadero privado?, tiene problemas de tuberias?, Acabados,etc.
mod
##
## Call:
## lm(formula = precio_millon ~ Area_contruida)
##
## Coefficients:
## (Intercept) Area_contruida
## 86.234 2.124
precio=function(x){
b0=86.234
b1=2.124
y=b0+(b1*x)
return(y)
}
precio(110)
## [1] 319.874
predict(mod,newdata = list(Area_contruida=110),interval = "confidence")
## fit lwr upr
## 1 319.8706 306.3133 333.4279
Interpretación:
Gráfico de ajuste: Me muestra el modelo ajustado. Que son los residuales contra valores ajustados. SE ESPERA QUE ESTO NO TENGA NINGUN COMPORTAMIENTO, ES DECIR, QUE SEA ALEATORIO. En este caso por el contrario nos muestra que, si tiene un comportamiento, lo que quiere decir que los residuales todavía tienen un componente sistemático que eventualmente podría incorporarse en el modelo, es decir, que esa asociación lineal que suponemos entre los precios y el area construida no necesariamente ha sido lineal. Por lo tanto, no se puede asumir una buena forma funcional entre la relación de precio y area.
Gráfico de normalidad: (Normal Q-Q). Se muestra que no todos los datos están sobre la línea de la distribución normal, si no que existen datos atípicos que rodean la línea.
3 y 4. Son gráficos de datos atípicos.
-Por otro lado, se debe transformar el modelo de regresion lineal, ya que en el grafico de ajuste no se cumple la aleatoridad de los errores.
mod
##
## Call:
## lm(formula = precio_millon ~ Area_contruida)
##
## Coefficients:
## (Intercept) Area_contruida
## 86.234 2.124
par(mfrow=c(2,2))
plot(mod)
Interpretación: Se transformo el modelo, ya que se vio que este era mas un modelo logaritmico que lineal, para esto aplicamos logaritmo a nuestra variable independiente x.
mod_ajustado=lm(precio_millon~log(Area_contruida))
summary(mod_ajustado)
##
## 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(mod_ajustado)
Interpretación: El modelo ajustado mostró la mejora en comparación con el modelo inicial. Esto se puede ver con el valor de los r2 donde en el modelo inicial el precio se explicaba con un 84%, mientras que con el nuevo modelo el mismo se explica en un 89%. Por otro lado, al comparar graficas, se ve como hay mayor aleatoriedad en el grafico de ajuste y en el grafico de normalidad, se muestra que los valores se acercan mas a nuestra linea.