INFORME 1

library(readxl)
datos_vivienda <- read_excel("datos_vivienda.xlsx")
attach(datos_vivienda)
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

Se observa que la base de datos contiene información del registro del valor de una vivienda (y) en millones de pesos COP de acuerdo a el área construida (x) en metros cuadrados.

Análisis exploratorio

El precio promedio de una vivienda es de 332 millones de pesos mientras que el área construida promedio de las viviendas es de 115.7 metros cuadrados.

El mínimo de metros cuadrados construidos de una vivienda es de 80 y el máximo de 195, mientras que el mínimo precio en millones de pesos de una vivienda es de 240 y el máximo es de 480.

summary(datos_vivienda)
##  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
hist(precio_millon,col="cyan")

hist(Area_contruida,col="coral")

En el histograma de el precio por millón podemos observar que su intervalo va de 200 a 500 millones y las viviendas que se encuentran entre un precio de 300 a 350 y de 400 a 450 tienen menor frecuencia.

También podemos observar que en el histograma del Área construida no se registran viviendas con \(m^2\) de 140 a 160, en adición la mayoría de viviendas se encuentran en un intervalo de 80 a 100 \(m^2\) de área construida.

Análisis bivariado

Veamos la correlación entre área construida y precio por millon: Podemos observar en la gráfica una relación creciente, a medida que aumenta el área construida también lo hace el precio en millones. Y su relación es fuerte y positiva de acuerdo con el coeficiente de correlación de pearson que da 0.92.

plot(Area_contruida,precio_millon,col="purple")

cor(Area_contruida,precio_millon)
## [1] 0.9190295

Estimación del modelo de regresión lineal simple

Estimamos un modelo de regresión lineal simple que especifique la variación entre el precio por millón según el área construida.

Una posible interpretación del coeficiente \(\beta_0\) sería el caso donde se tenga un área pero no construida, es decir, el precio del lote sin la vivienda construida. En este caso el lote tendría un valor de aproximadamente 86.23 millones

Por otro lado el \(\beta_1\) se interpreta como: por cada \(m^{2}\) adicional en el área construida se espera que el precio de la vivienda incremente en promedio 2.124 millones de pesos.

MODELO ESTIMADO precio_millon= 86.234+(2.124*(Area_construida))

mod=lm(precio_millon~Area_contruida)
mod
## 
## Call:
## lm(formula = precio_millon ~ Area_contruida)
## 
## Coefficients:
##    (Intercept)  Area_contruida  
##         86.234           2.124

Intervalo de confianza al 95% para \(\beta_1\)

Como vemos en el intervalo de confianza (1.74 , 2.51) que son los posibles valores que puede tomar \(\beta_1\), el cero no se ecuentra en el intervalo y así podemos concluir que \(\beta_1\) es significativo en el modelo.

Con una confianza del 95% se puede concluir que por cada \(m^{2}\) adicional en el área construida, el verdadero incremento en el valor de \(\beta_1\) se encuentra entre 1.74 y 2.5 millones de pesos del precio de la vivienda.

beta1_e=2.124                              
ee_beta=0.186

t=qt(0.975,df=24)

LI=beta1_e-(t*0.186)
LS=beta1_e+(t*0.186)

c(LI,LS)
## [1] 1.740115 2.507885

Prueba de hipótesis para \(\beta_1\)

Hipótesis: \(Ho\) : \(\beta_1\) = 0 VS \(H1\) : \(\beta_1\) not= 0

Estadístico de prueba: \(t_0\) = beta1_e/ee_beta ~ bajo H0 \(t_{26-2}\)

Región de rechazo: rechazo \(Ho\) si \(|t_0|\)>\(t_{0.025,24}\)

Con una significancia de 0.05 \(t_0\)=11.41935 es mayor a \(t\)=2.06 por lo tanto cae en la región de rechazo y hay suficente evidencia muestral para rechazar la hipótesis nula: Ho:\(\beta_1\)=0 , concluimos que \(\beta_1\) es diferente de cero, así que es significativa y es importante dentro del modelo.

Tanto por el intervalo de confianza como con la prueba de hipótesis llegamos a la misma conclusión: \(\beta_1\) es diferente de cero y por lo tanto es significativa.

#PRUEBA DE HIPÓTESIS PARA $\beta_1$
#HIPÓTESIS: Ho:$\beta_1$=0     VS   H1:$\beta_1$!=0

#ESTADÍSTICO DE PRUEBA: 

t0=beta1_e/ee_beta
t0
## [1] 11.41935
t=qt(p=0.975,df=24)
t
## [1] 2.063899
#Region de rechazo
abs(t0)>t
## [1] TRUE

