# Librerias a Utilizar
# install.packages("devtools") # solo una vez
# devtools::install_github("dgonxalex80/paqueteMETODOS") 
library(paqueteMETODOS)
library(dplyr)
library(ggplot2)
library(gridExtra)
library(stargazer)
library(tseries)

# Se importa la base de datos
data(vivienda4)
table(vivienda4$tipo)
## 
## Apartamento        Casa 
##        1363         343

Al cargar la base de datos, se logra evidenciar que se cuenta con 1706 registros, de los cuales 1363 corresponden a Apartamentos y 343 a Casas, por lo que se procedera a eliminar los registros de Casas, para solo hacer el analisis de regresion de los precios de los Apartamentos, ya que la variable independiente es el Area en metros cuadrados de la vivienda y se sabe que los Apartamentos y las Casas difieren entre si por el tamaño de la construccion, lo que podria generar sesgos en los resultados.

# Filtrar los apartamentos
apartamentos <- filter(vivienda4, tipo == "Apartamento")

1 Punto 1

# Se saca un resumen descriptivo de la variable precio de los apartamentos
summary(apartamentos$preciom)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    78.0   153.5   185.0   202.4   240.0   645.0
# Histograma de frecuencias
histograma <- ggplot(apartamentos, aes(x = preciom)) +
  geom_histogram(fill = "lightsalmon", color = "black", bins = 30) +
  labs(title = "Precio de los Apartamentos",
       x = "Precio",
       y = "Frecuencia") +
  scale_x_continuous(limits = c(0, ceiling(max(apartamentos$preciom) / 50) * 50), 
                     breaks = seq(0, ceiling(max(apartamentos$preciom) / 50) * 50, by = 50)) +
  theme(plot.title = element_text(hjust = 0.5))

# Gráfico de densidad
densidad <- ggplot(apartamentos, aes(x = preciom)) +
  geom_density(fill = "skyblue", color = "blue", alpha = 0.5) +
  labs(title = "Densidad del Precio de los Apartamentos",
       x = "Precio",
       y = "Densidad") +
  scale_x_continuous(limits = c(0, ceiling(max(apartamentos$preciom) / 50) * 50), 
                     breaks = seq(0, ceiling(max(apartamentos$preciom) / 50) * 50, by = 50)) +
  theme(plot.title = element_text(hjust = 0.5))

# Graficar uno al lado del otro
grid.arrange(histograma, densidad, ncol = 2)

Teniendo en cuenta el resumen descriptivo de la variable Precio, se puede evidenciar que hay apartamentos que se han vendido con un precio minimo de 78 millones y un maximo de 645 millones, pero mayormente el rango en que se mueve el precio de un apartamento, oscila entre los 153 y 240 millones de pesos, por otra parte las graficas ilustran que la tendencia en el precio de los apartamentos tiene una asimetria positiva, es decir que hay una fuerte concentracion de apartamentos vendidos, con precios a la baja y que en promedio no superan los 200 millones de pesos.

ggplot(apartamentos, aes(x = preciom, y = "")) +
  geom_boxplot(fill = "lightsalmon", color = "black", width = 0.5) +
  geom_jitter(aes(color = "Data"), height = 0.2, alpha = 0.5) +
  labs(title = "Boxplot del Precio de los Apartamentos",
       x = "Precio",
       y = "") +
  scale_color_manual(values = c("Data" = "blue")) +
  scale_x_continuous(breaks = seq(0, ceiling(max(apartamentos$preciom) / 50) * 50, by = 50)) +
  theme(plot.title = element_text(hjust = 0.5),
        axis.title.y = element_blank(),
        axis.ticks.y = element_blank(),
        axis.text.y = element_blank())

Del grafico de boxplot podemos observar que si bien, se han vendido apartamentos que han alcanzado un precio maximo de 645 millones, son muy pocos los apartamentos que se logran vender a un precio relativamente alto, incluso se puede decir que apartir de 350 millones se considera el umbral de datos atipicos dentro de la muestra.

