Problemática

Con base en los datos de ofertas de vivienda descargadas del portal Fincaraiz para apartamento de estrato 4 con área construida menor a 200 m2 (vivienda4.RDS) la inmobiliaria A&C requiere el apoyo de un cientifico de datos en la construcción de un modelo que lo oriente sobre los precios de inmuebles.

Con este propósito el equipo de asesores a diseñado los siguientes pasos para obtener un modelo y así poder a futuro determinar los precios de los inmuebles a negociar

Análisis Exploratorio Univariado

Realice un análisis exploratorio de las variables precio de vivienda (millones de pesos COP) y área de la vivienda (metros cuadrados) - incluir gráficos e indicadores apropiados interpretados.

En la realización del análisis exploratorio de las variables de precio de vivienda en relación a su dimensión en metros cuadrados, fueron obtenidas de la base de datos “Viviendas4” otorgada por la inmobiliaria A&C.Seguidamente, se realiza el análisis de apartamentos con las variables independientes, es decir, apartamentos en la relación a los precios (COP) y apartamentos en relación a las áreas en metros cuadrados.

library('devtools') # solo una vez
devtools::install_github('dgonxalex80/paqueteMET')
library(paqueteMET)
data(vivienda4)

Apartamentos vs Precios en COP

En primer lugar, al obtener la base de datos a través de la base de datos suministrada, se procede a realizar el análisis con las variables de precio de vivienda en millones de pesos (COP) solo para las viviendas en relación a la ubicación en la ciudad de Cali

library(tidyverse)
summarytools::freq(vivienda4$tipo, cumul = FALSE)
## Frequencies  
## vivienda4$tipo  
## Type: Factor  
## 
##                     Freq   % Valid   % Total
## ----------------- ------ --------- ---------
##       Apartamento   1363     79.89     79.89
##              Casa    343     20.11     20.11
##              <NA>      0                0.00
##             Total   1706    100.00    100.00

La base de datos cuenta con 1363 apartamentos y 343 casas, con un total de 1706 viviendas con que cuenta la inmobiliaria. En la siguiente tabla, permite visualizar el número de apartamentos y casas en las zonas de la ciudad de Cali.

table(vivienda4$tipo, vivienda4$zona)
##              
##               Zona Centro Zona Norte Zona Oeste Zona Oriente Zona Sur
##   Apartamento           7        237         52            2     1065
##   Casa                  1         51          8            4      279

La inmobiliaria A&C, requiere que los análisis estadísticos exploratorios y la construcción del modelo para determinar la proyección de los precios de los inmuebles en la ciudad de Cali debe hacerse solo con el tipo de vivienda apartamentos. Por esto, el primer paso para ejecutar el análisis estadístico exploratorio se crea un dataframe para determinar los apartamentos con una de las variables para el modelo, en este caso precio (COP).

tipo_vivienda <- data.frame(vivienda4$tipo, vivienda4$preciom)
apartamento_precio=subset(tipo_vivienda,tipo_vivienda =="Apartamento")
apartamento_precio
hist(apartamento_precio$vivienda4.preciom)

Teniendo la relación de la tabla de apartamentos con sus respectivos precios, se logra visualizar en el histograma como es el comportamientos de los precios con apartamentos desde 78 millones de pesos hasta 645 millones.

summary.data.frame(apartamento_precio)
##      vivienda4.tipo vivienda4.preciom
##  Apartamento:1363   Min.   : 78.0    
##  Casa       :   0   1st Qu.:153.5    
##                     Median :185.0    
##                     Mean   :202.4    
##                     3rd Qu.:240.0    
##                     Max.   :645.0
boxplot(apartamento_precio$vivienda4.preciom, xlab="Apartamentos", ylab="Precios de apartamentos")

Con el resumen de los estadisticos descriptivos de los apartamentos y los precios, el 25% de los precios de los apartamentos son menores o iguales a 153millones, los precios de los apartamentos que representan entre el 0% y 50% están en 185millones y los que están entre 0% y el 75% son hasta 240millones.

Apartamentos vs área en metros cuadrados

En segundo lugar, se hace el análisis estadístico descriptivo con la variable de área en metros cuadrados para los apartamentos en la ciudad de Cali.

Se procede a crear un dataframe para tener solo los apartamentos y las áreas en metros cuadrados de la base de datos inicial.