Indicador de Bondad y Ajuste \(R^2\)

Se observa que el ajuste del modelo es \(R^2=0.8446\) es decir que el modelo explica el 84.46% de la variabilidad de el precio en millones de las viviendas.

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

Para determinar el indicador de Bondad, primero obtenemos la tabla ANOVA

PRUEBA DE HIPÓTESIS \(H_0:E[Y|X]= \beta_0+\beta_1 X\) vs \(H_1:E[Y|X]\not= \beta_0+\beta_1X\)

Estadístico de prueba: Fajuste: \(MSLOF/MSPE ~ f_{k-2,n-k}\)

Región de rechazo: se rechaza \(H_0\) si \(F{ajuste}> f_{0.05,k-2,n-k}\)

Según la tabla, los grados de libertad son 12, por lo que el número de niveles en X (k) es 14. Así, se procede a hallar el indicador de bondad \(f_{k-2,n-k}=f_(12,12)= 2.687\)

PRUEBA DE HIPÓTESIS Para el modelo se rechaza \(H_0\) ya que \(F{ajuste} = 28.11\) se encuentra en la región de rechazo y se concluye que el área construida y el precio, en las escalas que se consideran no tienen una relación lineal.

#mod<-lm(precio_millon~as.factor(Area_contruida)) 
table<-anova(mod)
table
## Analysis of Variance Table
## 
## Response: precio_millon
##                Df Sum Sq Mean Sq F value   Pr(>F)    
## Area_contruida  1 142480  142480  130.46 3.45e-11 ***
## Residuals      24  26212    1092                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
unique(Area_contruida)
##  [1]  86.00 118.00 130.00 181.00  98.00 170.00  96.00  85.00  87.00 118.42
## [11] 134.00  80.00  89.00 195.00
#Valor F 
qf(0.05,12,12,lower.tail = FALSE)
## [1] 2.686637

Precio promedio estimado para un apartamento de 110\(m^{2}\)

Para hallar \(X_1=110\) se realiza una interpolación ya que se encuentra dentro del rango, para hallar \(X_1\) se encuentra el Intervalo de Confianza.

De acuerdo con el modelo el precio promedio estimado para una vivienda de 110 \(m^{2}\) es de 319.8706 millones.

Teniendo en cuenta que una vivienda con 110 \(m^{2}\) de área construida tiene un valor entre 306 y 333 millones de pesos con un 95% de confianza, podemos destacar que si se encuentra una vivienda con las mismas características mencionadas (110\(m^{2}\) en la misma zona) en un precio de 200 millones sería una muy buena oferta debido a que es realmente económico considerando el rango entre el que se mueve el precio promedio estimado de una vivienda con dichos metros y en la msima zona.

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
#Y1=86.234+(2.124*110)
#Intervalo de confianza
#qt(0.025,24)*

Validación de supuestos del modelo

Para validar el modelo, se realizan las siguientes pruebas del error para los supuestos de media cero, varianza constante, distribución normal e independencia.

Podemos observar sobre los supuestos \(e_i\) lo siguiente:

1.MEDIA CERO: Por definición, los errores del modelo tienen media cero y siempre se cumple por defecto.

2.VARIANZA CONSTANTE: En la gráfica 1 se analizan los patrones comunes en los gráficos de Residuales vs Valores ajustados que el comportamiento es en forma de U invertida, parece que el modelo no es lineal, entonces no es conveniente hablar de si la varianza es o no constante. Para solucionar esto se puede usar una transformación en Y que estabilice la varianza.

3.NORMALIDAD: Para el análisis de la normalidad se evalúa \(H0\): \(e_i\)~Normal se observa en la gráfica 2 que los datos se ajustan bien a la línea de normalidad, es decir, se valida H0 gráficamente.

4.INDEPENDENCIA: Dado que estos registros no corresponden a datos en el tiempo, no se tiene un orden temporal para realizar la validación de este supuesto.Se valida por definición del tipo de datos de corte transversal.

#Media cero
ei = mod$residuals
yi_mod = mod$fitted.values
round(mean(ei),3)
## [1] 0
#Gráficas
par(mfrow=c(2,2))
plot(mod)

con un gráfico dinámico podemos observar mejor el comportamiento de la varianza y su forma de U invertida

plot(yi_mod,ei,main="Varianza Constante (ei)")

require(ggplot2)
## Loading required package: ggplot2

data_val = data.frame(yi_mod,ei)

