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
R.
# instalacion de paqueteMETODOS que contiene datos vivienda4
#devtools::install_github("dgonxalex80/paqueteMETODOS")
library(paqueteMETODOS)
## Loading required package: cubature
## Loading required package: GGally
## Loading required package: ggplot2
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
## Loading required package: MASS
## Loading required package: summarytools
## Loading required package: psych
##
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
## Loading required package: tidyverse
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ psych::%+%() masks ggplot2::%+%()
## ✖ psych::alpha() masks ggplot2::alpha()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ✖ dplyr::select() masks MASS::select()
## ✖ tibble::view() masks summarytools::view()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data(vivienda4)
Analisis Precio
# HISTOGRAMA
par(mfrow = c(1, 2))
hist(vivienda4$preciom, breaks = 20, main = "Histograma de Precio",
xlab = "Millones de Pesos (COP)", col = "lavender",border = "purple")
# DIAGRAMA DE CAJA
boxplot_params <- list(
xlab = "Millones de Pesos (COP)",
ylab = "Valores",
col = "lavender", # Color de las cajas
border = "purple", # Color de los bordes de las cajas
main = bquote(paste("Diagrama de Caja para Precio",)) # Título del diagrama
)
boxplot(vivienda4$preciom , main = boxplot_params$main, xlab = boxplot_params$xlab, ylab = boxplot_params$ylab, col = boxplot_params$col, border = boxplot_params$border)
summary(vivienda4$preciom)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 78.0 160.0 210.0 225.4 265.0 760.0
Mínimo (Min): El precio mínimo registrado es de 78 millones de pesos COP.
Primer Cuartil (1st Qu.): El 25% de las viviendas tienen un precio menor o igual a 160 millones de pesos COP.
Mediana (Median): La mediana (o segundo cuartil) es de 210 millones de pesos COP. Esto significa que el 50% de las viviendas tienen un precio menor o igual a este valor, y el 50% restante tienen un precio mayor.
Media (Mean): La media aritmética (promedio) de los precios es de aproximadamente 225.4 millones de pesos COP. Esto indica que si sumáramos todos los precios y los dividiéramos por el número de observaciones, obtendríamos este valor.
Tercer Cuartil (3rd Qu.): El 75% de las viviendas tienen un precio menor o igual a 265 millones de pesos COP.
Máximo (Max): El precio máximo registrado es de 760 millones de pesos COP.
**Analisis Area**
```r
# HISTOGRAMA
par(mfrow = c(1, 2))
hist(vivienda4$areaconst, breaks = 20, main = "Histograma de Área",
xlab = "Área (metros cuadrados)", col = "lavender",border = "purple")
# DIAGRAMA DE CAJA
boxplot_params <- list(
xlab = "Área (metros cuadrados)",
ylab = "Valores",
col = "lavender", # Color de las cajas
border = "purple", # Color de los bordes de las cajas
main = bquote(paste("Diagrama de Caja para Area")) # Título del diagrama
)
boxplot(vivienda4$areaconst , main = boxplot_params$main, xlab = boxplot_params$xlab, ylab = boxplot_params$ylab, col = boxplot_params$col, border = boxplot_params$border)
summary(vivienda4$areaconst)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 40.00 60.00 75.00 87.63 98.00 200.00
Mínimo (Min): El área mínima registrada es de 40 metros cuadrados.
Primer Cuartil (1st Qu.): El 25% de las viviendas tienen un área construida menor o igual a 60 metros cuadrados.
Mediana (Median): La mediana (o segundo cuartil) es de 75 metros cuadrados. Esto significa que el 50% de las viviendas tienen un área construida menor o igual a este valor, y el 50% restante tienen un área mayor.
Media (Mean): La media aritmética (promedio) del área construida es de aproximadamente 87.63 metros cuadrados. Esto indica que si sumáramos todas las áreas construidas y las dividiéramos por el número de observaciones, obtendríamos este valor.
Tercer Cuartil (3rd Qu.): El 75% de las viviendas tienen un área construida menor o igual a 98 metros cuadrados.
Máximo (Max): El área construida máxima registrada es de 200 metros cuadrados.
# Gráfico de dispersión
fit <- lm(vivienda4$preciom ~ vivienda4$areaconst)
plot(vivienda4$areaconst, vivienda4$preciom, main="", col="purple", pch=16,
xlab=iconv("Área construida", to = "UTF-8"),
ylab=iconv("Precio", to = "UTF-8"))
abline(lm(vivienda4$preciom ~ vivienda4$areaconst), col="red", lwd=3)
mtext(iconv("Área construida", to = "UTF-8"), side=1, line=3)
mtext(iconv("Precio", to = "UTF-8"), side=2, line=3)
lines(lowess(vivienda4$areaconst, vivienda4$preciom), col = "blue", lwd = 3)
legend("topleft", legend = c("Lineal", "Suavizado"),
lwd = 3, lty = c(1, 1), col = c("red", "blue"))
coef_r = cor(vivienda4$areaconst, vivienda4$preciom)
print( paste('El coeficiente de correlación de Pearson entre Precio (x) vs. Área Construida (y), es: ', coef_r) )
## [1] "El coeficiente de correlación de Pearson entre Precio (x) vs. Área Construida (y), es: 0.763016627167918"
El coeficiente de correlación de Pearson (r=0.763) entre el precio y el área construida indica una correlación positiva fuerte entre estas dos variables. Lo que significa que hay una tendencia de aumento en el precio a medida que el área construida aumenta. Por lo tanto, las viviendas con áreas construidas más grandes tienden a tener precios más altos.
# modelo
modelo1 <- lm(preciom ~ areaconst, data= vivienda4)
# Prueba de hipótesis para β1
# Se utiliza el estadístico t y se compara con el valor crítico
t_test <- summary(modelo1)$coef["areaconst", "t value"]
grados_libertad <- df.residual(modelo1)
p_valor <- 2 * (1 - pt(abs(t_test), df = grados_libertad))
# Impresión de resultados
cat("Estadístico t:", t_test, "\n")
## Estadístico t: 48.72834
cat("Grados de libertad:", grados_libertad, "\n")
## Grados de libertad: 1704
cat("Valor p:", p_valor, "\n")
## Valor p: 0
# Comparación con un nivel de significancia (alpha) específico
alpha <- 0.05
if (p_valor < alpha) {
cat("Rechazamos H0: Hay evidencia suficiente para afirmar que hay una relación lineal entre Precio y Área Construida.\n")
} else {
cat("No rechazamos H0: No hay evidencia suficiente para afirmar que hay una relación lineal entre Precio y Área Construida.\n")
}
## Rechazamos H0: Hay evidencia suficiente para afirmar que hay una relación lineal entre Precio y Área Construida.
# Resumen del modelo
summary(modelo1)
##
## Call:
## lm(formula = preciom ~ areaconst, data = vivienda4)
##
## Residuals:
## Min 1Q Median 3Q Max
## -195.86 -31.95 -8.95 27.87 431.17
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 67.381 3.510 19.20 <2e-16 ***
## areaconst 1.803 0.037 48.73 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 55.53 on 1704 degrees of freedom
## Multiple R-squared: 0.5822, Adjusted R-squared: 0.5819
## F-statistic: 2374 on 1 and 1704 DF, p-value: < 2.2e-16
Prueba de Hipótesis sobre el Coeficiente de Regresión β1:
Modelo de Regresión Lineal:
Residuos:
Coeficientes:
Intercepto (\(β_0\)): 67.381. Esto es el valor esperado del precio cuando el área construida es cero (que puede no tener una interpretación realista en este contexto).
Coeficiente de Área Construida (\(β_1\)): 1.803. Indica que, manteniendo todas las demás variables constantes, por cada unidad adicional de área construida, se espera un aumento de 1.803 unidades en el precio.
Estadísticos de Significancia:
Bondad de Ajuste:
El F-estadístico
El modelo de regresión lineal es estadísticamente significativo y parece proporcionar un buen ajuste a los datos. La relación positiva entre el precio y el área construida es fuerte, y el modelo explica alrededor del 58.22% de la variabilidad en el precio.
confint(modelo1, level=0.95)
## 2.5 % 97.5 %
## (Intercept) 60.496208 74.265055
## areaconst 1.730404 1.875547
Intercepto (\(β_0\)):
Coeficiente de Área Construida (\(β_1\)):
En en promedio, por cada metro cuadrado adicional de área construida, el precio aumenta entre 1.73 y 1.88 millones de pesos COP, manteniendo todas las demás variables constantes. En general, estos hallazgos respaldan la idea de que el tamaño de la vivienda es un factor significativo en la determinación del precio.
# R cuadrado
r=summary(modelo1)$r.squared
print( paste("Coeficiente de determinación (r): ", r) )
## [1] "Coeficiente de determinación (r): 0.582194373334701"
\(R^2\) = 0.582 nos dice que el modelo de regresión lineal simple que hemos ajustado explica una porción significativa de la variación en los precios de las viviendas en función de su área construida. Sin embargo, esto también significa que aproximadamente el 41.78% de la variación en el precio no está siendo explicada por el tamaño de la vivienda.
# Predicción
nuevos_datos <- data.frame(areaconst = 110)
prediccion <- predict(modelo1, newdata = nuevos_datos, interval = "confidence")
Predicción de Precio para un Área de 110 Metros Cuadrados:
Según el modelo de regresión lineal, se estima que el precio de una vivienda con un área construida de 110 metros cuadrados es de alrededor de 265.71 millones de pesos COP.
Intervalo de Confianza del 95%:
El intervalo de confianza del 95% proporciona un rango para el precio de la vivienda. En este caso, el intervalo es de [262.61, 268.80] millones de pesos COP.
Por lo tanto podemos decir con un 95% de confianza que el precio de una vivienda con un área construida de 110 metros cuadrados probablemente se encuentra en el rango de 262.61 a 268.80 millones de pesos COP.
# Gráficos de diagnóstico
residuos <- residuals(modelo1)
par(mfrow = c(2,2))
plot(modelo1, col="purple")
#Homocedasticidad
par(mfrow=c(1,1))
plot(
fitted(modelo1),
residuos,
xlab = "Predicted values",
ylab = "Residuals",
main = "Residuals vs. Predicted values",
col="purple"
)
abline(h = 0, col = 'red')
lmtest::bptest(modelo1)
##
## studentized Breusch-Pagan test
##
## data: modelo1
## BP = 152.8, df = 1, p-value < 2.2e-16
##No autorrelación
lmtest::dwtest(modelo1)
##
## Durbin-Watson test
##
## data: modelo1
## DW = 1.6713, p-value = 5.124e-12
## alternative hypothesis: true autocorrelation is greater than 0
Análisis de Varianza:
Los residuos no siguen un patrón aleatorio, lo que quiere decir, que la relación entre el precio y el área construida de la vivienda no es una asociación lineal perfecta, a diferencia de lo que indica la gráfica de dispersión.
Normalidad de los Residuos:
La mayoría de los datos no se ajustan de forma exacta a la línea de normalidad del QQ-Plot, Por lo tanto, el supuesto de normalidad no se cumple por completo.
Linealidad:
El modelo de regresión asume que la relación entre la variable predictora (área construida) y la variable de respuesta (precio) es lineal. Esto es evidente en la curva roja, por lo tanto, este supuesto se cumple, a pesar de que no es completamente lineal.
Heterocedasticidad:
La prueba de Breusch-Pagan sugiere que hay heterocedasticidad en los residuos. Lo que quiere decir, que la varianza de los errores no es constante a lo largo de los valores.
Autocorrelación:
La prueba de Durbin-Watson sugiere que hay autocorrelación positiva en los residuos. Esto indica que hay patrones sistemáticos de dependencia entre los errores. Por lo tanto, los errores no son independientes entre sí.
Despues de estos analisis, el modelo de regresión actual no cumple con algunos de los supuestos clave de la regresión lineal. Esto puede afectar la validez de las inferencias realizadas y la precisión de las predicciones del modelo. Para abordar estos problemas, podriamos tener encuenta técnicas como transformaciones de variables, inclusión de variables adicionales o la exploración de otros tipos de modelos.
# Paso 1: Estimar varios modelos
# Modelo de regresión polinómica (grado 2)
modelo2 <- lm(preciom ~ poly(areaconst, 2), data = vivienda4)
# Comparar los resultados
# Comparar R^2 de ambos modelos
r2_modelo1 <- summary(modelo1)$r.squared
r2_modelo2 <- summary(modelo2)$r.squared
cat("R^2 del Modelo Lineal Simple:", r2_modelo1, "\n")
## R^2 del Modelo Lineal Simple: 0.5821944
cat("R^2 del Modelo Polinómico (Grado 2):", r2_modelo2, "\n")
## R^2 del Modelo Polinómico (Grado 2): 0.6107014
# Evaluar la Significancia Estadística
# Comprobamos la significancia de los coeficientes
summary(modelo1)
##
## Call:
## lm(formula = preciom ~ areaconst, data = vivienda4)
##
## Residuals:
## Min 1Q Median 3Q Max
## -195.86 -31.95 -8.95 27.87 431.17
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 67.381 3.510 19.20 <2e-16 ***
## areaconst 1.803 0.037 48.73 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 55.53 on 1704 degrees of freedom
## Multiple R-squared: 0.5822, Adjusted R-squared: 0.5819
## F-statistic: 2374 on 1 and 1704 DF, p-value: < 2.2e-16
summary(modelo2)
##
## Call:
## lm(formula = preciom ~ poly(areaconst, 2), data = vivienda4)
##
## Residuals:
## Min 1Q Median 3Q Max
## -196.94 -26.94 -3.88 23.54 420.66
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 225.375 1.298 173.61 <2e-16 ***
## poly(areaconst, 2)1 2705.919 53.619 50.47 <2e-16 ***
## poly(areaconst, 2)2 -598.765 53.619 -11.17 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 53.62 on 1703 degrees of freedom
## Multiple R-squared: 0.6107, Adjusted R-squared: 0.6102
## F-statistic: 1336 on 2 and 1703 DF, p-value: < 2.2e-16
Modelo Lineal Simple (1er Modelo):
\(R^2\) : 0.5822
Coeficiente de Área Construida: 1.803
p-valor del coeficiente de Área Construida: \(<2.2×10^{−16}\)
Modelo de Regresión Polinómica (2do Modelo):
\(R^2\): 0.6107
Coeficientes:
Intercepto: 225.375
Área Construida (Grado 1): 2705.919
Área Construida (Grado 2): -598.765
p-valores de los coeficientes: \(<2.2×10^{−16}\) para todos los coeficientes
Comparación de \(R^2\):
Interpretación de Coeficientes:
Significancia Estadística:
Ajuste del Modelo:
Dado que el segundo modelo tiene un \(R^2\) mejor y parece ajustarse un poco mejor a los datos, podemos considerarlo como el modelo que mas se ajusta.
# Modelo de Regresión Logarítmica
modelo_log <- lm(log(preciom) ~ areaconst, data = vivienda4)
# Modelo de Regresión Exponencial
modelo_exp <- lm(preciom ~ exp(areaconst), data = vivienda4)
# Comparar modelos
r2_modelo_log <- summary(modelo_log)$r.squared
r2_modelo_exp <- summary(modelo_exp)$r.squared
# Validar supuestos para el mejor modelo
residuos_modelo_log <- resid(modelo_log)
residuos_modelo_exp <- resid(modelo_exp)
# Gráficos de residuos
par(mfrow=c(2,2))
plot(modelo_log)
plot(modelo_exp)
par(mfrow=c(1,1))
# Prueba de Breusch-Pagan para homocedasticidad
bptest(modelo_log)
##
## studentized Breusch-Pagan test
##
## data: modelo_log
## BP = 53.271, df = 1, p-value = 2.906e-13
bptest(modelo_exp)
##
## studentized Breusch-Pagan test
##
## data: modelo_exp
## BP = 3.0168, df = 1, p-value = 0.08241
# Prueba de Durbin-Watson para autocorrelación
durbinWatsonTest(modelo_log)
## lag Autocorrelation D-W Statistic p-value
## 1 0.2485299 1.500622 0
## Alternative hypothesis: rho != 0
durbinWatsonTest(modelo_exp)
## lag Autocorrelation D-W Statistic p-value
## 1 0.2660013 1.467382 0
## Alternative hypothesis: rho != 0
# Transformaciones (exponencial)
install.packages("forecast")
##
## The downloaded binary packages are in
## /var/folders/00/hzslbjc94wsgnz06_glrrj3r0000gn/T//RtmpwOdwPj/downloaded_packages
# Cargar el paquete
library(forecast)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
# Crear una serie temporal a partir de los residuos del modelo exponencial
serie_temporal <- ts(residuos_modelo_exp)
# Ajustar un modelo ARIMA a la serie temporal
modelo_arima <- auto.arima(serie_temporal)
# Ver los resultados del modelo ARIMA
summary(modelo_arima)
## Series: serie_temporal
## ARIMA(4,0,1) with zero mean
##
## Coefficients:
## ar1 ar2 ar3 ar4 ma1
## 1.0151 -0.0625 0.0474 -0.0601 -0.8322
## s.e. 0.0674 0.0365 0.0350 0.0314 0.0622
##
## sigma^2 = 5825: log likelihood = -9813.81
## AIC=19639.61 AICc=19639.66 BIC=19672.26
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -0.04624227 76.21093 57.38715 89.31664 157.2881 0.8447553
## ACF1
## Training set 0.000365885
# Pronosticar los residuos del modelo ARIMA
pronostico_residuos <- forecast(modelo_arima, h = length(serie_temporal))
# Añadir los pronósticos de los residuos al modelo original
modelo_final <- update(modelo_exp, residuos = serie_temporal - as.numeric(pronostico_residuos$mean))
## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
## extra argument 'residuos' will be disregarded
# Ver los resultados del modelo final
summary(modelo_final)
##
## Call:
## lm(formula = preciom ~ exp(areaconst), data = vivienda4, residuos = serie_temporal -
## as.numeric(pronostico_residuos$mean))
##
## Residuals:
## Min 1Q Median 3Q Max
## -153.11 -62.59 -11.59 38.41 538.41
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.216e+02 1.991e+00 111.27 <2e-16 ***
## exp(areaconst) 2.858e-85 2.070e-86 13.81 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 81.47 on 1704 degrees of freedom
## Multiple R-squared: 0.1006, Adjusted R-squared: 0.1001
## F-statistic: 190.7 on 1 and 1704 DF, p-value: < 2.2e-16
Modelo Logarítmico:
Prueba de Breusch-Pagan (homocedasticidad):
Estadístico BP: 53.271
Grados de libertad (df): 1
Valor p: \(2.906×10^{−13}\)
Existe evidencia suficiente para rechazar la hipótesis nula de homocedasticidad. Esto indica que los errores tienen varianzas desiguales.
Prueba de Durbin-Watson (autocorrelación):
Estadístico D-W: 1.500622
Valor p: 0
Existe evidencia suficiente para rechazar la hipótesis nula de ausencia de autocorrelación. Esto indica que los errores están autocorrelacionados.
Modelo Exponencial:
Prueba de Breusch-Pagan (homocedasticidad):
Estadístico BP: 3.0168
Grados de libertad (df): 1
Valor p: 0.08241
No hay suficiente evidencia para rechazar la hipótesis nula de homocedasticidad. Esto indica que los errores podrían tener varianzas iguales.
Prueba de Durbin-Watson (autocorrelación):
Estadístico D-W: 1.467382
Valor p: 0
Existe evidencia suficiente para rechazar la hipótesis nula de ausencia de autocorrelación. Esto indica que los errores están autocorrelacionados.
El modelo exponencial parece tener una mejor aproximación a la homocedasticidad, ya que el valor p de la prueba de Breusch-Pagan es más alto que en el modelo logarítmico.
Ambos modelos muestran evidencia de autocorrelación de los errores.
Modelo ARIMA:
El modelo ARIMA(4,0,1) es un modelo autorregresivo de orden 4 (AR) con un componente de media móvil de orden 1 (MA). Por lo que el valor actual de la serie temporal está relacionado linealmente con sus últimos cuatro valores más recientes y el último valor residual.
Los coeficientes estimados para los términos AR y MA son:
AR1: 1.0151 AR2: -0.0625 AR3: 0.0474 AR4: -0.0601 MA1: -0.8322
Estos coeficientes indican la influencia de los valores pasados en el valor actual de la serie temporal.
El error cuadrático medio (RMSE) es de aproximadamente 76.21, lo que significa que el modelo tiene un buen ajuste a los datos de entrenamiento. Sin embargo, el AIC (criterio de información de Akaike) y el BIC (criterio de información bayesiano) son relativamente altos.
Modelo de Regresión Exponencial:
El modelo de regresión exponencial parece tener los siguientes coeficientes:
Intercepto: 221.6
Coeficiente para la variable exp(areaconst): \(2.858e^{-85} (muy pequeño)\)
El p-valor para el coeficiente de exp(areaconst) es prácticamente cero, lo que indica que hay una relación estadísticamente significativa entre la variable exp(areaconst) y el precio. Sin embargo, el valor del coeficiente es extremadamente pequeño, por lo que la variable exp(areaconst) tiene una influencia mínima en el precio.
El \(R^2\) ajustado es de aproximadamente 0.1, lo que indica que el modelo de regresión exponencial explica solo el 10% de la variabilidad en el precio.
En el presente informe, se ha llevado a cabo un análisis detallado de cuatro modelos diferentes para predecir los precios de viviendas en base a la información proporcionada por la inmobiliaria A&C. Los modelos considerados son: Lineal, Polinómico, Exponencial y ARIMA.
A continuación, se presenta un resumen de los principales resultados y características de cada modelo:
Modelo Lineal
Coeficientes:
Intercepto: 67.381
Área Construida: 1.803
\(R^2\): 0.5822
Conclusión: El modelo lineal explica aproximadamente el 58.22% de la variabilidad en el precio.
Modelo Polinómico (Grado 2)
Coeficientes:
Intercepto: 225.375
Área Construida (Grado 1): 2705.919
Área Construida (Grado 2): -598.765
\(R^2\):: 0.6107
Conclusión: El modelo polinómico de grado 2 proporciona un ajuste ligeramente mejor que el modelo lineal, explicando alrededor del 61.07% de la variabilidad en el precio.
Modelo Exponencial
Coeficientes:
Intercepto: 221.6
Coeficiente para exp(areaconst): 2.858e-85
\(R^2\) Ajustado: 0.1
Conclusión: El modelo exponencial explica solo el 10% de la variabilidad en el precio y la variable exp(areaconst) tiene una influencia mínima.
Modelo ARIMA
Orden del Modelo ARIMA: ARIMA(4,0,1)
Coeficientes AR y MA:
AR1: 1.0151
AR2: -0.0625
AR3: 0.0474
AR4: -0.0601
MA1: -0.8322
RMSE: 76.21
Conclusión: El Modelo ARIMA proporciona un buen ajuste a los datos de entrenamiento.
Recomendaciones
Dada la comparación de los modelos, se sugiere utilizar el Modelo ARIMA para predecir los precios de viviendas debido a su buen ajuste y capacidad predictiva. Es importante recordar que todos los modelos están basados en los datos actuales y las tendencias observadas hasta el momento. Cualquier cambio en las condiciones del mercado puede afectar las predicciones futuras.
Se adjuntan los resultados detallados de los análisis realizados para su revisión.
.