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.
Consideramos que la variable X (variable explicativa) debe ser el área construida y la variable Y (variable de respuesta) debe ser el precio por millón del inmueble. Esto porque normalmente las agencias inmobiliarias utilizan el área construida como uno de los factores determinantes del precio del inmueble. A continuación se presentan los datos de la muestra:
## Area_contruida precio_millon
## 1 86.00 250
## 2 118.00 385
## 3 130.00 395
## 4 181.00 419
## 5 86.00 240
## 6 98.00 320
## 7 170.00 480
## 8 96.00 268
## 9 85.00 240
## 10 170.00 450
## 11 87.00 240
## 12 118.42 385
## 13 86.00 290
## 14 85.00 240
## 15 96.00 272
## 16 86.00 250
## 17 86.00 250
## 18 130.00 395
## 19 134.00 385
## 20 80.00 255
## 21 130.00 430
## 22 87.00 260
## 23 130.00 385
## 24 89.00 290
## 25 195.00 450
## 26 170.00 410
Información sobre la variable Area_construida
En la muestra se evidencia que el inmueble que menos área tiene 80 metros cuadrados y la que más tiene 195 metros cuadrados. Además el promedio de área de los inmuebles incluidos en la muestra es de 115.7 metros cuadrados.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 80.0 86.0 97.0 115.7 130.0 195.0
Información sobre la variable precio_millón
En la muestra se evidencia que el rango de precio por millón de los inmuebles va de 240 millones a 480 millones. Además el promedio del precio por millón de los inmuebles incluidos en la muestra es de 332.1 millones.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 240.0 251.2 305.0 332.1 395.0 480.0
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.
## [1] 0.9190295
Se observa que existe una fuerte relación entre el área construida de un inmueble y su precio, a medida que aumenta el área, aumenta el precio por millón del inmueble. Se encontró que el coeficiente de correlación de Pearson es de 0.9190295 lo cual indica que existe una relación lineal y al estar tan cerca de 1, se puede concluir que la relación entre las variables es directamente proporcional.
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.
##
## Call:
## lm(formula = precio_millon ~ Area_contruida, data = datos_vivienda)
##
## 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
##
## Call:
## lm(formula = precio_millon ~ Area_contruida, data = datos_vivienda)
##
## Coefficients:
## (Intercept) Area_contruida
## 86.234 2.124
Dados los datos presentados en el resumen anterior, se tiene el siguiente modelo de regresión lineal:
Yi = β0 + β1 * Xi + Ei y se tiene que x representa el área en metros cuadrados, entonces
precio_por_millon = 86.234 + (2.124)Xi
con Ei ~ iid N(o, SIGMA2), i = 1,2,..,26.
Se observa que el coeficiente de β1 es 2.124, lo cual significa que por cada metro de adicional en el área de un inmueble su precio aumenta en 2.124 millones.
El coeficiente β0 es 86.234 lo cual significa que un inmueble tiene como precio base 86.234 millones, para este caso particular no es correcto interpretar este valor, dado que esto implica que un inmueble con 0 metros cuadrados construidos tendría un valor de 86.234 millones. Podríamos pensar que este es el valor del lote donde se ubicara el inmueble, pero estamos hablando de área construida, por ende no tiene sentido interpretarlo.
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.
## [1] 1.740115 2.507885
Con una certeza del 95% se tiene que el valor de β1 = 2.124 se encuentra entre limite_inferior = 1.740115 y limite_superior = 2.507885.
Puesto que el valor cero no está contenido en el intervalo entonces, el área es una variable significativa para explicar el precio de los inmuebles.
Probando la hipótesis h0: β1 = 0 VS h1: β1 != 0 con un 95% de confianza, se tiene que:
Valor t0
## [1] 11.41935
valor t
## [1] 2.063899
Validación de la hipotesis t0 > t
## [1] TRUE
Dado lo anterior, que |t0| > t, entonces se rechaza la hipótesis nula h0. Por lo tanto β1 tiene que ser diferente de cero.
En conclusión, ambos procesos implican que el área construida es un valor determinante en el precio de un inmueble.
5) Calcule e interprete el indicador de bondad y ajuste R2.
El coeficiente R cuadrado es igual a 0.8446, esto significa que el modelo es capaz de explicar el 84% de la variabilidad de los datos.
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 millones seria una buena oferta? Que consideraciones adicionales se deben tener?.
Lo que hacemos primero es estimar el valor del precio promedio estimado de un inmueble que tenga 110 metros cuadrados de área:
y110 = 86.234 + (2.124)(110)
## [1] 319.874
Usando la función predict de R
predict(regresion_lineal, list(Area_contruida=110), interval="confidence", level=0.95)
## fit lwr upr
## 1 319.8706 306.3133 333.4279
Se ve que los valores tanto usando el modelo como usando la función predict de R, son casi iguales, usando el modelo el resultado fue 319.874 y usando predict fue 319.8706.
Dados los resultados anteriores, un apartamento de 110 metros cuadrados en esa zona debería costar aproximadamente 320 millones.
Por lo tanto, se concluye que conseguir ese apartamento o comprarlo en 200 millones (120 millones menos aprox), sería una excelente oferta.
Una consideración a tener en cuenta es que la diferencia entre el valor real (usando la función predict) y el estimado (calculado con el modelo) sería el error que despreciamos en la estimación.
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.
A continuación se evaluan los 4 supuestos:
1. Media cero
Con el siguiente valor generado con un script se verifica el supuesto de la media cero.
## [1] 0
Dado que el valor obtenido fue cero, se concluye que este supuesto se cumple.
2. Varianza Constante
Analizando la gráfica anterior se evidencia que no se cumple el supuesto de varianza constante ya que al graficar los datos de la regresión se evidencia que el comportamiento de la varianza no es lineal constante.
3. Normalidad
##
## Shapiro-Wilk normality test
##
## data: ei
## W = 0.95489, p-value = 0.3009
## [1] FALSE
A partir de la gráfica, aparentemente se evidencia que los errores del modelo distribuyen de forma normal, para garantizar esto se realiza una prueba de hipótesis, la cual arroja un valor p de aproximadamente 0.3009. Con una significancia del 0.05% se acepta la hipótesis nula y por ende se concluye que el supuesto se cumple y los errores distribuyen de forma normal.
4. Independencia
Dado el comportamiento de la gráfica anterior, podemos concluir que los errores son independientes y por ello se cumple el supuesto.
8) De ser necesario realice una transformación apropiada para mejorar el ajuste y supuestos del modelo.
Buscamos una transformación que mejore el supuesto de Varianza Constante.
## [1] 0.011627907 0.008474576 0.007692308 0.005524862 0.011627907 0.010204082
## [7] 0.005882353 0.010416667 0.011764706 0.005882353 0.011494253 0.008444520
## [13] 0.011627907 0.011764706 0.010416667 0.011627907 0.011627907 0.007692308
## [19] 0.007462687 0.012500000 0.007692308 0.011494253 0.007692308 0.011235955
## [25] 0.005128205 0.005882353
Se intento mejorar el modelo usando varias transformaciones y la que mejor resultado arrojo fue la transformación Y’= β0 + β1(1/x) + Ei. Se puede evidenciar que la curva que representa la varianza tiende a ser más lineal comparado con la gráfica del modelo original.
9) De ser necesario compare el ajuste y supuestos del modelo inicial y el transformado.
Varianza Modelo Original
Varianza Modelo Transformado
Aparentemente la gráfica que representa la varianza en el modelo de regresión lineal transformada tiene un comportamiento más lineal que el modelo de regresión lineal original. Para corroborar esto, recurriremos al valor R2 de ambos modelos.
Summary Modelo Original
##
## Call:
## lm(formula = precio_millon ~ Area_contruida, data = datos_vivienda)
##
## 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
Summary Modelo Transformado
##
## Call:
## lm(formula = precio_millon ~ area_transformada, data = datos_vivienda)
##
## 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 ***
## area_transformada -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
Se evidencia que en el modelo transformado el valor del coeficiente de determinación R2 es mayor al del modelo de original, lo cual indica que el modelo transformado tiene un mejor ajuste, por ende su variabilidad es menor.
10) Realizar una función en R la cual permita ingresar el valor de X, Y,(1−α)% en una regresión lineal simple y retorne el intervalo de confianza para β1 dado un nivel de confianza de entrada (1 − α)%.
# Definición de la función
intervalo_confianza <- function(x, y, alpha) {
regresion = lm(y~x)
resumen = summary(regresion)
b1 = resumen$coefficients[2]
error_estandar = resumen$coefficients[4]
alpha = 1 - (alpha / 2)
valor_t = qt(alpha, df = (length(x) - 2))
ls = b1 + (error_estandar * valor_t)
li = b1 - (error_estandar * valor_t)
ic = c(li, ls)
return(ic)
}
# Ejemplo de ejecución con Area_contruida, precio_millon y 95% (1-0.95) de confianza
intervalo_confianza(Area_contruida, precio_millon, 0.05)
## [1] 1.740170 2.507771