ggplot(data_val,aes(x=yi_mod,y=ei))+geom_point()+theme_bw()+geom_smooth()
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Validamos con una prueba analítica de shapiro el supuesto de normalidad:

Hipótesis: \(Ho\): \(e_i\)~Normal VS \(H1\): \(e_i\) no se distribuye Normal

como p-value es grande (0.30) y es mayor al nivel de significancia de 0.05 entonces no tenemos la suficiente evidencia muestral para rechazar \(H0\): \(e_i\)~Normal y concluimos que los errores siguen una distribución normal.

Por ambas pruebas la gráfica y la analítica concluimos que los errores siguen una distribución normal.

shapiro.test(ei)
## 
##  Shapiro-Wilk normality test
## 
## data:  ei
## W = 0.95489, p-value = 0.3009
#alpha=0.05

Transformación de Variables

El nuevo modelo yi* = \(\beta_0\) + \(\beta_1\) Xi* + \(e_i\)

xi* = -1/x

\(e_i\)~iid N(0,\(\sigma^2\)) para todo i=1,2…,26

\(\hat{yi*}\) = \(\hat{\beta_0}\) + \(\hat{\beta_1}\) Xi*

\(\hat{yi*}\) = 635.35 + 32464.72 Xi*

x=datos_vivienda$Area_contruida
y=datos_vivienda$precio_millon
transX =-1/x
transY = y

modT1=lm(transY~transX)
modT1
## 
## Call:
## lm(formula = transY ~ transX)
## 
## Coefficients:
## (Intercept)       transX  
##       635.3      32464.7
summary(modT1) 
## 
## Call:
## lm(formula = transY ~ transX)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -36.987 -16.743  -5.023  18.547  44.379 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   635.35      18.27   34.77  < 2e-16 ***
## transX      32464.72    1895.32   17.13 5.84e-15 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 23.05 on 24 degrees of freedom
## Multiple R-squared:  0.9244, Adjusted R-squared:  0.9212 
## F-statistic: 293.4 on 1 and 24 DF,  p-value: 5.839e-15
cor(transY,transX)
## [1] 0.9614495
plot(transX,transY)
abline(modT1,lwd=1,col=2)

#Gráficas
par(mfrow=c(2,2))
plot(modT1)

Se observa que el ajuste del modelo transformado es \(R^2=0.9244\) es decir que el 92.44% de la variabilidad del precio en millones de una vivienda es explicado por -1/Area_construida. Además la relación es fuerte de acuerdo con el coeficiente de correlación de pearson (0.96)

Validación de supuestos modelo transformado

1.MEDIA CERO: Por definición, los errores del modelo tienen media cero y siempre se cumple por defecto.

2.VARIANZA CONSTANTE: En la gráfica anterior se analizan los patrones comunes en los gráficos de Residuales vs Valores ajustados del modelo transformado que el comportamiento es aleatorio no con alguna tendencia muy marcada que indique problemas. Se valida gráficamente.

3.NORMALIDAD: Se observa en la gráfica que los datos se ajustan bien a la línea de normalidad en el NormalQ-Q .Se valida gráficamente.

4.INDEPENDENCIA: Dado que estos registros no corresponden a datos en el tiempo, no se tiene un orden temporal para realizar la validación de este supuesto.Se valida por definición del tipo de datos de corte transversal.

Comparación de ambos modelos

El ajuste del modelo inicial es de \(R^2=0.8446\) y el del modelo transformado es de \(R^2=0.9244\) con lo que podemos concluir que se mejoro el ajuste.

par(mfrow=c(1,2)) 

plot(datos_vivienda$Area_contruida,datos_vivienda$precio_millon,col="purple")
plot(transX,datos_vivienda$precio_millon,col="royalblue1")

En conclusión con el modelo transformado pudimos validar todos los supuestos mientras que en el modelo propuesto el supuesto de varianza constante no se cumplía, además también se nota un comportamiento más lineal y un mejor ajuste que comprobamos con el valor de la correlación y el \(R^2\) mencionados anteriormente.

PUNTO 10 Función para un intervalo de confianza para \(\beta_1\) con un nivel de confianza de (1-\(\alpha\))

funcion = function(x,y,alpha1){
  modelo=lm(y~x)
  summary(modelo)
  
  C = confint(modelo,parm = 2 ,level = alpha1)
  sup = paste("El intervalo de confianza para b1 es:(",C[1],",",C[2],")")
  return(sup)
}

funcion(Area_contruida,precio_millon,0.95)
## [1] "El intervalo de confianza para b1 es:( 1.74016951529895 , 2.50777147502603 )"