Introducción

En el dinámico mercado inmobiliario actual, la fijación precisa de precios es un factor crucial que puede determinar el éxito o fracaso en la negociación de propiedades. La Inmobiliaria A&C reconoce la importancia de contar con herramientas analíticas avanzadas para desarrollar un modelo predictivo que les permita estimar con precisión los precios de los inmuebles que gestionan. En este contexto, se han proporcionado datos detallados de ofertas de vivienda obtenidos del portal Fincaraiz, centrándonos específicamente en apartamentos de estrato 4 con una superficie construida inferior a 200 m².

El presente informe detalla el proceso metodológico seguido para la construcción de este modelo predictivo, que abarca desde la adquisición y exploración de los datos hasta la evaluación y ajuste del modelo final. A través de técnicas de análisis de datos, se busca proporcionar a la Inmobiliaria A&C una herramienta sólida que les permita tomar decisiones informadas en cuanto a la fijación de precios de los inmuebles que administran. Este informe presenta un resumen detallado de los pasos seguidos, los resultados obtenidos y las recomendaciones para la implementación y mejora continua del modelo desarrollado.

1. Análisis exploratorio

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.

Importación de librerías y datos

Primero se procede a la importación de librerías:

library(paqueteMETODOS)
library(dplyr)
library(ggplot2)
library(mice)
library(tidyverse)
library(ggmice)
library(plotly)
library(scales)
library(DescTools)
library(openxlsx)
library(stringi)
library(stargazer)

Ahora se procede a importar los datos:

data(vivienda4)

Análisis de la base de datos

El análisis, y si es necesario, la limpieza de datos, es esencial para asegurar resultados coherentes y precisos. Para comenzar, se analizará la cantidad de observaciones y variables en la base de datos actual.

dim(vivienda4)
## [1] 1706    5

La base de datos inicial consta de 1706 observaciones y 5 variables. A continuación, se presenta un resumen descriptivo de estas variables.

summary(vivienda4)
##            zona      estrato     preciom        areaconst     
##  Zona Centro :   8   3:   0   Min.   :207.4   Min.   : 40.00  
##  Zona Norte  : 288   4:1706   1st Qu.:230.7   1st Qu.: 60.00  
##  Zona Oeste  :  60   5:   0   Median :238.8   Median : 75.00  
##  Zona Oriente:   6   6:   0   Mean   :243.7   Mean   : 87.63  
##  Zona Sur    :1344            3rd Qu.:251.5   3rd Qu.: 98.00  
##                               Max.   :309.7   Max.   :200.00  
##           tipo     
##  Apartamento:1363  
##  Casa       : 343  
##                    
##                    
##                    
## 
summarytools::descr(vivienda4)
## Non-numerical variable(s) ignored: zona, estrato, tipo
## Descriptive Statistics  
## vivienda4  
## N: 1706  
## 
##                     areaconst   preciom
## ----------------- ----------- ---------
##              Mean       87.63    243.70
##           Std.Dev       36.35     19.56
##               Min       40.00    207.41
##                Q1       60.00    230.73
##            Median       75.00    238.77
##                Q3       98.00    251.51
##               Max      200.00    309.70
##               MAD       22.24     14.19
##               IQR       38.00     20.77
##                CV        0.41      0.08
##          Skewness        1.53      1.26
##       SE.Skewness        0.06      0.06
##          Kurtosis        1.68      1.25
##           N.Valid     1706.00   1706.00
##         Pct.Valid      100.00    100.00

Ahora se procede a filtrar los datos basándose en las consideraciones de tomar solo el tipo de vivienda apartamentos, estrato 4 y área construida menor a 200 m2.

