library(readxl)
Datos_vivienda <- read_excel("Datos_vivienda.xlsx")
Datos_vivienda
## # A tibble: 26 x 2
## Area_contruida precio_millon
## <dbl> <dbl>
## 1 86 250
## 2 118 385
## 3 130 395
## 4 181 419
## 5 86 240
## 6 98 320
## 7 170 480
## 8 96 268
## 9 85 240
## 10 170 450
## # … with 16 more rows
require(ggplot2)
## Loading required package: ggplot2
require(plotly)
## Loading required package: plotly
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
En los datos se puede observar 2 variables, area construida y precio en millones.
attach(Datos_vivienda)
summary(Area_contruida)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 80.0 86.0 97.0 115.7 130.0 195.0
summary(precio_millon)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 240.0 251.2 305.0 332.1 395.0 480.0
Se puede observar que el area minima construida es de 80m^2, y la maxima es 195m^2, con un promedio de 115.7m^2 de area construida. En el caso del precio, el minimo sera de 240M COP, correspondientes al area minima; el maximo valor es de 40M COP, correspondientes al area maxima. El promedio de precio es de 332.1M COP.
g1=ggplot(data=Datos_vivienda, aes(x=Area_contruida,y=precio_millon))+geom_point()+theme_bw()+geom_smooth(method="lm")
g1
## `geom_smooth()` using formula 'y ~ x'
cor(Area_contruida,precio_millon)
## [1] 0.9190295
Según los resultados del coeficiente de correlación y el gráfico, se puede deducir que el area construida esta altamente relacionada con el aumento del precio. Además, el valor de la relación (0.91) indica una alta relación entre variables.
mod=lm(precio_millon~Area_contruida)
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
En este modelo de regresión identificamos a \(\beta_1=2.124\), indicando que por cada unidad de area que aumente, el precio crecerá en aproximadamente 2.1 millones de pesos. El valor de \(\beta_0=86.23\) indica que, en el area minima posible, el precio sera de 86 millones de pesos. La ecuación general sería \(y_i= 2.214 +86.23 *preciomillon + e_i\)
x=Area_contruida
y=precio_millon
b1=2.124
Sxx=sum((x-mean(x))^2)
sigma2=sum((y-mod$fitted.values)^2)/24
sigma2
## [1] 1092.173
t=qt(p = 0.975, df = 24)
ee = t*sqrt(sigma2/Sxx)
Li=b1-ee
Ls=b1+ee
c(Li,Ls)
## [1] 1.740199 2.507801
Podemos concluir del anterior resultado que la muestra si es significativa, pues el intervalo encontrado no incluye el 0.
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
Según el resultado del \(R^2=0.8381\), el modelo se ajusta correctamente a la variabilidad de los datos, pues el valor es cercano a 1.
predict(mod,list(Area_contruida=110))
## 1
## 319.8706
predict(mod,list(Area_contruida=110),interval = "confidence", level= 0.95)
## fit lwr upr
## 1 319.8706 306.3133 333.4279
Según los datos, se esperaría que el precio promedio para una área de 110m^2 sea de 319M COP. El intervalo nos indica que el precio ideal debe estar entre 306.3M y 333.4M para el area de 110m^2.
ei=mod$residuals
ei
## 1 2 3 4 5 6 7
## -18.895336 48.137608 32.649962 -51.672533 -28.895336 25.617018 32.691142
## 8 9 10 11 12 13 14
## -22.135041 -26.771366 2.691142 -31.019307 47.245540 21.104664 -26.771366
## 15 16 17 18 19 20 21
## -18.135041 -18.895336 -18.895336 32.649962 14.154080 -1.151513 67.649962
## 22 23 24 25 26
## -11.019307 22.649962 14.732752 -50.408120 -37.308858
qqnorm(ei)
qqline(ei, col="red")
Los datos están muy aproximados a una distribución normal, de acuerdo al gráfico Q-Q, indicando que la distribución que se tiene es casi ideal.
No es necesario realizar una validación de supuestos, pues los datos indican que la distribución es casi ideal, por lo tanto, tampoco se realizará comparación del ajuste ni de supuestos del modelo inicial y el transformado.