tipo_vivienda <- data.frame(vivienda4$tipo, vivienda4$areaconst)
apartamento_area=subset(tipo_vivienda,tipo_vivienda =="Apartamento")
apartamento_area
hist(apartamento_area$vivienda4.areaconst)

Teniendo la relación de la tabla de apartamentos con sus respectivas áreas en metros cuadrados, se logra visualizar en el histograma como es el comportamiento de las áreas para apartamentos desde 40 hasta 200 metros cuadrados.

summary.data.frame(apartamento_area)
##      vivienda4.tipo vivienda4.areaconst
##  Apartamento:1363   Min.   : 40.00     
##  Casa       :   0   1st Qu.: 60.00     
##                     Median : 70.00     
##                     Mean   : 75.48     
##                     3rd Qu.: 84.00     
##                     Max.   :200.00
boxplot(apartamento_area$vivienda4.areaconst, xlab="Apartamentos", ylab="Areas de apartamentos")

Con el resumen de los estadisticos descriptivos de los apartamentos y las áreas en metros cuadrados, el 25% de las áreas de los apartamentos son menores o iguales a 60 metros cuadrados, las áreas de los apartamentos que representan entre el 0% y 50% están en 70 metros cuadrados y los que están entre 0% y el 75% son hasta 84 metros cuadrados.

Análisis Exploratorio Bivariado

Realice un análisis exploratorio bivariado de datos, enfocado en la relación entre la variable respuesta (precio) en función de la variable predictora (area construida) - incluir gráficos e indicadores apropiados interpretados

En el proceso de análisis exploratorio bivariado, es necesario tener declaradas las variables para de apartamentos para área y para los precios.

apto_area=apartamento_area$vivienda4.areaconst

Después de declarar las variables, se debe conocer el grado de asociación que existe entre las variables precio y área dados por la covarianza y la correlación.

En primer lugar, calculamos la covarianza y la correlación

cov(apto_precio,apto_area)
## [1] 1102.199
cor(apto_precio,apto_area)
## [1] 0.7481389

Esto nos muestra que el coeficiente de correlación es igual a 0.748, que muestra el grado de alineación de los puntos respecto a una línea recta; este valor representa una relación positiva fuerte de acuerdo con la clasificación de la relación lineal entre variables teniendo el coeficiente de correlación. Sin embargo, debemos saber si esta relación es estadísticamente significativa, para lo que requerimos el p-value. Este se obtiene con el comando cor.test()

cor.test(apto_precio,apto_area)
## 
##  Pearson's product-moment correlation
## 
## data:  apto_precio and apto_area
## t = 41.595, df = 1361, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.7237938 0.7706237
## sample estimates:
##       cor 
## 0.7481389

Se rechaza la hipótesis nula a causa de que p-value en menor a 0.05 en el caso del 95% . Para observar mejor el comportamiento de estás variables, se realiza un diagrama de dispersión para su análisis.

plot(apto_area, apto_precio)
abline(lm(apto_precio ~ apto_area), col = "orange") #agregar tendencia lineal

Como se puede ver en el gráfico de dispersión, los puntos de la muestra no se encuentran cerca de la línea que se construye para las variables de precios y áreas, esto se debe a que hay mucha variabilidad en está relación: por esto, es necesario realizar una matriz de correlación que nos mostrará como es la correlación de estás variables y posteriormente al hacer el modelo de regresión lineal, podemos concluir a partir de supuestos de normalidad, linealidas y homocedasticidad si la variable área puede predecir los precios para los inmuebles de la ciudad de Cali.

Primeramente, se hace una base de datos nueva que contenga el data.frame de precios y áreas para los apartamentos respectivamente.

base <- data.frame(apto_precio, apto_area)
base

A través de la librería Corrplot se hace la correlación para las dos variables en estudio. (Precio en millones vs áreas en metros cuadrados) para los apartamentos que tiene a su cargo la inmobiliaria en la ciudad de Cali.

library(corrplot)
## corrplot 0.92 loaded
correlacion<-round(cor(base), 1)
corrplot(correlacion, method="number", type="upper")

Como se puede observar en la matriz de relación, tenemos en 0.70 que determina una relación positiva fuerte; si tuvieramos más variables que sustenten el precio de un inmueble sería una relación que explicaría la relación de estás variables pero podría no adecuarse a un modelo de regresión lineal.