data_estrato4_200m <- filter(vivienda4, tipo == "Apartamento", areaconst < 200, estrato == 4)
data_estrato4_200m
## # A tibble: 1,360 × 5
##    zona       estrato preciom areaconst tipo       
##    <fct>      <fct>     <dbl>     <dbl> <fct>      
##  1 Zona Norte 4          232.        52 Apartamento
##  2 Zona Norte 4          255.       108 Apartamento
##  3 Zona Sur   4          258.        96 Apartamento
##  4 Zona Norte 4          250.        82 Apartamento
##  5 Zona Norte 4          247.        75 Apartamento
##  6 Zona Norte 4          222.        60 Apartamento
##  7 Zona Norte 4          227.        84 Apartamento
##  8 Zona Norte 4          255.       117 Apartamento
##  9 Zona Norte 4          232.        60 Apartamento
## 10 Zona Norte 4          237.        75 Apartamento
## # ℹ 1,350 more rows

Se observa ahora que la base de datos consta de 1360 observaciones y 5 variables después del filtro. Al obtener nuevamente el resumen descriptivo de la base filtrada, se puede observar:

summarytools::descr(data_estrato4_200m)
## Non-numerical variable(s) ignored: zona, estrato, tipo
## Descriptive Statistics  
## data_estrato4_200m  
## N: 1360  
## 
##                     areaconst   preciom
## ----------------- ----------- ---------
##              Mean       75.20    237.54
##           Std.Dev       21.82     12.95
##               Min       40.00    207.41
##                Q1       60.00    228.78
##            Median       70.00    236.13
##                Q3       83.00    243.57
##               Max      198.00    300.45
##               MAD       14.83     10.95
##               IQR       23.00     14.78
##                CV        0.29      0.05
##          Skewness        1.94      1.14
##       SE.Skewness        0.07      0.07
##          Kurtosis        5.45      2.53
##           N.Valid     1360.00   1360.00
##         Pct.Valid      100.00    100.00

Este análisis indica que:

Variable areaconst

Media: El área construida promedio es de 75.20 metros cuadrados.

Desviación estándar: La desviación estándar es de 21.82 metros cuadrados, lo que indica que hay una variabilidad moderada en los tamaños de las áreas construidas.

Rango: Los valores van desde 40.00 hasta 198.00 metros cuadrados, mostrando un rango amplio en los tamaños de las áreas.

Mediana: La mediana es de 70.00 metros cuadrados, lo que indica que la mitad de las áreas construidas está por encima y por debajo de este valor.

IQR (rango intercuartil): La diferencia entre el tercer cuartil (83.00 metros cuadrados) y el primer cuartil (60.00 metros cuadrados) es de 23.00 metros cuadrados, indicando que el rango medio del 50% de los datos es moderado.

Coeficiente de variación: El CV de 0.29 muestra cierta variabilidad en los datos en relación con la media.

Sesgo: 1.94 sugiere una asimetría positiva (hacia la derecha), indicando que hay más valores altos que bajos en los datos.

Kurtosis: 5.45 indica que la distribución es leptocúrtica, lo que significa que los datos tienen una forma más alta y con colas más largas en comparación con una distribución normal.

Variable preciom

Media: El precio promedio es de 237.54 millones de pesos.

Desviación estándar: La desviación estándar es de 12.95 millones de pesos, lo que indica que hay una variabilidad baja en los precios.

Rango: Los valores van desde 207.41 hasta 300.45 millones de pesos, mostrando un rango moderado en los precios.

Mediana: La mediana es de 236.13 millones de pesos, lo que indica que la mitad de los precios está por encima y por debajo de este valor, es decir el 50% de las viviendas tienen un precio menor o igual a 236.13 millones.

IQR (rango intercuartil): La diferencia entre el tercer cuartil (243.57 millones de pesos) y el primer cuartil (228.78 millones de pesos) es de 14.78 millones de pesos, lo que indica un rango intermedio del 50% de los datos es estrecho.

Coeficiente de variación: El CV de 0.05 indica una baja variabilidad en los datos en relación con la media.

Sesgo: 1.14 sugiere una asimetría positiva (hacia la derecha), lo que indica que hay más valores altos que bajos en los datos.

Kurtosis: 2.53 indica una distribución ligeramente alta con colas más largas en comparación con una distribución normal.

Análisis gráfico

ggplotly(ggplot(data_estrato4_200m, mapping = aes(x = "", y = preciom))+
  geom_boxplot()+
  coord_flip()+
  labs(title = "Distribucion de precio en millones",
       x = "Preciom",
       y = "Precio en millones")+
  theme_minimal())