# Se saca un resumen descriptivo de la variable area de los apartamentos
summary(apartamentos$areaconst)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   40.00   60.00   70.00   75.48   84.00  200.00
# Histograma de frecuencias
histograma <- ggplot(apartamentos, aes(x = areaconst)) +
  geom_histogram(fill = "palegreen", color = "black", bins = 30) +
  labs(title = "Area Construida de los Apartamentos",
       x = "Area Construida",
       y = "Frecuencia") +
  scale_x_continuous(limits = c(0, ceiling(max(apartamentos$areaconst) / 20) * 20), 
                     breaks = seq(0, ceiling(max(apartamentos$areaconst) / 20) * 20, by = 20)) +
  theme(plot.title = element_text(hjust = 0.5))

# Gráfico de densidad
densidad <- ggplot(apartamentos, aes(x = areaconst)) +
  geom_density(fill = "peachpuff", color = "blue", alpha = 0.5) +
  labs(title = "Densidad del Area de los Apartamentos",
       x = "Area Construida",
       y = "Densidad") +
  scale_x_continuous(limits = c(0, ceiling(max(apartamentos$areaconst) / 20) * 20), 
                     breaks = seq(0, ceiling(max(apartamentos$areaconst) / 20) * 20, by = 20)) +
  theme(plot.title = element_text(hjust = 0.5))

# Graficar uno al lado del otro
grid.arrange(histograma, densidad, ncol = 2)

Teniendo en cuenta el resumen descriptivo de la variable Area Construida, se puede evidenciar que hay apartamentos que tienen un area construida de minimo 40 metros y un maximo de 200 metros, sin embrago el rango principal en que se mueve el Area Construida de los apartamentos, oscila entre los 60 y 84 metros cuadrados, por otra parte analizando las graficas, estas muestran al igual que ocurre con la variable precio una asimetria positiva, es decir que hay una fuerte concentracion de apartamentos vendidos, con areas muy pequeñas y que en promedio se situa alrededor de los 75 metros cuadrados.

ggplot(apartamentos, aes(x = areaconst, y = "")) +
  geom_boxplot(fill = "palegreen", color = "black", width = 0.5) +
  geom_jitter(aes(color = "Data"), height = 0.2, alpha = 0.5) +
  labs(title = "Boxplot del Area de los Apartamentos",
       x = "Area",
       y = "") +
  scale_color_manual(values = c("Data" = "green")) +
  scale_x_continuous(breaks = seq(0, ceiling(max(apartamentos$areaconst) / 20) * 20, by = 20)) +
  theme(plot.title = element_text(hjust = 0.5),
        axis.title.y = element_blank(),
        axis.ticks.y = element_blank(),
        axis.text.y = element_blank())

Del grafico de boxplot podemos observar que si bien, se han vendido apartamentos que han llegado a tener 200 metros cuadrados de area construida, son muy pocos los apartamentos que tienen un area cosntruida bastante grande y que se logran vender, por lo general se prefieren construir apartamentos con areas mas pequeñas, y se puede decir que apartir de los 120 metros cuadrados en adelante ya se consideran datos atipicos.

2 Punto 2

ggplot(apartamentos, aes(x = areaconst, y = preciom)) +
  geom_point(color = "plum", alpha = 0.5) +
  labs(title = "Gráfico de Dispersión: Precio vs. Área Construida",
       x = "Área Construida",
       y = "Precio") +
  theme(plot.title = element_text(hjust = 0.5))

como se puede apreciar en el grafico de dispersion, existe una correlacion positiva entre el area construida y el precio de los apartamentos, pero para mirar que tan fuerte es dicha asociacion, calcularemos la correlacion de pearson, ademas se puede apreciar una tendencia lineal, clave para utilizar el metodo de minimos cuadrados ordinarios

cor(apartamentos[,c(3,4)])
##             preciom areaconst
## preciom   1.0000000 0.7481389
## areaconst 0.7481389 1.0000000

al ver los resultados de la matriz de correlacion, esta da 0.74 lo cual es una correlacion postiva considerable, esto nos indica que el area en metros construida de los apartamentos puede ser una variable que explique en mayor medida el cambio en los precios de las vivienda.

3 Punto 3