De igual forma, se muestra el análisis bivariado por gráficos de dispersión para calcular los coeficientes de una sola vez y ver si son estadísticamente significativos con el uso de la librería PerfomanceAnalytics

Con este gráfico, que no muestra el valor del coeficiente de correlación, el comportamiento para cada variable y la asociación bivariada, la cuál es directa porque es positiva, de manera que, a medida que aumenta el área construída de los apartamentos el precio de estos también aumenta.

Modelo de regresión Lineal

Estime el modelo de regresión lineal simple entre precio=f(area)+ε. Interprete los coeficientes del modelo β0, β1 en caso de ser correcto.

Después de realizar los análisis para cada variable y bivariados, se procede a hacer el modelo de regresión lineal para predecir el precio de los inmuebles con la variable de área.

modelo=lm(apto_precio ~ apto_area, data= base)
summary(modelo)
## 
## Call:
## lm(formula = apto_precio ~ apto_area, data = base)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -225.404  -23.902   -4.754   25.763  209.021 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 39.04679    4.09977   9.524   <2e-16 ***
## apto_area    2.16473    0.05204  41.595   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 43.34 on 1361 degrees of freedom
## Multiple R-squared:  0.5597, Adjusted R-squared:  0.5594 
## F-statistic:  1730 on 1 and 1361 DF,  p-value: < 2.2e-16

La fórmula del modelo de regresión es y= (39.047+2.165X)+ε, el intercepto es 39.047 que es Bo, y la pendiente o B1 es 2.165; con un R2 de 0.5594 que me predice el 56% de los precios con la variable de área construída. Solo teniendo el área para predecir los precios de los apartamentos se llega a un 56%, el modelo nos demuestra que está variable es muy significativa para definir el precio de un inmueble pero puede depender de otras variables para un mayor porcentaje de predicción.

La columna t value contiene el estadístico t, es decir, cociente entre cada estimador y su error típico. Estos cocientes son la base para llevar a cabo los contrastes H0:β0=0 y H0:β1=0. Los correspondientes p-valores aparecen en la columna Pr(>|t|). En este caso son muy pequeños por lo que se rechazan ambas hipótesis para los niveles de significación habituales.

Consecuentemente, procedemos a representar gráficamente la recta de mínimos cuadrados que es la que se predice con el modelo anterior, que busca la menor distancia entre los puntos frente a está línea:

plot(apto_area, apto_precio, xlab='Area construida', ylab='Precio en COP')
abline(modelo)

Intervalos de confianza

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 hipótesis t.

En el proceso de costrucción de los intervalos de confianza, los parámetros se obtienen a través del siguiente librería confint teniendo el intervalo de confianza del 95%

confint(modelo)
##                2.5 %    97.5 %
## (Intercept) 31.00423 47.089340
## apto_area    2.06264  2.266826
confint(object = modelo, level = 0.95)
##                2.5 %    97.5 %
## (Intercept) 31.00423 47.089340
## apto_area    2.06264  2.266826

El intervalo de confianza para el 95% de las área de los apartamentos estaría en 2.063 - 2.267

Precio para apartamento de 110 metros cuadrados

¿Cuál sería el precio promedio estimado para un apartamento de 110 metros cuadrados? Considera entonces con este resultado que un apartamento en la misma zona con 110 metros cuadrados en un precio de 200 millones sería una atractiva esta oferta? ¿Qué consideraciones adicionales se deben tener?

predict(modelo, data.frame(apto_area=110), interval = "confidence", level = 0.95)
##        fit      lwr      upr
## 1 277.1674 272.9573 281.3775

De acuerdo con el modelo, el precio para un apartamento de 110 metros cuadrados es de 277 millones. Este precio varía según la zona de la ciudad aunque hay apartamentos que cuestan menos de 277 millones y más de acuerdo a los 110 metros cuadrados de área; esto se debe principalmente a los acabados de los apartamentos, las zonas comunes del edificio en donde estén, los equipamientos que ofrece la zona como hospitales, centros educativos, culturales que hacen aumentar o disminuir el precio de los inmuebles.

Validación de los supuestos del modelo

En el proceso de validación de los supuestos del modelo, es necesario realizarlo por medio de gráficos y pruebas de normalidad, varianza constante y no autocorrelación de errores.