Se puede observar que la distribución de la caja es prácticamente simétrica, donde la mediana se sitúa en el centro. Además, la distancia entre los límites o bigotes respecto a la media es simétrica, lo que reafirma una baja variabilidad en los datos.

Ahora se realiza un análisis de la variable área construida.

ggplotly(ggplot(data_estrato4_200m, mapping = aes(x = "", y = areaconst))+
  geom_boxplot()+
  coord_flip()+
  labs(title = "Distribucion de area construida en m2",
       x = "Area",
       y = "Area construida en m2")+
  theme_minimal())

Se puede observar que existe variabilidad en los datos, puesto que la mediana de la caja no es simétrica respecto a Q1 y Q3. Asimismo, en relación a los límites inferior y superior, se puede apreciar que se aproxima más al límite inferior y se aleja del límite superior, lo que reafirma la variabilidad de los datos, como se mencionaba en el resumen descriptivo.

2.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 (área construida) - incluir gráficos e indicadores apropiados interpretados.**

ggplotly(ggplot(data = data_estrato4_200m)+
  geom_point(mapping = aes(x=areaconst, y = preciom), color = "blue"))
cor(data_estrato4_200m$areaconst,data_estrato4_200m$preciom)
## [1] 0.8370114

Al generar el coeficiente de correlación y según la tabla de clasificación de la relación lineal entre las variables, se observa que la variable área construida y el precio en millones de la vivienda tienen una relación lineal positiva fuerte, es decir, que a mayor área construida de la vivienda, mayor será su precio.

3.Estime el 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.**

mod = lm(preciom ~areaconst, data = data_estrato4_200m)
summary(mod)
## 
## Call:
## lm(formula = preciom ~ areaconst, data = data_estrato4_200m)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -26.4010  -5.0783  -0.0175   4.6173  24.3353 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 2.002e+02  6.899e-01  290.15   <2e-16 ***
## areaconst   4.967e-01  8.811e-03   56.37   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.087 on 1358 degrees of freedom
## Multiple R-squared:  0.7006, Adjusted R-squared:  0.7004 
## F-statistic:  3178 on 1 and 1358 DF,  p-value: < 2.2e-16

Por lo tanto, el modelo de regresión lineal simple sería: precio = 200.2 + 0.49 * áreaconst. Esto nos indica que para el coeficiente B0, si el área construida fuera igual a 0, el precio en millones de la vivienda sería de 200.2 millones. Ahora, para el coeficiente B1, lo que nos quiere decir es que por cada unidad de área construida, el precio en millones de la vivienda incrementaría en 0.49 millones.Además se puede observar que las Betas son significativas, menores al nivel de significancia(5%), es decir que son relevantes para el modelo y diferente de 0.(p≠0)

4.Intervalo de confianza(95%)

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.**

confint(mod)
##                   2.5 %      97.5 %
## (Intercept) 198.8328481 201.5398110
## areaconst     0.4794099   0.5139806

Esto quiere decir que para la pendiente B1 se puede interpretar que por cada metro cuadrado de área construida, el precio estimado de la vivienda aumenta entre 0.47 y 0.51 millones, con una confianza del 95%.

5. Indicador de bondad R²

Calcule e interprete el indicador de bondad o determinación R2**

r_squared <- summary(mod)$r.squared
r_squared
## [1] 0.700588

Esto indica que el modelo explica el 70.05% de la variación de Y(precio en millones).

6. Precio promedio estimado

¿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(mod, newdata = data.frame(areaconst = 110))
##        1 
## 254.8228

Esto indica que el precio promedio estimado para un apartamento de 110 metros cuadrados es de 254.82 millones de pesos. Al analizar estos resultados, se observa que un apartamento en la misma zona por un precio de 200 millones sería una oferta atractiva, ya que es un valor menor al estimado.

7.Realice la validación de supuestos

Realice la validación de los supuestos del modelo por medio de gráficos apropiados, interpretarlos y sugerir posibles soluciones si se violan algunos de ellos. Utilice las pruebas de hipótesis para la validación de supuestos y compare los resultados con lo observado en los gráficos asociados.**