modeloprecio <-lm(preciom~areaconst,data = apartamentos)
stargazer(modeloprecio, type = 'text', title = 'Modelo De Precios')
## 
## Modelo De Precios
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                               preciom          
## -----------------------------------------------
## areaconst                    2.165***          
##                               (0.052)          
##                                                
## Constant                     39.047***         
##                               (4.100)          
##                                                
## -----------------------------------------------
## Observations                   1,363           
## R2                             0.560           
## Adjusted R2                    0.559           
## Residual Std. Error     43.339 (df = 1361)     
## F Statistic         1,730.157*** (df = 1; 1361)
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

Teniendo en cuenta los resultados, el valor que toma \(\beta_0\) se puede interpretar de la siguiente manera: cuando no hay ninguna variacion en los metros construidos de la vivienda, se esperaria que el precio base de los apartamentos sea de 39.04 millones de pesos y la interpretacion del \(\beta_1\) queda asi: por cada metro adicional de construccion que tenga el apartamento en promedio el precio de la vivienda aumentara en 2.16 millones de pesos.

4 Punto 4

confint(object = modeloprecio, parm="areaconst", level = 0.95)
##             2.5 %   97.5 %
## areaconst 2.06264 2.266826
# Calcular el t estadistico se divide el coeficiente entre el error estandar
t_estadistico=2.165/0.052
# Muestra el resultado
cat("El valor del estadístico t para B1 es:", t_estadistico)
## El valor del estadístico t para B1 es: 41.63462

con un intervalo de confianza del 95% se puede decir que ante un aumento de un metro cuadrado de area construida del apartamento, el precio de este aumentara entre $ 2.06 millones de pesos y $ 2.26 millones de pesos. al compararlo con la prueba t para saber si \(\beta_1\) es significativo, el valor fue de 41.63 por encima del valor critico de 1.96 lo que permite rechazar la hipotesis nula de que \(\beta_1\) es distinto de cero, esto finalmente nos dice que este resultado si es significativo dentro del modelo.

5 Punto 5

Este resultado ya habia sido calculado cuando se realizo la estimacion del modelo, como se puede observar este coeficiente es de 0.559 lo que nos indica que un 55.9% de la variacion que se produce en el precio de los apartamentos esta siendo explicada por el modelo, teniendo en cuenta que solo hay una variable dentro del modelo, se puede decir que se cumple con un buen ajuste.

6 Punto 6

Precio_estimado=39.047+(2.165*110)
# Muestra el resultado
cat("El Precio estimado de un apartamento con 110 metros cuadrados es de:$", Precio_estimado,"millones")
## El Precio estimado de un apartamento con 110 metros cuadrados es de:$ 277.197 millones

teniendo en cuenta estos resultados y que ambos apartamentos estan en la misma zona, la oferta es muy atractiva ya que el precio promedio estimado esta en 277 millones y la oferta esta en 200 millones, por lo que la persona que este dispuesta a pagar se estaria ahorrando 77 millones y de salida este valor se añade a la valorizacion que tiene el apartamento en el mercado, como consideraciones a tener en cuenta, es si en el edificio donde esta ubicado el apartamento cuenta con parqueadero y en que piso se encuentra ubicado, asi como el numero de baños y los acabados que tenga el apartamento.

7 Punto 7

# Evaluacion del supuesto de Normalidad en los errores
# Obtener los residuos del modelo
residuos <- resid(modeloprecio)

# Histograma de los errores
hist(residuos, main = "Histograma de Residuos", xlab = "Residuos", ylab = "Frecuencia")

# Gráfico cuantil-cuantil (qqplot)
qqnorm(residuos)
qqline(residuos)

Al observar el grafico de histograma y el qqplot al parecer los residuos si cumplen con el supuesto de normalidad, sin embargo se realizara la prueba de shapiro wilk para salir de dudas.