summary(modelo$residuals)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -225.404  -23.902   -4.754    0.000   25.763  209.021
plot(modelo)

En el caso del diagrama Residuals vs Fitted y el scate location, la línea roja es un ajuste local de los residuos que suaviza los puntos del diagrama de dispersión para facilitar la detección de patrones en los residuos. La situación ideal es que esta línea roja sea una que se asemeje a una recta horizonal centrada en cero, en este caso las líneas no se comportan de manera ideal, es porque los datos no se comportan con normalidad y no presentan una tendencia establecida en cuánto a su área y precio.

En el caso del diagrama QQ-Residuals, los datos que se alinean estrechamente con la línea de puntos indican una distribución normal. En este caso, todos los puntos no se alinean a la línea recta, por lo que se podría considerar ajustar el modelo añadiendo, eliminando otras variables en el modelo de regresión o probar transformaciones para el modelo.

Por último, se encuentra el diagrama de Residuals vs Leverage, es un tipo de diagrama de diagnóstico que permite identificar observaciones influyentes en el modelo de regresión, las observaciones que tienen un alto porcentaje de Leverage o apalancamiento tienen una alta influencia en los coeficientes del modelo de regresión lineal, sí los puntos están fuera de las distancia de Cook se representan como puntos influyentes y el modelo podría ser de no regresión; para este caso no existen puntos influyentes y que la línea roja no sigue la línea punteada con valor a cero esto determina heterocedasticidad y no linealidad.

