Maria comenzó como agente de bienes raíces en Cali hace 10 años. Después de laborar dos años para una empresa nacional, se traslado a Bogotá y trabajó para otra agencia de bienes raíces. Sus amigos y familiares la convencieron de que con su experiencia y conocimientos del negocio debía abrir su propia agencia. Terminó por adquirir la licencia de intermediario y al poco tiempo fundó su propia compañía, C&A (Casas y Apartamentos) en Cali. Santiago y Lina, dos vendedores de la empresa anterior aceptaron trabajar en la nueva compaña. En la actualidad ocho agentes de bienes raíces colaboran con ella en C&A.
Actualmente las ventas de bienes raíces en Cali se han visto disminuidas de manera significativa en lo corrido del año. Durante este periodo muchas instituciones bancarias de ahorro y vivienda están prestando grandes sumas de dinero para la industria y la construcción comercial y residencial. Cuando el efecto producto de las tensiones políticas y sociales disminuya, se espera que la actividad económica de este sector se reactive.
Hace dos días, María recibió una carta solicitando asesoría para la compra de dos viviendas por parte de una compañía internacional que desea ubicar a dos de sus empleados con sus familias en la ciudad. Las solicitudes incluyen las siguientes condiciones:
CARACTERÍSTICAS | VIVIENDA 1 | VIVIENDA 2 |
---|---|---|
Tipo | Casa | Apartamento |
Área construida | 200 | 300 |
Parqueaderos | 1 | 3 |
Baños | 2 | 3 |
Habitaciones | 4 | 5 |
Estrato | 4 o 5 | 5 o 6 |
Zona | Norte | Sur |
Crédito aprobado | 350 millones | 850 millones |
Ayude a María a responder la solicitud, mediante técnicas modelación que usted conoce. Ella requiere le envíe un informe ejecutivo donde analice los dos casos y sus recomendaciones (Informe). Como soporte del informe debe anexar las estimaciones, validaciones y comparación de modelos requeridos (Anexos) .
Realizar un filtro a la base de datos que incluya sólo las ofertas de apartamentos. Presente los primeros 3 registros de las bases y algunas tablas que comprueben la consulta.
vivienda$tipo = tolower(vivienda$tipo)
vivienda = vivienda%>% mutate(tipo = ifelse(tipo == "apto","apartamento", tipo))
aptos= subset(vivienda, vivienda$tipo=="apartamento")
head(aptos, 3)
## tibble [5,100 × 13] (S3: tbl_df/tbl/data.frame)
## $ id : num [1:5100] 1212 1724 2326 4386 7497 ...
## $ zona : chr [1:5100] "Zona Norte" "Zona Norte" "Zona Norte" "Zona Norte" ...
## $ piso : chr [1:5100] "01" "01" "01" "01" ...
## $ estrato : num [1:5100] 5 5 4 5 6 4 5 3 3 6 ...
## $ preciom : num [1:5100] 260 240 220 310 520 320 385 100 175 820 ...
## $ areaconst : num [1:5100] 90 87 52 137 98 108 103 49 80 377 ...
## $ parqueaderos: num [1:5100] 1 1 2 2 2 2 2 NA 1 1 ...
## $ banios : num [1:5100] 2 3 2 3 2 3 2 1 2 4 ...
## $ habitaciones: num [1:5100] 3 3 3 4 2 3 3 2 3 4 ...
## $ tipo : chr [1:5100] "apartamento" "apartamento" "apartamento" "apartamento" ...
## $ barrio : chr [1:5100] "acopi" "acopi" "acopi" "acopi" ...
## $ longitud : num [1:5100] -76.5 -76.5 -76.5 -76.5 -76.5 ...
## $ latitud : num [1:5100] 3.46 3.37 3.43 3.38 3.44 ...
## id zona piso estrato
## Min. : 3 Length:5100 Length:5100 Min. :3.000
## 1st Qu.:2180 Class :character Class :character 1st Qu.:4.000
## Median :4158 Mode :character Mode :character Median :5.000
## Mean :4284 Mean :4.727
## 3rd Qu.:6556 3rd Qu.:6.000
## Max. :8317 Max. :6.000
##
## preciom areaconst parqueaderos banios
## Min. : 58.0 Min. : 35.0 Min. : 1.000 Min. :0.000
## 1st Qu.: 175.0 1st Qu.: 68.0 1st Qu.: 1.000 1st Qu.:2.000
## Median : 279.0 Median : 90.0 Median : 1.000 Median :2.000
## Mean : 366.9 Mean :112.8 Mean : 1.568 Mean :2.617
## 3rd Qu.: 430.0 3rd Qu.:130.0 3rd Qu.: 2.000 3rd Qu.:3.000
## Max. :1950.0 Max. :932.0 Max. :10.000 Max. :8.000
## NA's :869
## habitaciones tipo barrio longitud
## Min. :0.000 Length:5100 Length:5100 Min. :-76.59
## 1st Qu.:3.000 Class :character Class :character 1st Qu.:-76.54
## Median :3.000 Mode :character Mode :character Median :-76.53
## Mean :2.971 Mean :-76.53
## 3rd Qu.:3.000 3rd Qu.:-76.52
## Max. :9.000 Max. :-76.46
##
## latitud
## Min. :3.334
## 1st Qu.:3.380
## Median :3.419
## Mean :3.419
## 3rd Qu.:3.453
## Max. :3.498
##
cant_reg <- nrow(aptos)
cant_atr <- ncol(aptos)
dimVivienda = dim(aptos)
cat("La dimensión de la base de datos es ", dimVivienda, "Con un número total de ",cant_reg, "registros ","y de",cant_atr ," atributos " )
## La dimensión de la base de datos es 5100 13 Con un número total de 5100 registros y de 13 atributos
##
## apartamento
## 5100
Al analizar la tabla de frecuencias, se observa que todos los valores de la columna “tipo” corresponden a “apartamentos”.
Se realiza la verificación de los datos faltantes
Tratamiento de datos faltantes
me_parqueaderos <- median(aptos$parqueaderos, na.rm = TRUE)
aptos$parqueaderos <- ifelse(
is.na(aptos$parqueaderos),
me_parqueaderos, aptos$parqueaderos
)
aptos$piso <- as.numeric(aptos$piso)
me_pisos <- median(aptos$piso, na.rm = TRUE)
aptos$piso <- ifelse(
is.na(aptos$piso),
me_pisos, aptos$piso
)
## /\ /\
## { `---' }
## { O O }
## ==> V <== No need for mice. This data set is completely observed.
## \ \|/ /
## `-----'
## id zona piso estrato preciom areaconst parqueaderos banios habitaciones
## 5100 1 1 1 1 1 1 1 1 1
## 0 0 0 0 0 0 0 0 0
## tipo barrio longitud latitud
## 5100 1 1 1 1 0
## 0 0 0 0 0
Ajuste del dataset
## zona piso estrato preciom areaconst parqueaderos
## "character" "numeric" "numeric" "numeric" "numeric" "numeric"
## banios habitaciones
## "numeric" "numeric"
## piso estrato preciom areaconst parqueaderos banios
## "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
## habitaciones
## "numeric"
datos1 = vivienda[,c(2, 4, 5, 6, 7, 8)]
resumen <- aptos %>%
summarise(mean_piso = mean(piso),
mean_preciom = mean(preciom),
mean_areaconst = mean(areaconst),
mean_parqueaderos = mean(parqueaderos),
mean_baños = mean(banios),
mean_habitaciones = mean(habitaciones))
# Embellecer la tabla
resumen %>%
kbl(col.names = c( "Piso Medio", "Precio Medio (M)", "Área Const. Media",
"Parqueaderos Medios", "Baños Medios", "Habitaciones Medias"),
align = "c", # Centrar el texto
caption = "Resumen estadístico ") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = F,
position = "center",
font_size = 14) %>%
row_spec(0, bold = TRUE, color = "white", background = "#4CAF50") %>%
column_spec(1, bold = TRUE, color = "#1A7332") %>%
column_spec(2:ncol(datos1), background = "#F2F2F2")
Piso Medio | Precio Medio (M) | Área Const. Media | Parqueaderos Medios | Baños Medios | Habitaciones Medias |
---|---|---|---|---|---|
4.462157 | 366.9435 | 112.7819 | 1.47098 | 2.617059 | 2.971373 |
La tabla muestra las características promedio de los apartamentos en términos de su piso, precio, área construida, parqueaderos, baños y habitaciones:
Piso Medio: El promedio del piso en el que se encuentran estas propiedades es aproximadamente el cuarto (4.46), lo que indica que la mayoría de las propiedades están situadas en niveles intermedios de los edificios.
Precio Medio: El precio promedio de estas propiedades es de 366.94 millones de unidades monetarias. Este valor puede variar en función de otros factores como ubicación, tamaño, y características adicionales.
Área Construida Media: Las propiedades tienen un área construida media de 112.78 m², lo cual sugiere que se trata de propiedades de tamaño mediano, adecuadas tanto para familias pequeñas como para individuos que buscan un espacio cómodo.
Parqueaderos Medios: En promedio, las propiedades cuentan con 1.47 parqueaderos, lo que indica que la mayoría de las viviendas tienen al menos un espacio de estacionamiento disponible, con algunas propiedades ofreciendo dos espacios.
Baños Medios: Hay aproximadamente 2.62 baños por propiedad, lo que es típico de viviendas que buscan ofrecer comodidad, posiblemente con un baño principal y adicionales para uso común o visitas.
Habitaciones Medias: El número promedio de habitaciones es de 2.97, lo cual sugiere que estas propiedades están diseñadas principalmente para familias pequeñas o personas que necesitan espacio adicional para uso como oficina o cuarto de invitados.
Gráfico de dispersión
## zona preciom
## 1 Zona Centro 186.5833
## 2 Zona Norte 285.1619
## 3 Zona Oeste 667.9271
## 4 Zona Oriente 152.5968
## 5 Zona Sur 297.2917
Se puede concluir: Zona Oeste: Es la zona con el precio medio más alto, 667.93 millones de unidades monetarias. Esto podría indicar que esta zona es una de las más exclusivas o deseadas, posiblemente debido a factores como su ubicación, servicios, calidad de vida, o desarrollos inmobiliarios de alto valor.
Zona Sur: Tiene un precio medio de 297.29 millones, que es considerablemente más bajo que la Zona Oeste pero aún más alto que la mayoría de las otras zonas. Esta zona puede ofrecer una combinación de buena ubicación, acceso a servicios, y una oferta inmobiliaria atractiva.
Zona Norte: Presenta un precio medio de 285.16 millones, lo que sugiere que esta área podría estar orientada a la clase media-alta, con propiedades que balancean costo y accesibilidad a servicios urbanos.
Zona Centro: Tiene un precio medio de 186.58 millones, lo que podría reflejar una mayor accesibilidad de precio en comparación con las zonas Norte y Oeste. Esto podría deberse a una oferta más amplia de propiedades o características diferentes en términos de tamaño, antigüedad o ubicación más céntrica pero menos exclusiva.
## estrato preciom
## 1 3 128.9765
## 2 4 206.9444
## 3 5 335.0108
## 4 6 702.4144
Correlaciones
## piso estrato preciom areaconst parqueaderos banios habitaciones
## piso 1.000 0.119 0.152 0.114 0.120 0.140 0.035
## estrato 0.119 1.000 0.667 0.549 0.554 0.616 0.178
## preciom 0.152 0.667 1.000 0.829 0.737 0.740 0.297
## areaconst 0.114 0.549 0.829 1.000 0.664 0.727 0.409
## parqueaderos 0.120 0.554 0.737 0.664 1.000 0.624 0.276
## banios 0.140 0.616 0.740 0.727 0.624 1.000 0.501
## habitaciones 0.035 0.178 0.297 0.409 0.276 0.501 1.000
Correlación del Precio de la Propiedad (preciom):
Área Construida (areaconst): Existe una fuerte correlación positiva (0.829) entre el precio de la propiedad y el área construida. Esto indica que, en general, a mayor área construida, mayor es el precio de la propiedad. Parqueaderos (parqueaderos) y Baños (banios): Ambas variables también muestran una correlación positiva significativa con el precio (0.737 y 0.740, respectivamente). Esto sugiere que propiedades con más parqueaderos y baños tienden a tener un precio más alto. Estrato (estrato): Hay una correlación positiva moderada con el precio (0.667), lo que sugiere que el precio de la propiedad tiende a aumentar en los estratos más altos, posiblemente debido a factores de ubicación, servicios, o exclusividad. Habitaciones (habitaciones): La correlación entre el número de habitaciones y el precio (0.297) es positiva, aunque más débil en comparación con otras variables. Esto podría indicar que, aunque el número de habitaciones afecta el precio, su impacto es menor que otras características como el área construida, baños o parqueaderos. Piso (piso): La correlación del piso con el precio es la más baja (0.152), sugiriendo que el nivel en el que se encuentra la propiedad tiene poca influencia sobre su precio, comparado con otras características. Correlaciones entre Variables de las Propiedades:
Área Construida y Baños (areaconst y banios): Existe una correlación positiva fuerte (0.727), indicando que propiedades con mayor área construida tienden a tener más baños. Baños y Parqueaderos (banios y parqueaderos): También hay una correlación positiva considerable (0.624), sugiriendo que las propiedades con más baños suelen tener más espacio para parqueaderos. Estrato y Características de la Propiedad: El estrato muestra correlaciones positivas moderadas con el área construida (0.549), parqueaderos (0.554), y baños (0.616), lo que indica que las propiedades en estratos más altos suelen tener más área, parqueaderos y baños. Habitaciones y Otras Variables: La correlación de las habitaciones con el área construida (0.409) y con los baños (0.501) es positiva pero más moderada, lo que refleja que aunque más habitaciones pueden estar asociadas con propiedades más grandes, no es la característica dominante en la determinación del precio o el tamaño general.
library(GGally)
ggpairs(aptos1, lower = list(continuous = "smooth"),
diag = list(continuous = "barDiag"), axisLabels = "none")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Box plot
# Configurar espacio gráfico para 1 fila y 2 columnas
par(mfrow = c(2, 2))
# Gráfico 1: Precio por Zona
boxplot(preciom ~ zona, data = aptos,
main = "Precio por Zona",
xlab = "Zona",
ylab = "Precio")
# Gráfico 2: Precio por Estrato
boxplot(preciom ~ estrato, data = aptos,
main = "Precio por Estrato",
xlab = "Estrato",
ylab = "Precio")
# Gráfico 3: Precio por Baños
boxplot(preciom ~ banios, data = aptos,
main = "Precio por Baños",
xlab = "Baños",
ylab = "Precio")
# Gráfico 4: Precio por Habitaciones
boxplot(preciom ~ habitaciones, data = aptos,
main = "Precio por habitaciones",
xlab = "Habitaciones",
ylab = "Precio")
modelo = lm(preciom ~ areaconst + parqueaderos + habitaciones + banios, data = aptos)
summary(modelo)
##
## Call:
## lm(formula = preciom ~ areaconst + parqueaderos + habitaciones +
## banios, data = aptos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1774.64 -55.07 -2.08 46.83 1038.95
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -71.59565 8.97841 -7.974 1.88e-15 ***
## areaconst 2.11468 0.04384 48.231 < 2e-16 ***
## parqueaderos 109.30359 3.76316 29.046 < 2e-16 ***
## habitaciones -49.35100 3.28742 -15.012 < 2e-16 ***
## banios 71.03324 2.87243 24.729 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 136.4 on 5095 degrees of freedom
## Multiple R-squared: 0.7778, Adjusted R-squared: 0.7777
## F-statistic: 4459 on 4 and 5095 DF, p-value: < 2.2e-16
Intercepto:
El intercepto es -71.60, lo que representa el valor estimado del precio cuando todas las variables explicativas (área construida, parqueaderos, habitaciones, y baños) son iguales a cero. Aunque este valor no tiene una interpretación práctica directa (ya que no es posible tener una propiedad con cero área, parqueaderos, habitaciones o baños), su signo negativo indica que las variables explicativas tienen un impacto positivo significativo en el precio cuando tienen valores mayores a cero. Coeficientes de las Variables:
Área Construida (areaconst): El coeficiente es 2.11, lo que sugiere que por cada metro cuadrado adicional de área construida, el precio de la propiedad aumenta en promedio en 2.11 millones de unidades monetarias, manteniendo constantes las demás variables. Este coeficiente es altamente significativo (p < 2e-16), indicando una fuerte relación positiva entre el área construida y el precio. Parqueaderos (parqueaderos): El coeficiente es 109.30, lo que significa que por cada parqueadero adicional, el precio de la propiedad aumenta en promedio en 109.30 millones de unidades monetarias, manteniendo constantes las demás variables. Este coeficiente es también altamente significativo (p < 2e-16), sugiriendo que el número de parqueaderos es una variable importante en la determinación del precio. Habitaciones (habitaciones): El coeficiente es -49.35, lo que indica que, sorprendentemente, cada habitación adicional se asocia con una disminución promedio del precio de 49.35 millones de unidades monetarias, manteniendo constantes las demás variables. Aunque este resultado puede parecer contraintuitivo, puede reflejar una relación compleja donde propiedades con muchas habitaciones no necesariamente son más caras (por ejemplo, propiedades más viejas o menos deseables). Baños (banios): El coeficiente es 71.03, indicando que por cada baño adicional, el precio de la propiedad aumenta en promedio en 71.03 millones de unidades monetarias, manteniendo constantes las demás variables. Este coeficiente es también altamente significativo (p < 2e-16), lo que sugiere que el número de baños es un factor relevante en la determinación del precio. Significancia Estadística:
Todos los coeficientes son altamente significativos (p < 2e-16), lo que indica que las variables seleccionadas tienen una influencia significativa sobre el precio de las propiedades. Bondad de Ajuste:
El R-cuadrado múltiple es 0.7778 y el R-cuadrado ajustado es 0.7777. Esto sugiere que aproximadamente el 77.78% de la variabilidad en el precio de las propiedades puede explicarse por las variables incluidas en el modelo (área construida, parqueaderos, habitaciones, y baños). Esto indica un buen ajuste del modelo, lo que significa que estas variables son bastante útiles para predecir el precio de las propiedades. Errores de los Residuales:
El error estándar residual es 136.4, lo cual proporciona una medida del tamaño promedio de los errores de predicción del modelo. Aunque existen residuales negativos y positivos con amplitudes relativamente grandes, el ajuste general del modelo sigue siendo bueno.
Por lo tanto, se puede afirmar que el modelo de regresión lineal proporciona una comprensión significativa de cómo el precio de las propiedades es influenciado por diferentes factores. El área construida, el número de parqueaderos, y el número de baños tienen efectos positivos sobre el precio, mientras que un mayor número de habitaciones muestra una relación negativa inesperada. El modelo explica bien la variabilidad del precio (R² = 77.78%), lo que sugiere que las variables incluidas son relevantes para predecir los precios de las propiedades. Sin embargo, el signo negativo del coeficiente para el número de habitaciones podría requerir un análisis adicional para entender mejor la dinámica del mercado inmobiliario en este contexto específico. ## 4. Validación de los supuestos
n_residuals = length(modelo$residuals)
if (n_residuals < 3 || n_residuals > 5000) {
cat("The sample size for the Shapiro-Wilk test should be between 3 and 5000. Current size:", n_residuals)
} else {
shapiro_result <- shapiro.test(modelo$residuals)
print(shapiro_result)
}
## The sample size for the Shapiro-Wilk test should be between 3 and 5000. Current size: 5100
# Set a seed for reproducibility
set.seed(123)
sampled_residuals <- sample(modelo$residuals, size = 5000)
# Perform the Shapiro-Wilk test on the sampled residuals
shapiro_result <- shapiro.test(sampled_residuals)
# Print the result
print(shapiro_result)
##
## Shapiro-Wilk normality test
##
## data: sampled_residuals
## W = 0.83475, p-value < 2.2e-16
##
## studentized Breusch-Pagan test
##
## data: modelo
## BP = 1398.4, df = 4, p-value < 2.2e-16
##
## Durbin-Watson test
##
## data: modelo
## DW = 1.6175, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
Dado que los resultados de los tests estadísticos han mostrado violaciones significativas de los supuestos del modelo de regresión lineal múltiple, es necesario revisar y ajustar el modelo para mejorar su validez. Los resultados obtenidos son los siguientes:
Prueba de Normalidad (Shapiro-Wilk):
W = 0.83475, p-valor < 2.2e-16. El valor de W indica una desviación considerable de la normalidad en los residuos, y el p-valor muy bajo confirma que los residuos no siguen una distribución normal. Prueba de Homocedasticidad (Breusch-Pagan):
BP = 1398.4, df = 4, p-valor < 2.2e-16. La alta estadística del test y el p-valor muy bajo sugieren que hay heterocedasticidad en los residuos, es decir, la variabilidad de los residuos no es constante a lo largo de las observaciones. Prueba de Autocorrelación (Durbin-Watson):
DW = 1.6175, p-valor < 2.2e-16. El valor de DW indica una autocorrelación positiva en los residuos, con un p-valor que confirma que esta autocorrelación es significativa. Dado que los supuestos de normalidad, homocedasticidad y ausencia de autocorrelación en los residuos no se cumplen, se recomienda tomar las siguientes acciones:
indices = sample(1:nrow(aptos), size = 0.7*nrow(aptos))
entrene = aptos[indices, ]
prueba = aptos[indices, ]
##
## Call:
## lm(formula = preciom ~ areaconst + parqueaderos + banios, data = entrene)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1701.78 -51.85 -3.85 45.31 997.14
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -190.51338 6.44889 -29.54 <2e-16 ***
## areaconst 2.03043 0.05096 39.85 <2e-16 ***
## parqueaderos 112.60599 4.36860 25.78 <2e-16 ***
## banios 62.11023 3.25797 19.06 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 138.6 on 3566 degrees of freedom
## Multiple R-squared: 0.7774, Adjusted R-squared: 0.7772
## F-statistic: 4151 on 3 and 3566 DF, p-value: < 2.2e-16
El modelo de regresión lineal ha sido ajustado utilizando un conjunto de entrenamiento y tiene como variables explicativas el área construida (areaconst), el número de parqueaderos (parqueaderos), y el número de baños (banios). A continuación se presenta el análisis detallado del modelo:
Resultados del Modelo Intercepto:
Estimation = -190.51, Std. Error = 6.45, t-value = -29.54, p-value < 2e-16 El intercepto negativo sugiere que, en teoría, el precio esperado sería negativo cuando todas las variables explicativas son cero. Sin embargo, en la práctica, este valor no tiene una interpretación directa. La alta significancia estadística (p < 2e-16) indica que el intercepto es relevante en el contexto del modelo. Área Construida (areaconst):
Estimate = 2.03, Std. Error = 0.05, t-value = 39.85, p-value < 2e-16 El coeficiente de área construida indica que, por cada metro cuadrado adicional, el precio de la propiedad aumenta en promedio en 2.03 millones de unidades monetarias. Este coeficiente es altamente significativo, lo que refuerza la importancia del área construida en la determinación del precio de la propiedad. Parqueaderos (parqueaderos):
Estimate = 112.61, Std. Error = 4.37, t-value = 25.78, p-value < 2e-16 Cada parqueadero adicional se asocia con un aumento promedio de 112.61 millones en el precio. La significancia estadística (p < 2e-16) sugiere que el número de parqueaderos es un factor importante en la valoración de las propiedades. Baños (banios):
Estimate = 62.11, Std. Error = 3.26, t-value = 19.06, p-value < 2e-16 El número de baños tiene un coeficiente positivo, indicando que cada baño adicional aumenta el precio en promedio en 62.11 millones de unidades monetarias. Este coeficiente también es altamente significativo, subrayando la relevancia de los baños en el precio de las propiedades. Indicadores de Bondad de Ajuste Error Estándar Residual:
138.6 en 3566 grados de libertad. Este valor mide la desviación estándar de los residuos del modelo y es ligeramente mayor en comparación con el modelo anterior, lo que podría indicar una mayor variabilidad en los errores de predicción. R-cuadrado Múltiple:
0.7774, R-cuadrado Ajustado: 0.7772 Aproximadamente el 77.74% de la variabilidad en el precio de las propiedades es explicada por las variables incluidas en el modelo. El R-cuadrado ajustado, que toma en cuenta el número de variables en el modelo, es muy cercano al R-cuadrado múltiple, indicando que el modelo se ajusta bien a los datos del conjunto de entrenamiento. Estadístico F:
F-statistic = 4151 en 3 y 3566 grados de libertad, p-value < 2.2e-16 El alto valor del estadístico F y el p-valor muy bajo indican que el modelo es globalmente significativo y que al menos una de las variables explicativas tiene una relación significativa con el precio de la propiedad.
predicciones = predict(modelo2, newdata = prueba)
resultados = data.frame(Real = prueba$preciom, Predicho = predicciones)
print(head(resultados))
## Real Predicho
## 1 230 440.31578
## 2 1220 795.74031
## 3 161 184.38234
## 4 92 91.81566
## 5 295 259.50827
## 6 145 157.98674
eam = mean((abs(resultados$Real - resultados$Predicho)))
cat("el Error Absoluto Medio es :", eam, "\n")
## el Error Absoluto Medio es : 84.29956
emc = sqrt(mean((resultados$Real - resultados$Predicho)^2))
cat("el Error Cuadratico Medio es :", emc, "\n")
## el Error Cuadratico Medio es : 138.5042
r2 = 1 - (sum((resultados$Real - resultados$Predicho)^2)/ sum((resultados$Real - mean(resultados$Real))^2))
cat("R-Squared:", r2, "\n")
## R-Squared: 0.7773977
Interpretación de las Métricas de Evaluación del Modelo
Error Absoluto Medio (EAM):
EAM = 84.30 El Error Absoluto Medio es la media de las diferencias absolutas entre los valores reales y los valores predichos por el modelo. Un EAM de 84.30 significa que, en promedio, el modelo se desvía del valor real en 84.30 unidades monetarias. Este valor proporciona una idea general del tamaño promedio del error en las predicciones sin considerar la dirección del error.
Error Cuadrático Medio (ECM):
ECM = 138.50 El Error Cuadrático Medio es la raíz cuadrada de la media de los cuadrados de las diferencias entre los valores reales y los valores predichos. Un ECM de 138.50 unidades monetarias indica que el modelo tiene una desviación promedio de 138.50 unidades monetarias al elevar al cuadrado y promediar los errores de predicción. El ECM penaliza los errores más grandes más que el EAM debido al uso del cuadrado en su cálculo, proporcionando una medida que resalta errores más grandes en las predicciones. R-cuadrado (R²):
R² = 0.7774
El R-cuadrado es una medida que indica el porcentaje de variabilidad en la variable dependiente (precio) que es explicado por el modelo de regresión. Un valor de 0.7774 significa que aproximadamente el 77.74% de la variabilidad en los precios de las propiedades puede ser explicada por el modelo con las variables incluidas. Este es un buen ajuste, sugiriendo que el modelo captura una gran parte de la información relevante en los datos.
El modelo muestra un R-cuadrado sólido, indicando un buen ajuste en términos generales. Sin embargo, el Error Absoluto Medio y el Error Cuadrático Medio sugieren que, aunque el modelo es bastante preciso, hay una desviación promedio significativa en las predicciones. El EAM es más bajo y refleja el error promedio sin considerar la magnitud del mismo, mientras que el ECM indica que algunos errores pueden ser relativamente grandes. En conjunto, estas métricas sugieren que el modelo es bastante eficaz, pero siempre hay margen para mejorar la precisión de las predicciones.
Análisis de Precios por Zona
Zona Oeste: Tiene el precio promedio más alto (667.93 millones), lo que indica que es una zona más exclusiva o deseable. Zona Sur: Con un precio promedio de 297.29 millones, esta zona ofrece un balance entre accesibilidad y calidad de vida. Zona Norte: Presenta un precio medio de 285.16 millones, sugiriendo que es una zona de clase media-alta. Zona Centro: El precio medio de 186.58 millones indica una mayor accesibilidad en comparación con las zonas Norte y Oeste, posiblemente debido a una oferta más amplia o características diferentes.
Correlaciones Clave Área Construida y Precio: Existe una fuerte correlación positiva (0.829), indicando que a mayor área construida, mayor es el precio. Parqueaderos y Baños: Ambas variables muestran una correlación significativa con el precio (0.737 y 0.740, respectivamente), sugiriendo que más parqueaderos y baños tienden a elevar el precio. Estrato y Precio: La correlación positiva moderada (0.667) sugiere que los estratos más altos están asociados con precios más altos. Habitaciones y Precio: La correlación positiva (0.297) es más débil, indicando que el número de habitaciones tiene un impacto menor en el precio comparado con otras características.
Modelo de Regresión Lineal Intercepto: -190.51 (p < 2e-16). Aunque no tiene una interpretación práctica directa, su alta significancia indica que las variables explicativas tienen un impacto positivo significativo en el precio. Área Construida: Cada metro cuadrado adicional aumenta el precio en promedio en 2.03 millones de unidades monetarias, siendo altamente significativo (p < 2e-16). Parqueaderos: Cada parqueadero adicional aumenta el precio en promedio en 112.61 millones, también altamente significativo (p < 2e-16). Baños: Cada baño adicional incrementa el precio en promedio en 62.11 millones, con alta significancia estadística (p < 2e-16). Habitaciones: Cada habitación adicional se asocia con una disminución del precio en 49.35 millones, lo cual es contraintuitivo y sugiere una relación compleja.
Bondad de Ajuste R-cuadrado: 0.7778. Aproximadamente el 77.78% de la variabilidad en el precio puede ser explicada por el modelo. Este valor indica un buen ajuste general. Error Estándar Residual: 136.4, lo que sugiere una desviación estándar de los errores de predicción, aunque sigue siendo aceptable en comparación con el ajuste general del modelo.
Evaluación de Supuestos del Modelo Normalidad: Los residuos no siguen una distribución normal (p-valor < 2.2e-16). Heterocedasticidad: Hay evidencia de heterocedasticidad (p-valor < 2.2e-16), indicando variabilidad no constante en los residuos. Autocorrelación: Hay autocorrelación positiva en los residuos (p-valor < 2.2e-16).
Recomendaciones Transformaciones de Variables: Aplicar transformaciones (potencias, raíces, logaritmos) para estabilizar la variabilidad de los residuos. Métodos Alternativos: Considerar métodos estadísticos robustos como los Mínimos Cuadrados Generalizados (GLS) o modelos no paramétricos como árboles de decisión para manejar heterocedasticidad y autocorrelación. En resumen, el modelo de regresión lineal muestra una buena capacidad para predecir el precio de las propiedades basándose en el área construida, número de parqueaderos y baños. Sin embargo, el modelo presenta problemas con algunos supuestos estadísticos, lo que sugiere la necesidad de ajustes adicionales para mejorar su validez y precisión.