shapiro.test(modeloprecio$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modeloprecio$residuals
## W = 0.96486, p-value < 2.2e-16

Segun los resultados de la prueba de Shapiro Wilk, se mira el p-valor el cual es de 2.2e-16 estando por debajo de la probabilidad de error del 0.05 por lo que permite rechazar la hipotesis nula de los que los errores tienen una distribucion normal, por tanto no se cumple con este supuesto.

# Test de Jarque Bera
jarque.bera.test(modeloprecio$residuals)
## 
##  Jarque Bera Test
## 
## data:  modeloprecio$residuals
## X-squared = 488.39, df = 2, p-value < 2.2e-16

Tambien se aplico el test de Jarque Bera, para tener una doble validacion de los resultados, y este tambien arrojo un resultado similar al test de Shapiro Wilk por lo que se puede decir definitivamente, que el supuesto de normalidad no se cumple en este modelo.

# Grafico de los residuos para detectar el cumplimiento del supuesto
# de Homocedasticidad
plot(modeloprecio$fitted.values, residuos, xlab = "Valores predichos", ylab = "Residuos", main = "Residuos vs Prediccion")

Como se puede observar en el grafico de los residuos frente a los valores predichos, la varianza de los residuos no es constante en todos los tramos, cuando los apartamentos alcanzan precios mas altos se vuelve mas dificil su prediccion, ya que hay una mayor varianza en el ultimo tramo.

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

segun la prueba de Breusch Pagan el P- Value es de 2.2e-16 estando por debajo del p-critico del 0.05 lo que permite rechazar la hipotesis nula de que los errores son Homocedasticos, por tanto el modelo tiene problemas de Heterocedasticidad.

# Metodo Grafico para detectar Autocorrelacion
# Gráfico de dispersión de los residuos en función del índice de observación
plot(residuos ~ seq_along(residuos), main = "Residuos vs Indice de Observacion", xlab = "Indice de Observacion", ylab = "Residuos")

Como se puede observar en el grafico, no hay un patron en especifico, que de indicios de que hayan problemas de autocorrelacion, pero para salir de dudas se aplicara la prueba de Durbin Watson.

# Test para detectar Problemas de Autocorrelacion
lmtest::dwtest(modeloprecio)
## 
##  Durbin-Watson test
## 
## data:  modeloprecio
## DW = 1.443, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

Luego de aplicar el Test de Durbin Watson, se mira el P-Valor que arrojo de 2.2e-16 cuyo valo esta por debajo de la Probabilidad de error del 0.05, por lo que permite rechazar la hipotesis nula de no Autocorrelacion de los Residuos, esto implica que tambien se esta violando este supuesto.

8 Punto 8

# Se eliminaran los Outlier identificados en el boxplot, que se les realizo tanto a la variable dependiente como a la independiente

# Calcular los cuantiles para preciom y areaconst
cuantiles_precio <- quantile(apartamentos$preciom, probs = c(0.25, 0.75))
cuantiles_area <- quantile(apartamentos$areaconst, probs = c(0.25, 0.75))

# Calcular el rango intercuartílico (IQR) para preciom y areaconst
IQR_precio <- cuantiles_precio[2] - cuantiles_precio[1]
IQR_area <- cuantiles_area[2] - cuantiles_area[1]

# Definir los límites inferior y superior para identificar outliers para preciom y areaconst
limite_inferior_precio <- cuantiles_precio[1] - 1.5 * IQR_precio
limite_superior_precio <- cuantiles_precio[2] + 1.5 * IQR_precio

limite_inferior_area <- cuantiles_area[1] - 1.5 * IQR_area
limite_superior_area <- cuantiles_area[2] + 1.5 * IQR_area

# Filtrar los datos para eliminar outliers para ambas variables
apartamentos2 <- subset(apartamentos, preciom >= limite_inferior_precio & preciom <= limite_superior_precio & areaconst >= limite_inferior_area & areaconst <= limite_superior_area)

al aplicar el siguiente codigo se le hizo una depuracion a la base de datos, eliminando los datos atipicos que contenian tanto la variable preciom y la variable area construida, por lo que se paso de 1363 observaciones a 1290 observaciones, lo que implica que se elimino tan solo un 3.3% del total de registros, no superando el 5% que es lo que recomiendan los expertos que no se sobrepase. A continuacion se estimara un segundo modelo con la base sin datos atipicos

# estimacion del segundo modelo
modeloprecio2<-lm(preciom~areaconst, data=apartamentos2)
stargazer(modeloprecio2, type = 'text', title = 'Modelo De Precios 2')
## 
## Modelo De Precios 2
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                               preciom          
## -----------------------------------------------
## areaconst                    2.528***          
##                               (0.068)          
##                                                
## Constant                     13.450***         
##                               (4.956)          
##                                                
## -----------------------------------------------
## Observations                   1,290           
## R2                             0.521           
## Adjusted R2                    0.520           
## Residual Std. Error     37.139 (df = 1288)     
## F Statistic         1,398.890*** (df = 1; 1288)
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

9 Punto 9

stargazer(modeloprecio, modeloprecio2, type="text", df=FALSE)
## 
## ================================================
##                         Dependent variable:     
##                     ----------------------------
##                               preciom           
##                          (1)            (2)     
## ------------------------------------------------
## areaconst              2.165***      2.528***   
##                        (0.052)        (0.068)   
##                                                 
## Constant              39.047***      13.450***  
##                        (4.100)        (4.956)   
##                                                 
## ------------------------------------------------
## Observations            1,363          1,290    
## R2                      0.560          0.521    
## Adjusted R2             0.559          0.520    
## Residual Std. Error     43.339        37.139    
## F Statistic          1,730.157***  1,398.890*** 
## ================================================
## Note:                *p<0.1; **p<0.05; ***p<0.01

A pesar de que se aplico una transformacion a la base datos eliminando los Outlier o datos atipicos el R2 cuadrado quien es el que me mide la bondad de ajuste, no mejoro al contrario desmejoro porque paso de 55.9% a un 52%.

# Validacion del supuesto de Normalidad
shapiro.test(modeloprecio2$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modeloprecio2$residuals
## W = 0.98437, p-value = 1.434e-10

al aplicar el test de Shapiro Wilk, se observar el p-valor y sigue siendo inferior al p- critico del 0.05 por lo que rechaza la hipotesis nula de normalidad en los errores, por tanto este supuesto no se cumple en este segundo modelo.

# Test de Homocedasticidad
lmtest::bptest(modeloprecio2)
## 
##  studentized Breusch-Pagan test
## 
## data:  modeloprecio2
## BP = 134.6, df = 1, p-value < 2.2e-16

con el Test de Breusch Pagan para evaluar Homocedasticidad en los errores el P-Valor es similar que en el primer modelo, por lo que se concluye que tampoco se cumple con el supuesto de Hocomocedasticidad en este modelo.

# Test para detectar Problemas de Autocorrelacion
lmtest::dwtest(modeloprecio2)
## 
##  Durbin-Watson test
## 
## data:  modeloprecio2
## DW = 1.3071, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

Al observar el P-Valor del Test de Durbin Watson este es muy similar al que arrojo el primer modelo, sigue rechazando la hipotesis nula de no autocorrelacion de los errores, por tanto tampoco se cumple con el supuesto de no autocorrelacion. A continuacion se aplicara una transformaciom Box-Cox para encontrar el valor de Lambda que nos indicara que tipo de transformacion es necesaria aplicar en el modelo. nota: la transformacion Box-cox se le hizo pero a la base original con outlier ya que fue la que mejor bondad de ajuste tuvo.

bc<-boxcox(lm(apartamentos$preciom ~ apartamentos$areaconst), lambda = -1:1)

(lambda <- bc$x[which.max(bc$y)])
## [1] -0.1313131

teniendo en cuenta la transformacion Box-Cox, el valor de Lambda fue de 0.13 este valor es muy cercano a 0, lo que indica que la variable dependiente en este caso la Variable preciom, debe ser transformada en logaritmo, este paso se aplicara en el punto 10.

10 Punto 10

# estimacion de diferentes modelos
modelolinlin=lm(preciom ~ areaconst, data=apartamentos)
modelolinlog=lm(preciom ~ log(areaconst), data=apartamentos)
modelologlin=lm(log(preciom) ~ areaconst,data =apartamentos)
modelologlog=lm(log(preciom) ~ log(areaconst),data =apartamentos)

stargazer(modelolinlin, modelolinlog, modelologlin, modelologlog, type="text", df=FALSE)
## 
## =======================================================================
##                                     Dependent variable:                
##                     ---------------------------------------------------
##                              preciom                log(preciom)       
##                         (1)          (2)          (3)          (4)     
## -----------------------------------------------------------------------
## areaconst             2.165***                  0.009***               
##                       (0.052)                   (0.0002)               
##                                                                        
## log(areaconst)                    195.419***                 0.882***  
##                                    (4.445)                   (0.020)   
##                                                                        
## Constant             39.047***   -635.532***    4.551***     1.484***  
##                       (4.100)      (19.092)     (0.019)      (0.087)   
##                                                                        
## -----------------------------------------------------------------------
## Observations           1,363        1,363        1,363        1,363    
## R2                     0.560        0.587        0.520        0.582    
## Adjusted R2            0.559        0.587        0.519        0.582    
## Residual Std. Error    43.339       41.982       0.205        0.191    
## F Statistic         1,730.157*** 1,933.199*** 1,473.424*** 1,894.288***
## =======================================================================
## Note:                                       *p<0.1; **p<0.05; ***p<0.01

Al estimar diferentes modelos aplicando logaritmos tanto a la variable dependiente como a la independiente, se escogeran 2 modelos ya que es evidente que al aplicar logaritmos a la variable dependiente la escala de medicion cambia, por tanto no es conveniente ni compatible comparar todos los 4 modelos a la misma vez. por tanto los modelos que son equivalentes para comparar son 1 y 2, es decir el modelo lin-lin y el modelo lin-log de estos 2 el que mejor indicador de bondad de ajuste tuvo fue el modelo lin-log o el segundo modelo ya que paso de un R2 de 55.9% a un 58.7% ademas el error estandar de los residuos disminuyo pasando de un 43.339 a un 41.987. por otra parte comparando los modelos 3 y 4 es decir el modelo log-lin y el modelo log-log el que mejor indicador tuvo fue el modelo 4 es decir el modelo doble logaritmico ya que el R2 cuadrado paso de 51.9% a un 58.2% y el error estandar de los residuos disminuyo de 0.205 a 0.191.

11 Punto 11

Conclusiones y Recomendaciones de uso del modelo

A la luz de los resultados, como primera consideracion se recomienda que el area en metros construida de los apartamentos no supere mas de los 100 metros, ya que mas de ese tamaño no es garantia que los clientes paguen por el apartamento un buen precio.

como segunda consideracion, se recomienda que el precio de referencia por cada metro cuadrado construido que tengan los apartamentos este entre $ 2.060.000 y $ 2.260.000

tambien tener en cuenta que al momento de fijar el precio de los apartamentos, se incluya como un costo fijo el valor de $39.000.000, que fue el resultado que dio el coeficiente del \(\beta_0\) y que precisamente se interpreta en terminos economicos, como un costo fijo que tiene cada apartamento y que apartir de ese precio es que se debe ir calculando el precio de la vivienda dependiendo el area en metros construido.

por otra parte, se recomienda que el precio de las viviendas no supere los 300 millones de pesos, ya que analizando los graficos de dispersion y boxplot, mas de ese precio el numero de personas o clientes que estan dispuestos a pagar por un apartamento que tenga un mayor valor es un poco bajo, lo que podria generar mas tiempo al momento de vender ese tipo de apartamentos, y lo que se busca es mantener un flujo de caja y liquidez al vender apartamentos con mayor frecuencia.

se estimaron 4 modelos, para determinar cual es el que mejor se ajusta para determinar el precio de los apartamentos y si bien el modelo 1 que es un modelo lineal en todas sus variables, no fue el mejor modelo en bondad de ajuste, su desempeño se considera sobresaliente para tener una referencia en el precio de los apartamentos, ya que la diferencia entre el R2 cuadrado de este y de los demas modelos no es tan grande, solo difiere en 3 puntos porcentuales con respecto al mejor modelo que fue el modelo 2 y el modelo 4.

Teniendo en cuenta que la interpretacion de los resultados del modelo 1, es mucho mas facil que los otros modelos estimados, se recomienda que se utilice este modelo para fines de pronostico del precio de los apartamentos.

Finalmente se recomienda que se pueda estudiar la influencia de otras variables, como el estrato, la zona, algunas caracteristicas de los apartamentos como el numero de baños, habitaciones entre otras, que quizas puedan influir en el precio de los apartamentos y que puedan mejorar la precision en la estimacion de los resultados, de tal manera que la empresa pueda maximizar sus utilidades.