library(nortest)
lillie.test(modelo$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  modelo$residuals
## D = 0.060955, p-value = 6.975e-13

Para comprobar que los datos tienen una tendencia normal también se aplica la prueba de Kolmogorov-Smirnov, en este caso el valor de la prueba es menor a 0.05 por esto rechazamos la hipótesis nula de que no hay diferencia entre las medias y se concluye que existe una diferencia significativa.

No se aplica la de Shapiro-Wilk, porque está prueba no se recomienda para muestras mayores a 50 datos y en este caso nuestra muestra es de 1363 apartamentos.

library(lmtest)
bptest(modelo)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo
## BP = 292.99, df = 1, p-value < 2.2e-16

Con la prueba de Breusch-Pagan Test,la salida anterior se observa que el valor-P es menor que el nivel de significancia usual de 5%, por lo tanto, hay evidencias para decir que no se cumple la homocedasticidad.

library(lmtest)
dwtest(modelo)
## 
##  Durbin-Watson test
## 
## data:  modelo
## DW = 1.443, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

En esta prueba de autocorrelación, el valor de p es pequeño menor a 0.05, esto puede interpretarse con que existe una autocorrelación fuerte entre los datos de la muestra a nivel de distribución espacial.

Transformación

A causa del comportamiento del modelo inicial, que explica la relación de un 56% de predicción para los precios de los apartamentos en relación con su área construída, se proponen las siguientes transformación a este modelo inicial, en las cuáles también se debe calcular los criterios de normalidad, homocedasticidad, linealidad.

Transformación BOX-COX

La transformación de Box-Cox es una transformación potencial que corrije la asimetría de una variable, varianzas diferentes o la no linealidad entre variables. Por lo anterior, se hace uso de esta tranformación para obtener un modelo que cumpla con los supuestos de normalidad debido a que el modelo incial no los cumple.

library(MASS)
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
b <- boxcox(lm(apto_precio ~ apto_area, data= base))

lambda <- b$x[which.max(b$y)]
lambda
## [1] -0.06060606

Como el gráfico anterior, representa la línea vertical representando el parámetro estimado lamda y las dos siguientes muestran un nivel de confianza del 95%. Adicionalmente, el 0 está dentro del intervalo de confianza del lamba óptimo y la estimación está muy cercana a este valor.

nuevo_y = ((base$apto_precio ^ lambda) - 1 )/ lambda

Con este script, se puede hacer la transformación de la variable lambda

hist(nuevo_y)

El histograma nos muestra que realmente la transformación de BOX-COX si hace que los datos se comporten con normalidad, pero es necesario hacer las pruebas de normalidad para comprobar este supuesto.

modelo2=lm(nuevo_y ~ apto_area, data= base)
summary(modelo2)
## 
## Call:
## lm(formula = nuevo_y ~ apto_area, data = base)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.71317 -0.09492 -0.00849  0.11447  0.47869 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 3.990726   0.014097  283.08   <2e-16 ***
## apto_area   0.006821   0.000179   38.12   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.149 on 1361 degrees of freedom
## Multiple R-squared:  0.5163, Adjusted R-squared:  0.5159 
## F-statistic:  1453 on 1 and 1361 DF,  p-value: < 2.2e-16

La fórmula del modelo de regresión es y= (3.9907+0.0068X)+ε, el intercepto es 3.9907 que es Bo, y la pendiente o B1 es 0.0068; con un R2 de 0.5159 que me predice el 52% de los precios con la variable de área construída con la transformación de BOX-COX, como se puede evidenciar este porcentaje es mucho menor que el modelo original de regresión lineal.

Dado lo anterior, se procede a representar gráficamente los supuestos de normalidad, linealidad, homocedasticidad que está es la causa principal para realizar una transformación no para mejorar la predicción del modelo sino para que los supuestos se cumplan.

par(mfrow=c(2, 2))
plot(modelo2, las=1, col='deepskyblue4', which=1:3)

En el caso del diagrama Residuals vs Fitted y el scate location, la línea roja es un ajuste local de los residuos, en este caso las líneas no se comportan de manera ideal, es porque los datos se aproximan a una normalidad pero no tienen una tendencia establecida en cuánto a su área y precio, tampoco hay datos influyentes que alteren la variación de la muestra.

En el caso del diagrama QQ-Residuals, los datos que se alinean estrechamente con la línea de puntos indican una distribución normal. En este caso, en compración con el modelo original hay más puntos que se alinean a la recta, por lo que se podría considerar probar transformaciones que se ajusten mejor a una normalidad del modelo de regresión lineal.

Sin embargo, es necesario hacer las pruebas de normalidad y homocedasticidad a este modelo con la transformación de lambda

library(nortest)
lillie.test(modelo2$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  modelo2$residuals
## D = 0.037265, p-value = 0.0001385

Para comprobar que los datos tienen una tendencia normal también se aplica la prueba de Kolmogorov-Smirnov, en este caso el valor de la prueba es menor a 0.05 por esto rechazamos la hipótesis nula de que no hay diferencia entre las medias y se concluye que existe una diferencia significativa.

No se aplica la de Shapiro-Wilk, porque está prueba no se recomienda para muestras mayores a 50 datos y en este caso nuestra muestra es de 1363 apartamentos.

library(lmtest)
bptest(modelo2)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo2
## BP = 141.1, df = 1, p-value < 2.2e-16

Con la prueba de Breusch-Pagan Test,la salida anterior se observa que el valor-P es menor que el nivel de significancia usual de 5%, por lo tanto, hay evidencias para decir que no se cumple la homocedasticidad.

library(lmtest)
dwtest(modelo2)
## 
##  Durbin-Watson test
## 
## data:  modelo2
## DW = 1.3145, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

En esta prueba de autocorrelación de los errores residuales, el valor de p es pequeño menor a 0.05, esto puede interpretarse con que existe una autocorrelación fuerte entre los datos de la muestra a nivel de distribución espacial.

Transformación Logarítmica

A causa del comportamiento del modelo inicial, que explica la relación de un 56% de predicción para los precios de los apartamentos en relación con su área construída y del modelo por transformación por BOX-COX que explica la relación de las variables en un 52%, se propone una segunda transformación al modelo inicial que es la transformación logarítmica, también se debe calcular los criterios de normalidad, homocedasticidad, linealidad.

nuevo_y2=log(base$apto_precio)
hist(nuevo_y2)

En este histograma para la transformación logarítmica, se comparto mucho más semejante a una distribución normal en relación a la transformación de BOX-COX

modelo3=lm(nuevo_y2 ~apto_area, data= base)
summary(modelo3)
## 
## Call:
## lm(formula = nuevo_y2 ~ apto_area, data = base)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.98857 -0.13188 -0.01249  0.15595  0.66387 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 4.5512586  0.0194001  234.60   <2e-16 ***
## apto_area   0.0094530  0.0002463   38.38   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2051 on 1361 degrees of freedom
## Multiple R-squared:  0.5198, Adjusted R-squared:  0.5195 
## F-statistic:  1473 on 1 and 1361 DF,  p-value: < 2.2e-16

La fórmula del modelo de regresión es y= (4.5512+0.0094X)+ε, el intercepto es 4.5512 que es Bo, y la pendiente o B1 es 0.0094; con un R2 de 0.5195 que me predice el 52% de los precios con la variable de área construída con la transformación logarítmica, como se puede evidenciar este porcentaje es mucho menor que el modelo original de regresión lineal.

Dado lo anterior, se procede a representar gráficamente los supuestos de normalidad, linealidad, homocedasticidad que está es la causa principal para realizar una transformación no para mejorar la predicción del modelo sino para que los supuestos se cumplan.

par(mfrow=c(2, 2))
plot(modelo3, las=1, col='deepskyblue4', which=1:3)

En el caso del diagrama Residuals vs Fitted y el scate location, la línea roja es un ajuste local de los residuos, en este caso las líneas no se comportan de manera ideal, es porque los datos se aproximan a una normalidad pero no tienen una tendencia establecida en cuánto a su área y precio, tampoco hay datos influyentes que alteren la variación de la muestra.

En el caso del diagrama QQ-Residuals, los datos se alinean estrechamente con la línea de puntos indican una distribución normal. En este caso, casi todos los puntos se alinean a la línea para representar mejor una normalidad, por lo que esta transformación se ajusta mejor a los supuestos en relación con la de BOX-COX y el modelo de regresión lineal original.

Sin embargo, es necesario hacer las pruebas de normalidad,homocedasticidad y no autocorrelación de errores a este modelo con la transformación logarítmica.

library(nortest)
lillie.test(modelo3$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  modelo3$residuals
## D = 0.033644, p-value = 0.001022

Para comprobar que los datos tienen una tendencia normal también se aplica la prueba de Kolmogorov-Smirnov, en este caso el valor de la prueba es menor a 0.05 por esto rechazamos la hipótesis nula de que no hay diferencia entre las medias y se concluye que no existe una normalidad en la muestra con está transformación, sin embargo, se acerca mucho más que las otras transformaciones.

No se aplica la de Shapiro-Wilk, porque está prueba no se recomienda para muestras mayores a 50 datos y en este caso nuestra muestra es de 1363 apartamentos.

library(lmtest)
bptest(modelo3)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo3
## BP = 150.38, df = 1, p-value < 2.2e-16

Con la prueba de Breusch-Pagan Test,la salida anterior se observa que el valor-P es menor que el nivel de significancia usual de 5%, por lo tanto, hay evidencias para decir que no se cumple la homocedasticidad.

library(lmtest)
dwtest(modelo3)
## 
##  Durbin-Watson test
## 
## data:  modelo3
## DW = 1.3187, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

En esta prueba de autocorrelación de los errores residuales, el valor de p es pequeño menor a 0.05, esto puede interpretarse con que existe una autocorrelación fuerte entre los datos de la muestra a nivel de distribución espacial.

Conclusiones

Al finalizar todos los análisis estadísticos llevados a cabo para la construcción de este informe para la inmobiliaria A&C, se puede concluir que el modelo que más se aproxima a predecir la variable de precio de inmuebles en relación al área construída es el modelo logarítmico, debido a que este modelo se ajusta más a los supuestos de normalidad que debe cumplirse al ejecutar una regresión lineal; prediciendo en un 52% los precios con solo una variable, que para este caso el modelo es bastante bueno, reconociendo que solo se tiene una variable y puede llegar a un poco más del 50% en su estimación.

Sin embargo, se recomienda tener en cuenta otras variables que puedan aportar significativamente al modelo y realizar pruebas de modelación con más variables, esto con la finalidad de que el porcentaje de predicción sea mucho mayor. Entre estás variables podrían estar el valor de la zona geoeconómica de los sectores de la ciudad (Sur,Norte,Centro,Oeste,Este), avalúos comerciales y/o catastrales de los inmuebles que se logran obtener por estudios de mercado.

Asi mismo, al ejecutar los diferentes análisis presentados en este informe, podría de igual forma reconocerse que la regresión lineal posiblemente no sea el mejor método para predecir los precios de un inmueble, podrían llevarse a cabo otros tipos de modelos como el modelo logarítmico, logístico, entre otros.Estos modelos requerirían de análisis adicionales y conceptos de modelación estadística mucho más avanzados para lograr una predición más óptima.