plot(mod)

Pruebas de hipótesis

Se establece el nivel de significancia que se acepta como evidencia suficiente para aceptar o rechazar la hipótesis nula, en este caso un valor de alfa de 0.05(5%)

Normalidad

shapiro.test(mod$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mod$residuals
## W = 0.99883, p-value = 0.5243

Dado que el valor p (0.5243) es mayor que el nivel de significancia de 0.05, no hay evidencia suficiente para rechazar la hipótesis nula de que los datos siguen una distribución normal, por lo tanto se acepta la hipótesis nula de normalidad.

Homoscedasticidad

lmtest::bptest(mod)
## 
##  studentized Breusch-Pagan test
## 
## data:  mod
## BP = 0.47718, df = 1, p-value = 0.4897

En este caso con el valor p(0.4897) es mayor que el nivel de significancia de 0.05, por lo tanto no hay evidencia suficiente para rechazar la hipótesis nula de que los residuos tienen una varianza constante(homoscedasticidad) y se acepta la hipótesis nula de homoscedasticidad.

No autocorrelación

lmtest::dwtest(mod)
## 
##  Durbin-Watson test
## 
## data:  mod
## DW = 2.0219, p-value = 0.6536
## alternative hypothesis: true autocorrelation is greater than 0

En este caso, el valor de DW(Estadístico de prueba de Durbin-Watson) es 2.0219, que está muy cerca de 2, lo que sugiere que no hay autocorrelación en los residuos del modelo. Además, el valor p es 0.6536, que es considerablemente mayor que el nivel de significancia de 0.05. Esto significa que no hay evidencia suficiente para rechazar la hipótesis nula de no autocorrelación y se acepta la hipótesis nula de no autocorrelación.

Se puede concluir que este modelo satisface los supuestos mencionados anteriormente, por lo tanto, sería la mejor opción hasta el momento. A continuación, se intenta realizar alguna transformación al modelo original para observar si haciendo estas transformaciones se mejoran los supuestos del modelo.

8.Realice una transformación apropiada

De ser necesario realice una transformación apropiada para mejorar el ajuste y supuestos del modelo.**

mod1 = lm(preciom ~ areaconst, data = data_estrato4_200m) # Lin - Lin
mod2 = lm(preciom ~ log(areaconst), data = data_estrato4_200m) # Lin - Log
mod3 = lm(log(preciom) ~ areaconst, data = data_estrato4_200m) # Log - Lin
mod4 = lm(log(preciom) ~ log(areaconst), data = data_estrato4_200m) # Log - Log
stargazer(mod1, mod2, mod3, mod4, type="text", df=FALSE)
## 
## =======================================================================
##                                     Dependent variable:                
##                     ---------------------------------------------------
##                              preciom                log(preciom)       
##                         (1)          (2)          (3)          (4)     
## -----------------------------------------------------------------------
## areaconst             0.497***                  0.002***               
##                       (0.009)                  (0.00004)               
##                                                                        
## log(areaconst)                    42.112***                  0.172***  
##                                    (0.801)                   (0.003)   
##                                                                        
## Constant             200.186***   57.054***     5.318***     4.733***  
##                       (0.690)      (3.437)      (0.003)      (0.014)   
##                                                                        
## -----------------------------------------------------------------------
## Observations           1,360        1,360        1,360        1,360    
## R2                     0.701        0.671        0.682        0.663    
## Adjusted R2            0.700        0.671        0.681        0.662    
## Residual Std. Error    7.087        7.432        0.030        0.031    
## F Statistic         3,177.556*** 2,766.449*** 2,906.067*** 2,667.104***
## =======================================================================
## Note:                                       *p<0.1; **p<0.05; ***p<0.01

Al analizar los valores, se podría concluir que el primer modelo es el mejor debido a su R², pero eso no es suficiente. También es necesario determinar cuál de los escenarios valida mejor los supuestos del modelo. Para ello, se evaluará esta validación tanto gráficamente como a través de pruebas de hipótesis para los modelos (2), (3) y (4).

9 y 10. Compare el ajuste y supuestos del modelado inicial. Estime varios modelos.

De ser necesario compare el ajuste y supuestos del modelo inicial y el transformado. Estime varios modelos y compare los resultados obtenidos. En el mejor de los modelos, ¿se cumplen los supuestos sobre los errores?

Modelo 2 con R²: 0.671

plot(mod2)

El análisis gráfico muestra un patrón en los residuos, lo que indica que los errores no son independientes, como se busca.

Ahora al analizar con pruebas de hipótesis:

Pruebas de hipótesis

Normalidad

shapiro.test(mod2$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mod2$residuals
## W = 0.99736, p-value = 0.02368

El valor p es 0.02368, menor que el nivel de significancia utilizado (0.05), lo que indica que hay suficiente evidencia para rechazar la hipótesis nula de que los datos siguen una distribución normal, por ende no se acepta la hipótesis nula de normalidad.

Homoscedasticidad

lmtest::bptest(mod2)
## 
##  studentized Breusch-Pagan test
## 
## data:  mod2
## BP = 7.6515, df = 1, p-value = 0.005672

En este caso, el valor p es 0.005672, que es menor que el nivel de significancia utilizado(0.05). Esto significa que hay suficiente evidencia para rechazar la hipótesis nula de que los residuos tienen una varianza constante (homoscedasticidad), por lo tanto, se puede concluir que los residuos del modelo (mod2) no son homoscedásticos, es decir, la varianza de los residuos no es constante a lo largo de los niveles de las variables independientes.

No autocorrelación

lmtest::dwtest(mod2)
## 
##  Durbin-Watson test
## 
## data:  mod2
## DW = 1.9505, p-value = 0.1778
## alternative hypothesis: true autocorrelation is greater than 0

El valor de Durbin-Watson es 1.9505, lo que está muy cerca de 2 y sugiere que los residuos del modelo no presentan autocorrelación significativa. Además, el valor p es 0.1778, considerablemente mayor que el nivel de significancia comúnmente utilizado de 0.05, lo que indica que no hay evidencia suficiente para rechazar la hipótesis nula de no autocorrelación. Por lo tanto, se puede aceptar la hipótesis nula de que los residuos no presentan autocorrelación.

Modelo 3 con R²: 0.682

plot(mod3)

Ahora se analiza con pruebas de hipótesis:

Pruebas de hipótesis

Normalidad

shapiro.test(mod3$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mod3$residuals
## W = 0.99904, p-value = 0.7137

El valor p es 0.7137, considerablemente mayor que el nivel de significancia comúnmente utilizado de 0.05. Esto indica que no hay evidencia suficiente para rechazar la hipótesis nula de que los datos siguen una distribución normal.

Homoscedasticidad

lmtest::bptest(mod3)
## 
##  studentized Breusch-Pagan test
## 
## data:  mod3
## BP = 5.8661, df = 1, p-value = 0.01544

El valor p obtenido del test de Breusch-Pagan para el modelo mod3 es de 0.01544, lo cual es menor que el nivel de significancia utilizado de 0.05. Por lo tanto, hay suficiente evidencia para rechazar la hipótesis nula de que los residuos tienen una varianza constante (homoscedasticidad). Este resultado sugiere que los residuos del modelo podrían no cumplir con el supuesto de homoscedasticidad, lo que podría afectar la validez de los resultados obtenidos.

No autocorrelación

lmtest::dwtest(mod3)
## 
##  Durbin-Watson test
## 
## data:  mod3
## DW = 2.0218, p-value = 0.6523
## alternative hypothesis: true autocorrelation is greater than 0

El valor de Durbin-Watson (DW) obtenido para el modelo es de 2.0218, cercano al ideal de 2, lo que indica una falta de autocorrelación significativa en los residuos. Además, el valor p es 0.6523, mayor que el nivel de significancia de 0.05, lo que sugiere que no hay evidencia suficiente para rechazar la hipótesis nula de no autocorrelación.

Modelo 4 con R²: 0.663

plot(mod4)

Ahora se analiza con pruebas de hipótesis:

Pruebas de hipótesis

Normalidad

shapiro.test(mod4$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mod4$residuals
## W = 0.99855, p-value = 0.3145

El valor p es 0.3145, mayor que el nivel de significancia utilizado de 0.05. Esto indica que no hay evidencia suficiente para rechazar la hipótesis nula de que los datos siguen una distribución normal.

Homoscedasticidad

lmtest::bptest(mod4)
## 
##  studentized Breusch-Pagan test
## 
## data:  mod4
## BP = 0.83834, df = 1, p-value = 0.3599

El test de Breusch-Pagan para el modelo mod4 arrojó un valor de estadístico BP de 0.83834 con 1 grado de libertad y un valor p de 0.3599. Dado que el valor p es mayor que el nivel de significancia utilizado de 0.05, no hay suficiente evidencia para rechazar la hipótesis nula de homoscedasticidad.

No autocorrelación

lmtest::dwtest(mod4)
## 
##  Durbin-Watson test
## 
## data:  mod4
## DW = 1.9678, p-value = 0.2727
## alternative hypothesis: true autocorrelation is greater than 0

El test de Durbin-Watson para el modelo mod4 arrojó un valor de estadístico DW de 1.9678, y un valor p asociado de 0.2727. Dado que el valor p es mayor que el nivel de significancia utilizado de 0.05, no hay suficiente evidencia para rechazar la hipótesis nula de no autocorrelación.

Transformación Box-Cox

mod1 = lm(preciom ~ areaconst, data = data_estrato4_200m)
summary(mod1)
## 
## Call:
## lm(formula = preciom ~ areaconst, data = data_estrato4_200m)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -26.4010  -5.0783  -0.0175   4.6173  24.3353 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 2.002e+02  6.899e-01  290.15   <2e-16 ***
## areaconst   4.967e-01  8.811e-03   56.37   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.087 on 1358 degrees of freedom
## Multiple R-squared:  0.7006, Adjusted R-squared:  0.7004 
## F-statistic:  3178 on 1 and 1358 DF,  p-value: < 2.2e-16
par(mfrow = c(1,2))
boxcox(lm(preciom ~ areaconst, data = data_estrato4_200m), lambda = -3:3)
bc<-boxcox(lm(preciom ~ areaconst, data = data_estrato4_200m), lambda = -1:1)

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

Se observa que el lambda es igual a 1 por lo tanto esto sugiere que no es necesario hacer ninguna transformación para la generación de un mejor modelo que valide todos los supuestos.

Conclusiones

1. El análisis exploratorio de los datos reveló que la relación entre el precio de la vivienda y el área construida es positiva y fuerte, lo que sugiere que a medida que aumenta el área construida, también lo hace el precio de la vivienda.

2. La construcción de un modelo de regresión lineal simple confirmó esta relación, mostrando que por cada metro cuadrado adicional de área construida, el precio de la vivienda aumenta en aproximadamente 0.49 millones de pesos.

3.La validación de los supuestos del modelo mostró que el modelo inicial satisface todos los supuestos, incluida la normalidad, homogeneidad de la varianza y falta de autocorrelación en los residuos.

4.Sin embargo, al explorar modelos alternativos con transformaciones logarítmicas en las variables, se encontraron algunos problemas, como la falta de homogeneidad de la varianza en el modelo log-lineal.

5.A pesar de estos hallazgos, no se encontró evidencia suficiente para justificar una transformación de las variables, ya que el modelo inicial seguía siendo el más adecuado en términos de ajuste y validez de los supuestos.

6.Por lo tanto, se recomienda utilizar el modelo de regresión lineal simple inicial para predecir los precios de las viviendas en función del área construida, ya que ofrece un buen ajuste y cumple con los supuestos del modelo.

7.Es importante tener en cuenta que, aunque este modelo proporciona una estimación razonable de los precios de las viviendas, también puede haber otros factores importantes a considerar en la fijación de precios, como la ubicación, las características específicas de la propiedad y las condiciones del mercado inmobiliario.