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 preaprobado | 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) .
Pasos requeridos para la obtención de los resultados
Realice un filtro a la base de datos e incluya solo las ofertas de : base1: casas, de la zona norte de la ciudad. Presente los primeros 3 registros de las bases y algunas tablas que comprueben la consulta. (Adicional un mapa con los puntos de las bases. Discutir si todos los puntos se ubican en la zona correspondiente o se presentan valores en otras zonas, por que?).
Realice un análisis exploratorio de datos enfocado en la correlación entre la variable respuesta (precio de la casa) en función del área construida, estrato, numero de baños, numero de habitaciones y zona donde se ubica la vivienda. Use gráficos interactivos con el paquete plotly e interprete los resultados.
Estime un modelo de regresión lineal múltiple con las variables del punto anterior (precio = f(área construida, estrato, número de cuartos, número de parqueaderos, número de baños ) ) e interprete los coeficientes si son estadísticamente significativos. Las interpretaciones deber están contextualizadas y discutir si los resultados son lógicos. Adicionalmente interprete el coeficiente R2 y discuta el ajuste del modelo e implicaciones (que podrían hacer para mejorarlo).
Realice la validación de supuestos del modelo e interprete los resultados (no es necesario corregir en caso de presentar problemas, solo realizar sugerencias de que se podría hacer).
Con el modelo identificado debe predecir el precio de la vivienda con las características de la primera solicitud.
Con las predicciones del modelo sugiera potenciales ofertas que responda a la solicitud de la vivienda 1. Tenga encuentra que la empresa tiene crédito pre-aprobado de máximo 350 millones de pesos. Realice un análisis y presente en un mapa al menos 5 ofertas potenciales que debe discutir.
Realice los pasos del 1 al 6. Para la segunda solicitud que tiene un crédito pre-aprobado por valor de $850 millones.
1. Importar la base de datos
#install.packages("devtools") # solo la primera vez
devtools::install_github("dgonxalex80/paqueteMODELOS", force =TRUE)
## digest (0.6.34 -> 0.6.35) [CRAN]
## curl (5.2.0 -> 5.2.1 ) [CRAN]
## xfun (0.41 -> 0.42 ) [CRAN]
## magick (2.8.2 -> 2.8.3 ) [CRAN]
## package 'digest' successfully unpacked and MD5 sums checked
## package 'curl' successfully unpacked and MD5 sums checked
## package 'xfun' successfully unpacked and MD5 sums checked
## package 'magick' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\USER\AppData\Local\Temp\RtmpADffnG\downloaded_packages
## ── R CMD build ─────────────────────────────────────────────────────────────────
##
checking for file 'C:\Users\USER\AppData\Local\Temp\RtmpADffnG\remotes1bc5c65b96020\dgonxalex80-paqueteMODELOS-796f588/DESCRIPTION' ...
✔ checking for file 'C:\Users\USER\AppData\Local\Temp\RtmpADffnG\remotes1bc5c65b96020\dgonxalex80-paqueteMODELOS-796f588/DESCRIPTION' (368ms)
##
─ preparing 'paqueteMODELOS': (3.1s)
## checking DESCRIPTION meta-information ...
✔ checking DESCRIPTION meta-information
##
─ checking for LF line-endings in source and make files and shell scripts
##
─ checking for empty or unneeded directories
##
─ building 'paqueteMODELOS_0.1.0.tar.gz'
##
##
library(paqueteMODELOS)
data("vivienda")
head(vivienda)
## # A tibble: 6 × 13
## id zona piso estrato preciom areaconst parqueaderos banios habitaciones
## <dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1147 Zona O… <NA> 3 250 70 1 3 6
## 2 1169 Zona O… <NA> 3 320 120 1 2 3
## 3 1350 Zona O… <NA> 3 350 220 2 2 4
## 4 5992 Zona S… 02 4 400 280 3 5 3
## 5 1212 Zona N… 01 5 260 90 1 2 3
## 6 1724 Zona N… 01 5 240 87 1 3 3
## # ℹ 4 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>
base_datos= vivienda
La base de datos contiene un total de 8322 entidades, cada una representando una vivienda de la ciudad de Cali. Estas viviendas están descritas por 13 variables que indican las características propias. A continuación se explica cada una de estas variables:
| variable | Descripción |
|---|---|
| zona | Ubicación de la vivienda |
| piso | Piso que ocupa la vivienda |
| estrato | Estrato socio-económico : 3,4,5,6 |
| preciom | Precio de la vivienda en millones de pesos |
| areaconst | Área construida |
| parqueaderos | Número de parqueaderos |
| banios | Número de baños |
| habitaciones | Número de habitaciones |
| tipo | Tipo de vivienda : Casa, Apartamento |
| barrio | Barrio de ubicación de la vivienda |
| longitud | Coordenada geográfica |
| latitud | Coordenada geográfica |
La actividad se centra en las siguientes características específicas de las viviendas: tipo, área construida, número de parqueaderos, cantidad de baños, cantidad de habitaciones, estrato, zona y precio. Por esta razón, se ha tomado la decisión de reducir la base de datos a estas variables con el objetivo de simplificar el análisis y centrarse en aspectos necesarios para el trabajo en cuestión. No obstante, es fundamental reconocer que esta reducción de variables puede conllevar la pérdida de información relevante y potencialmente generar sesgos o limitaciones en la modelización adecuada de las dinámicas del mercado inmobiliario en Cali. Es esencial tener en cuenta estas consideraciones al interpretar los resultados y al realizar análisis posteriores.
library(dplyr)
vivienda <- vivienda %>% select(id,tipo, areaconst,parqueaderos,banios,habitaciones, estrato, zona, preciom, longitud, latitud)
2. Revisión y limpieza de la base de datos
Verificamos si la base de datos tiene valores faltantes
#install.packages("mice")
library(mice)
grafico<- md.pattern(vivienda, rotate.names = TRUE, )
De acuerdo con la grafica se obsserva:
6717 entidades se encuentran completos
1602 entidades tienen faltante unicamente en la variable parqueadero, por tal motivo, se interpreta como que estas viviendas no cuentan con parqueaderos. A continuacion se imputara el valor de 0 en estos elementos.
1 entidad cuenta unicamente con la variable precio, lo cual no es logico, ni aporta informacion relevante para los modelos, por lo que se decide eliminar la entidad.
2 entidades no cuentan registros en ninguna de las variables, por lo que se decide eliminar ambas entidades.
# Imputar el valor de 0 en elementos vacíos de la columna de parqueaderos
vivienda$parqueaderos[is.na(vivienda$parqueaderos)] <- 0
# Eliminar entidades cuando el ID está vacío
vivienda <- vivienda[!is.na(vivienda$id), ]
Comprobamos nuevamente el estado de la base de datos. Observando que esta quedo con 8319 entidades con 13 variables sin faltantes.
clases <- sapply(vivienda, class)
cant.item <- nrow(vivienda)
faltantes <- colSums(is.na(vivienda))
tablaresumen <- data.frame(Clase= clases, Cant.elementos = cant.item, Faltantes = faltantes)
print(tablaresumen)
## Clase Cant.elementos Faltantes
## id numeric 8319 0
## tipo character 8319 0
## areaconst numeric 8319 0
## parqueaderos numeric 8319 0
## banios numeric 8319 0
## habitaciones numeric 8319 0
## estrato numeric 8319 0
## zona character 8319 0
## preciom numeric 8319 0
## longitud numeric 8319 0
## latitud numeric 8319 0
Se realizó una revisión de datos duplicados, no encontrando ninguno.
datosduplicados<- vivienda[duplicated(vivienda),]
print(datosduplicados)
## # A tibble: 0 × 11
## # ℹ 11 variables: id <dbl>, tipo <chr>, areaconst <dbl>, parqueaderos <dbl>,
## # banios <dbl>, habitaciones <dbl>, estrato <dbl>, zona <chr>, preciom <dbl>,
## # longitud <dbl>, latitud <dbl>
Continuando con el analisis de la base de datos, se identifica la necesidad de verificar la uniformidad de los parametros, observando uniformidad entre ellos
zona <- table (vivienda$zona)
print(names(zona))
## [1] "Zona Centro" "Zona Norte" "Zona Oeste" "Zona Oriente" "Zona Sur"
tipo <- table (vivienda$tipo)
print(names(tipo))
## [1] "Apartamento" "Casa"
Se verificará la independencia de cada variable y se examinará la ausencia de alta correlación entre ellas. Este proceso es crucial para asegurar que las variables sean adecuadas para su uso en análisis posteriores, ya que la presencia de correlaciones fuertes entre variables puede introducir sesgos en los modelos predictivos o inferenciales.
library(GGally)
# Crear la gráfica con los ajustes deseados
ggpairs(vivienda,
upper = list(textsize = 5), # Reducir el tamaño de la letra
axisLabels = "rotate") + # Rotar las etiquetas del eje x
theme_grey(base_size = 10) + # Ajustar el tamaño de la trama global
theme(panel.spacing = unit(0.1, "lines")) # Ajustar el espacio entre los paneles
No se presentan correlaciones muy altas (mayor al 85%), esto sugiere que las variables son relativamente independientes entre sí, cada variable puede proporcionar información única y valiosa sobre las características de las viviendas sin estar demasiado influenciada por otras variables.
A continucion un resumen estadistico de la data final
summary(vivienda)
## id tipo areaconst parqueaderos
## Min. : 1 Length:8319 Min. : 30.0 Min. : 0.000
## 1st Qu.:2080 Class :character 1st Qu.: 80.0 1st Qu.: 1.000
## Median :4160 Mode :character Median : 123.0 Median : 1.000
## Mean :4160 Mean : 174.9 Mean : 1.482
## 3rd Qu.:6240 3rd Qu.: 229.0 3rd Qu.: 2.000
## Max. :8319 Max. :1745.0 Max. :10.000
## banios habitaciones estrato zona
## Min. : 0.000 Min. : 0.000 Min. :3.000 Length:8319
## 1st Qu.: 2.000 1st Qu.: 3.000 1st Qu.:4.000 Class :character
## Median : 3.000 Median : 3.000 Median :5.000 Mode :character
## Mean : 3.111 Mean : 3.605 Mean :4.634
## 3rd Qu.: 4.000 3rd Qu.: 4.000 3rd Qu.:5.000
## Max. :10.000 Max. :10.000 Max. :6.000
## preciom longitud latitud
## Min. : 58.0 Min. :-76.59 Min. :3.333
## 1st Qu.: 220.0 1st Qu.:-76.54 1st Qu.:3.381
## Median : 330.0 Median :-76.53 Median :3.416
## Mean : 433.9 Mean :-76.53 Mean :3.418
## 3rd Qu.: 540.0 3rd Qu.:-76.52 3rd Qu.:3.452
## Max. :1999.0 Max. :-76.46 Max. :3.498
Realizó un filtro a la base de datos que incluya solo las ofertas de: casas en la zona norte de la ciudad de Cali. Ademas se presentan los primeros 3 registros de las base de datos, las caracteristicas individuales y un mapa con los puntos de las bases.
vivienda1 <- vivienda %>% filter(tipo == "Casa", zona == "Zona Norte")
data( vivienda1)
head(vivienda1, 3)
## # A tibble: 3 × 11
## id tipo areaconst parqueaderos banios habitaciones estrato zona preciom
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 1209 Casa 150 2 4 6 5 Zona N… 320
## 2 1592 Casa 380 2 3 3 5 Zona N… 780
## 3 4057 Casa 445 0 7 6 6 Zona N… 750
## # ℹ 2 more variables: longitud <dbl>, latitud <dbl>
library(cowplot)
library(ggplot2)
library(ggpubr)
# Definir tema común para todas las gráficas
mi_tema <- theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1) # Rotar etiquetas del eje x
)
# Lista para almacenar las gráficas
plots <- list()
# Crear gráficas de barras para cada característica, excluyendo "id", "latitud", "longitud", "preciom" y "areaconst"
for (columna in names(vivienda1)) {
if (columna %in% c("id", "latitud", "longitud", "preciom", "areaconst")) {
next # Salta a la siguiente iteración si es una de las columnas que deseas excluir
}
plots[[columna]] <- ggplot(vivienda1, aes_string(x = columna)) +
geom_bar(fill = "gray", color = "black") + # Cambia el color de las barras según sea necesario
labs(title = columna) +
mi_tema # Aplica el tema común
}
# Agregar histogramas para las variables "preciom" y "areaconst"
plots[["preciom_hist"]] <- ggplot(vivienda1, aes(x = preciom)) +
geom_histogram(binwidth = 50, fill = "gray", color = "black") +
labs(title = "Histograma de Precios", x = "Precio", y = "Frecuencia") +
mi_tema # Aplica el tema común
plots[["areaconst_hist"]] <- ggplot(vivienda1, aes(x = areaconst)) +
geom_histogram(binwidth = 50, fill = "gray", color = "black") +
labs(title = "Histograma de Área Construida", x = "Área Construida", y = "Frecuencia") +
mi_tema # Aplica el tema común
# Mostrar los histogramas junto con las gráficas de barras
ggarrange(plotlist = plots, ncol = 2)
## $`1`
##
## $`2`
##
## $`3`
##
## $`4`
##
## attr(,"class")
## [1] "list" "ggarrange"
library(leaflet)
# Coordenadas del centro de Cali
lat_cali <- 3.4516
long_cali <- -76.5320
# Crear el mapa
map <- leaflet(vivienda1) %>%
addTiles() %>%
addMarkers(
lng = ~longitud,
lat = ~latitud,
popup = ~paste("ID:", id,
"<br>Zona:", enc2utf8(zona),
"<br>Tipo:", enc2utf8(tipo),
"<br>Estrato:", estrato,
"<br>Habitaciones:", habitaciones,
"<br>Baños:", banios,
"<br>Parqueadero:", parqueaderos,
"<br>Área construida:", areaconst),
clusterOptions = markerClusterOptions()
) %>%
setView(lng = long_cali, lat = lat_cali, zoom = 12)
map
De las consultas anteriores se observa:
La base de datos “vivienda1” muestra exclusivamente propiedades que cumplen con dos criterios específicos: estar ubicadas en la zona norte y ser casas. Sin embargo, en cuanto a otras características, como el tamaño, el número de habitaciones o el precio, se observa una amplia variedad entre las distintas propiedades registradas.
La base de datos “vivienda1” contiene 722 Inmuebles que cumplen con los dos criterios específicos: estar ubicadas en la zona norte y ser casas.
A partir del análisis del mapa, se evidencia que los inmuebles de la base de datos “vivienda1” están distribuidos en diferentes áreas de la ciudad de Cali y no están exclusivamente concentrados en la zona norte, a pesar de lo indicado en las etiquetas de la búsqueda. Esta discrepancia entre la ubicación real de los inmuebles y la información proporcionada refleja una posible inconsistencia en la recopilación o clasificación de datos.
Realizó un análisis exploratorio de datos enfocado en la correlación entre la variable respuesta (precio de la casa) en función del área construida, estrato, numero de baños, número de parqueaderos,numero de habitaciones y zona donde se ubica la vivienda.
# Cargar paquetes
library(dplyr)
library(plotly)
# Crear gráfico interactivo para la correlación entre precio y área construida
plot_area_precio <- plot_ly(data = vivienda, x = ~areaconst, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Área Construida:", areaconst)) %>%
layout(title = "Correlación entre Precio y Área Construida",
xaxis = list(title = "Área Construida"),
yaxis = list(title = "Precio"))
# Crear gráfico interactivo para la correlación entre precio y estrato
plot_estrato_precio <- plot_ly(data = vivienda, x = ~estrato, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Estrato:", estrato)) %>%
layout(title = "Correlación entre Precio y Estrato",
xaxis = list(title = "Estrato"),
yaxis = list(title = "Precio"))
# Crear gráfico interactivo para la correlación entre precio y número de baños
plot_baños_precio <- plot_ly(data = vivienda, x = ~banios, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Número de Baños:", banios)) %>%
layout(title = "Correlación entre Precio y Número de Baños",
xaxis = list(title = "Número de Baños"),
yaxis = list(title = "Precio"))
# Crear gráfico interactivo para la correlación entre precio y número de habitaciones
plot_habitaciones_precio <- plot_ly(data = vivienda, x = ~habitaciones, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Número de Habitaciones:", habitaciones)) %>%
layout(title = "Correlación entre Precio y Número de Habitaciones",
xaxis = list(title = "Número de Habitaciones"),
yaxis = list(title = "Precio"))
# Crear gráfico interactivo para la correlación entre precio y número de parqueaderos
plot_parqueaderos_precio <- plot_ly(data = vivienda, x = ~parqueaderos, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Parqueaderos:", areaconst)) %>%
layout(title = "Correlación entre Precio y Parqueaderos",
xaxis = list(title = "Número de parqueaderos"),
yaxis = list(title = "Precio"))
plot_area_precio
plot_estrato_precio
plot_baños_precio
plot_habitaciones_precio
plot_parqueaderos_precio
De las graficas anteriores se pueden concluir:
Precio vs. Área Construida: En general, en todas las zonas analizadas, existe una correlación positiva significativa entre el precio y el área construida. Esto sugiere que, independientemente de la zona, las viviendas más grandes tienden a tener precios más altos.
La zona oeste muestra la pendiente más pronunciada, lo que indica que un aumento en el área construida tiene un mayor impacto en el precio en esta zona en comparación con otras.
La zona oriente muestra la menor pendiente, lo que sugiere que el aumento en el área construida tiene el menor impacto en el precio en esta zona en comparación con otras áreas de la ciudad
Las zonas centro y oriente muestran un rango de precios más bajo en comparación con otras zonas y exhiben pendientes menos pronunciadas en la relación entre el precio y el área construida. Esto indica que, en estas zonas, las viviendas con el mismo tamaño tienden a tener precios menores en comparación con otras áreas de la ciudad.
Precio vs. Estrato: Se observó una correlación positiva entre el precio y el estrato en todas las zonas. Esto indica que, independientemente de la ubicación, las viviendas en estratos más altos tienden a tener precios más altos.
En las zonas centro y oriente, predominan las viviendas de estrato 3, con precios relativamente bajos en comparación con otras zonas
Las zonas norte, oeste y oriente presentan una distribución más uniforme entre los estratos 3, 4, 5 y 6, con precios que tienden a tener un mismo precio base y un tope correspondiente al estrato más alto.
Precio vs. Número de Baños: En todas las zonas analizadas, se encuentra una correlación positiva entre el precio de la vivienda y el número de baños. Esto sugiere que las viviendas con más baños tienden a tener precios más altos, lo cual es consistente independientemente de la ubicación geográfica.
En todas las zonas, se observa una variedad de oferta en términos de número de baños, que va desde 0 hasta 8 principalmente. Esto indica que los compradores tienen opciones para elegir viviendas con diferentes configuraciones de baños, lo que puede adaptarse a sus necesidades específicas.A pesar de esta variedad en la oferta de baños, se observa que tanto en la zona centro como en la oriente, los precios tienden a ser más bajos en comparación con otras zonas.
Precio vs. Número de Parqueaderos: Se observa una correlación positiva entre el precio de la vivienda y el número de parqueaderos en todas las zonas. Esto indica que las viviendas con más parqueaderos tienden a tener precios más altos, lo cual es consistente en todas las ubicaciones analizadas.
En la zona centro, la mayoría de las viviendas tienen un parqueadero, lo que contribuye a precios más bajos en comparación con otras zonas.
En las zonas oeste y norte, las viviendas tienen entre 1 y 4 parqueaderos, y se observa que a mayor número de parqueaderos, tanto el precio base como el tope son mayores.
En la zona oriente, la mayoría de las viviendas tienen entre 1 y 3 parqueaderos, apesar de esto los precios se mantienen bajos como en la zona centro.
En la zona sur, las viviendas tienen entre 1 y 6 parqueaderos, y aunque a mayor número de parqueaderos el precio base es mayor, el precio tope se mantiene estable.
Precio vs. Número de Habitaciones: La relación entre el precio de la vivienda y el número de habitaciones varía en función de la zona. Mientras que en algunas zonas puede existir una correlación positiva significativa, en otras puede ser más débil. Esto sugiere que el número de habitaciones puede influir en el precio de la vivienda de manera diferente según la ubicación geográfica y el contexto específico de cada zona.
En la zona centro y oriente, se encuentran viviendas principalmente con 2 a 9 habitaciones, donde la base y el tope de los precios incrementan de acuerdo con la dinámica de “entre más habitaciones, mayor precio”, y los precios tienden a ser más bajos que en otras zonas.
En la zona norte y oeste, hay un predominio de inmuebles con habitaciones entre 2 a 5 habitaciones. La base de los precios sigue la dinámica de “entre más habitaciones, mayor precio”, pero los topes tienden a tener su máximo en las habitaciones de 5 y luego a descender.
En la zona sur, se encuentran viviendas principalmente con 2 a 8 habitaciones. La base de los precios sigue la dinámica de “entre más habitaciones, mayor precio”, pero los topes de los precios se mantienen a pesar del aumento de las habitaciones.
Todas estas observaciónes sugieren que factores como la ubicación, la infraestructura cercana y la demanda del mercado pueden influir significativamente en la determinación de los precios de las viviendas en diferentes áreas de la ciudad.
Basandonos en consideraciones del caso, se extrajo la matriz de correlacion para las casas de la zona norte.
library(corrplot)
# Calcular la matriz de correlación
correlation_matrix <- cor(vivienda1[c("preciom", "areaconst", "estrato", "banios", "habitaciones", "parqueaderos")])
# Crear la matriz de correlación con colores y números
corrplot(correlation_matrix, method = "color", addCoef.col = "black",number.cex = 0.7)
correlation_matrix
## preciom areaconst estrato banios habitaciones parqueaderos
## preciom 1.0000000 0.7313480 0.6123503 0.5233357 0.3227096 0.3171472
## areaconst 0.7313480 1.0000000 0.4573818 0.4628152 0.3753323 0.3171473
## estrato 0.6123503 0.4573818 1.0000000 0.4083039 0.1073141 0.3495772
## banios 0.5233357 0.4628152 0.4083039 1.0000000 0.5755314 0.3267374
## habitaciones 0.3227096 0.3753323 0.1073141 0.5755314 1.0000000 0.2689443
## parqueaderos 0.3171472 0.3171473 0.3495772 0.3267374 0.2689443 1.0000000
Consentrandonos en la linea del precio, se evidencia que para las casas de la zona Norte de Cali:
Existe una correlación positiva significativa de 0.73 entre el precio de la casa y el área construida. Esto indica que a medida que aumenta el área construida, tiende a aumentar el precio de la vivienda.
Hay una correlación positiva de 0.61 entre el precio y el estrato socioeconómico de la vivienda. Esto sugiere que las viviendas en estratos más altos tienden a tener precios más altos.
Existe una correlación moderada positiva de 0.52 entre el número de baños y el precio de la casa. Esto indica que las viviendas con más baños tienden a tener precios más altos.
Hay una correlación positiva de 0.32 entre el número de habitaciones y el precio de la vivienda. Esto sugiere que las viviendas con más habitaciones tienden a tener precios más altos, aunque la correlación es más débil en comparación con otras características.
También se observa una correlación positiva, pero más débil, de 0.32 entre el número de parqueaderos y el precio de la vivienda. Esto indica que las viviendas con más parqueaderos pueden tener precios ligeramente más altos, pero la relación es menos significativa que otras características.
Realizó una estimacion de un modelo de regresión lineal múltiple con las variables del punto anterior (precio = f(área construida, estrato, número de cuartos, número de parqueaderos, número de baños ) )
Se decidió no normalizar los datos considerando la necesidad de interpretar los coeficientes para determinar su significancia estadística y coherencia contextual. La normalización podría introducir una complejidad adicional en la interpretación de los coeficientes del modelo, dificultando la comprensión de los resultados. Además, si el objetivo principal es una interpretación intuitiva de los coeficientes y no una comparación directa de la magnitud de los efectos entre diferentes variables, la normalización puede no ser necesaria.
Aunque la normalización es una práctica recomendada al realizar un modelo estadistico, en este caso específico, se prefirió mantener las variables en su escala original para facilitar la interpretación de los resultados. Es importante tener en cuenta que al trabajar con variables en diferentes escalas, existe el riesgo de que ciertas variables tengan un efecto desproporcionado en el modelo, lo que podría sesgar las estimaciones de los coeficientes.
Antes de proceder con la estimación del modelo de regresión lineal, es fundamental realizar una división adecuada de los datos disponibles. En este sentido, se lleva a cabo una separación aleatoria de la muestra en un conjunto de datos de entrenamiento y otro de prueba. Esta división permite evaluar la capacidad predictiva del modelo en datos no observados previamente, lo que es esencial para comprender su desempeño en situaciones reales.
Posteriormente, se procede a estimar el modelo utilizando el conjunto de entrenamiento y se evalúa su desempeño mediante diversas métricas de evaluación. Los detalles sobre la estimación del modelo, así como los resultados de su evaluación, se presentan en los anexos adjuntos para su referencia.”
set.seed(123) # Establecer semilla para reproducibilidad
indices_entrenamiento <- sample(1:nrow(vivienda1), 0.7 * nrow(vivienda1)) # 70% de los datos para entrenamiento
datos_entrenamiento <- vivienda1[indices_entrenamiento, ]
datos_prueba <- vivienda1[-indices_entrenamiento, ]
# Estimar el modelo con los datos de entrenamiento
modelo1 <- lm(preciom ~ areaconst + estrato + habitaciones + parqueaderos + banios, data = datos_entrenamiento)
# Resumen del modelo
summary(modelo1)
##
## Call:
## lm(formula = preciom ~ areaconst + estrato + habitaciones + parqueaderos +
## banios, data = datos_entrenamiento)
##
## Residuals:
## Min 1Q Median 3Q Max
## -674.01 -80.69 -15.62 52.50 914.60
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -243.60885 33.54114 -7.263 1.46e-12 ***
## areaconst 0.81694 0.05117 15.967 < 2e-16 ***
## estrato 89.39931 8.19779 10.905 < 2e-16 ***
## habitaciones 1.67536 4.63979 0.361 0.7182
## parqueaderos -8.10306 4.81803 -1.682 0.0932 .
## banios 28.74178 5.83754 4.924 1.16e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 149 on 499 degrees of freedom
## Multiple R-squared: 0.6712, Adjusted R-squared: 0.6679
## F-statistic: 203.7 on 5 and 499 DF, p-value: < 2.2e-16
El modelo de regresión lineal múltiple estimado para las casas de la zona norte de la ciudad de cali es:
preciom= −243.61 + 0.82 × areaconst + 89.40 × estrato + 1.67 × habitaciones − 8.10 × parqueaderos + 28.74× banios
El modelo de regresión lineal múltiple muestra que las variables “areaconst”, “estrato” y “banios” tienen coeficientes estadísticamente significativos (p < 0.05), mientras que las variables “habitaciones” y “parqueaderos” no lo son.
Los coeficientes estimados se interpretan así:
El intercepto indica el valor estimado de la variable respuesta (precio) cuando todas las variables predictoras son cero. Sin embargo, dado que todas las variables predictoras son variables contínuas y no tienen sentido cuando son cero, la interpretación del intercepto en este contexto puede no tener relevancia práctica directa.
El coeficiente para “areaconst” es de 0.81694, lo que indica que, manteniendo constantes las otras variables, por cada unidad adicional en el área construida, el precio de la vivienda aumenta en promedio $0.82. Este resultado es lógico y coherente, ya que es de esperar que viviendas más grandes tiendan a tener precios más altos.
Para “estrato”, el coeficiente es de 89.39931, lo que sugiere que, manteniendo constantes las otras variables, por cada unidad adicional en el estrato, el precio de la vivienda aumenta en promedio $89.40. Este resultado también es coherente, ya que es común que viviendas ubicadas en estratos más altos tengan precios más elevados.
El coeficiente para “banios” es de 28.74178, indicando que, manteniendo constantes las otras variables, por cada baño adicional, el precio de la vivienda aumenta en promedio $28.74. Esto es razonable, ya que los baños adicionales suelen agregar valor a una propiedad.
las variables “habitaciones” y “parqueaderos” no son estadísticamente significativas, lo que indica que no contribuyen de manera significativa a la predicción del precio de la vivienda en este modelo.
El coeficiente de determinación (R²) del modelo es de 0.6712, lo que significa que alrededor del 67.12% de la variabilidad en el precio de la vivienda puede ser explicada por las variables incluidas en el modelo. Este valor es relativamente alto y sugiere que el modelo tiene un buen ajuste en general.
Estas relaciones son consistentes con la matriz de correlación expuesta en el paso 2. Sin embargo, Para mejorar el modelo y potencialmente aumentar su capacidad predictiva, podríamos considerar las siguientes acciones:
Incluir variables adicionales: El modelo actual puede estar omitiendo variables importantes que influyen en el precio de la vivienda, como la ubicación exacta, la calidad de la construcción, la edad de la propiedad, las comodidades adicionales (piscina, gimnasio, terraza, etc.), y la proximidad a servicios y transporte.
Considerar transformaciones de variables: Podríamos explorar la posibilidad de transformar algunas variables para capturar relaciones no lineales con el precio de la vivienda. Por ejemplo, podríamos considerar el uso de logaritmos o polinomios de las variables predictoras para modelar relaciones no lineales.
La normalización puede ayudar a evitar problemas de sesgo debido a la disparidad en las escalas y puede mejorar la estabilidad numérica del modelo.
Realizó la validación de supuestos del modelo asi:
Normalidad de los residuos mediante el histograma de residuos, el gráfico de probabilidad normal y la prueba de Shapiro-Wilk.
Homocedasticidad mediante el gráfico de dispersión de residuos frente a valores ajustados y la prueba de Breusch-Pagan.
Linealidad mediante el gráfico de dispersión de los residuos.
Independencia de los residuos mediante el gráfico de autocorrelación de los residuos y la prueba de Durbin-Watson.
Influencia de observaciones y valores atípicos mediante el estadístico Cook’s D, el gráfico de distancia de Cook.
Multicolinealidad mediate el factor de inflación de la varianza (VIF).
# Histograma de residuos
hist(resid(modelo1))
# Gráfico de probabilidad normal
qqnorm(resid(modelo1))
qqline(resid(modelo1))
# Prueba de Shapiro-Wilk
shapiro.test(resid(modelo1))
##
## Shapiro-Wilk normality test
##
## data: resid(modelo1)
## W = 0.87908, p-value < 2.2e-16
El histograma de residuo busca una distribución aproximadamente simétrica y centrada en cero, sin embargo no es totalmente simétrica, la asimetría observada sugiere que la distribución de los residuos podría ser sesgada o no seguir exactamente una distribución normal.
Al compara la distribución de los residuos del modelo con una distribución teórica normal. La idea es que si los residuos se distribuyen normalmente, los puntos en el gráfico QQ deberían seguir una línea diagonal de 45 grados. En el gráfico se observa que los puntos tienden a ajustarse a la línea sin embargo no se ajustan totalmente, lo cual sugiere que los residuos no siguen exactamente una distribución normal.
El resultado del test de normalidad de Shapiro-Wilk muestra un estadístico de prueba (W) de 0.87908 y un valor p muy pequeño, prácticamente cero (p-value < 2.2e-16). Esto indica que hay evidencia significativa para rechazar la hipótesis nula de normalidad de los residuos. En otras palabras, los residuos del modelo no siguen una distribución normal.
# Gráfico de dispersión de residuos vs. valores ajustados
plot(modelo1, which = 1)
#prueba de Breusch-Pagan.
library(lmtest)
bptest(modelo1)
##
## studentized Breusch-Pagan test
##
## data: modelo1
## BP = 95.562, df = 5, p-value < 2.2e-16
En el gráfico de dispersión de residuos vs. valores ajustados se observa una dispersión creciente a medida que aumentan los valores ajustados, eso sugiere que la varianza de los errores aumenta con los valores ajustados, enmarcando una forma de abanico o embudo
El resultado del test de heterocedasticidad de Breusch-Pagan muestra que el valor p es prácticamente cero (p < 2.2e-16), se rechaza la hipótesis nula de homocedasticidad. Esto sugiere que hay evidencia significativa de heterocedasticidad en el modelo de regresión. Es decir, la varianza de los errores no es constante a lo largo de los diferentes niveles de las variables independientes.
# Gráfico de dispersión de residuos vs. cada variable independiente
plot(modelo1, which = c(3, 5, 6))
El objetivo de estos gráficos es verificar si los residuos tienen patrones sistemáticos. Se observa que una cantidad considerable de puntos se desvían de la línea horizontal, esto podría indicar una falta de linealidad en el modelo.
# Gráfico de autocorrelación de los residuos
acf(resid(modelo1))
# Prueba de Durbin-Watson
dwtest(modelo1)
##
## Durbin-Watson test
##
## data: modelo1
## DW = 2.004, p-value = 0.5173
## alternative hypothesis: true autocorrelation is greater than 0
El gráfico muestra que algunas de las barras sobrepasan ligeramente las bandas de confianza, lo que sugiere que la autocorrelación en los residuos en esos intervalos de tiempo es mínima. Sin embargo, la mayoría de las barras no están cerca de las bandas, lo que indica que la autocorrelación en esos puntos específicos es insignificante. Esto sugiere que el modelo captura en gran medida la estructura temporal de los datos, pero puede haber algunas áreas donde la autocorrelación no se elimina por completo.
El resultado del test de Durbin-Watson indica que el estadístico de Durbin-Watson (DW) de aproximadamente 2.004, con un valor p de 0.5173. Dado que el valor p es mayor que cualquier nivel de significancia razonable, no hay suficiente evidencia para rechazar la hipótesis nula de no autocorrelación. Esto sugiere que no hay autocorrelación positiva en los residuos del modelo, lo que respalda el supuesto de independencia de los residuos en el modelo de regresión.
# Estadístico Cook's D
plot(modelo1, which = 4)
# Gráfico de distancia de Cook
cooks.distance(modelo1)
## 1 2 3 4 5 6
## 2.279932e-04 1.012841e-04 5.784154e-03 1.145558e-03 7.713443e-04 2.377288e-02
## 7 8 9 10 11 12
## 3.796949e-04 1.685710e-03 7.243558e-05 2.733613e-04 7.198468e-07 7.543724e-05
## 13 14 15 16 17 18
## 2.034048e-05 1.862405e-04 1.434035e-06 2.464105e-06 3.103266e-05 1.384681e-03
## 19 20 21 22 23 24
## 5.925146e-06 5.722571e-04 3.301744e-05 1.118588e-04 4.710540e-02 5.830435e-07
## 25 26 27 28 29 30
## 8.907878e-06 4.432527e-05 4.423224e-04 2.900464e-04 4.612854e-03 2.073566e-03
## 31 32 33 34 35 36
## 8.993409e-07 7.552642e-04 1.072216e-05 2.304606e-05 1.498900e-02 1.404737e-08
## 37 38 39 40 41 42
## 2.024910e-03 1.916393e-04 4.999929e-04 1.935761e-06 3.217982e-04 3.570698e-04
## 43 44 45 46 47 48
## 2.474841e-06 4.408068e-04 4.672456e-05 1.427807e-04 2.889079e-02 1.847277e-03
## 49 50 51 52 53 54
## 5.848405e-04 8.993409e-07 9.757044e-05 4.592583e-05 2.755285e-03 7.790876e-04
## 55 56 57 58 59 60
## 3.130448e-03 2.415388e-02 1.079763e-04 2.628885e-04 7.095811e-04 3.572094e-05
## 61 62 63 64 65 66
## 3.517222e-04 4.529822e-04 3.983950e-03 3.485105e-03 1.244529e-01 1.887929e-04
## 67 68 69 70 71 72
## 2.430864e-05 8.985846e-05 1.001558e-04 1.298285e-03 4.989723e-04 1.458190e-04
## 73 74 75 76 77 78
## 5.638067e-04 1.720290e-06 7.583502e-04 9.385575e-04 3.703340e-04 2.207517e-03
## 79 80 81 82 83 84
## 9.141463e-05 6.891495e-02 6.192403e-06 3.113344e-07 6.088262e-04 3.060304e-04
## 85 86 87 88 89 90
## 2.066286e-05 9.088719e-03 1.712509e-03 1.956082e-04 3.354443e-05 3.672439e-02
## 91 92 93 94 95 96
## 3.904400e-04 2.535732e-04 2.530691e-04 4.707095e-04 3.123720e-03 8.916885e-09
## 97 98 99 100 101 102
## 2.131764e-06 1.800931e-05 5.027329e-05 1.168849e-04 7.125511e-06 9.714418e-04
## 103 104 105 106 107 108
## 2.074832e-01 2.563853e-03 3.507050e-04 4.308849e-05 9.544539e-03 3.317760e-04
## 109 110 111 112 113 114
## 7.736181e-03 9.662640e-06 2.957897e-04 2.208249e-04 7.194267e-05 3.404175e-04
## 115 116 117 118 119 120
## 3.633248e-05 3.113344e-07 1.017018e-04 3.634250e-04 1.447464e-04 1.949443e-05
## 121 122 123 124 125 126
## 1.696895e-04 7.970823e-05 8.711325e-05 1.171019e-04 2.320808e-04 1.690421e-04
## 127 128 129 130 131 132
## 4.868605e-04 1.795635e-02 7.278249e-03 1.431265e-08 3.633370e-03 2.442154e-04
## 133 134 135 136 137 138
## 1.312157e-04 3.320651e-03 2.710681e-03 1.391677e-04 1.030333e-03 1.724369e-03
## 139 140 141 142 143 144
## 1.978224e-04 5.205058e-06 1.090050e-03 3.374905e-03 1.260910e-04 9.558607e-06
## 145 146 147 148 149 150
## 4.237139e-05 1.953286e-04 5.866921e-03 2.836755e-04 3.385017e-01 2.034616e-05
## 151 152 153 154 155 156
## 7.580046e-04 5.712925e-04 2.797042e-04 1.019844e-03 1.600543e-02 4.999382e-05
## 157 158 159 160 161 162
## 4.113902e-04 1.146106e-03 1.343563e-05 1.556397e-03 4.602410e-04 1.107212e-04
## 163 164 165 166 167 168
## 2.694240e-05 5.344939e-04 3.608894e-06 8.126263e-05 7.143976e-04 4.261448e-05
## 169 170 171 172 173 174
## 6.981582e-04 1.451562e-04 2.600223e-03 5.620959e-03 1.473907e-05 1.496869e-03
## 175 176 177 178 179 180
## 2.022087e-04 2.451816e-03 1.179903e-05 4.218707e-02 7.696727e-04 2.003780e-04
## 181 182 183 184 185 186
## 2.316837e-05 1.802976e-07 1.703383e-03 5.961919e-03 5.900026e-04 7.107304e-04
## 187 188 189 190 191 192
## 1.358687e-02 3.058408e-05 9.008762e-06 2.423401e-05 3.869670e-05 1.066820e-03
## 193 194 195 196 197 198
## 8.117456e-04 6.989195e-03 1.595977e-02 2.319544e-03 1.803750e-05 4.640190e-04
## 199 200 201 202 203 204
## 5.196769e-04 9.028111e-05 3.136840e-04 1.159426e-02 3.484159e-05 1.669267e-04
## 205 206 207 208 209 210
## 4.700444e-04 8.354721e-03 1.470377e-04 1.771138e-05 1.715124e-05 1.197155e-04
## 211 212 213 214 215 216
## 1.068481e-02 2.506360e-08 6.585763e-06 3.810722e-05 1.032712e-04 1.551497e-04
## 217 218 219 220 221 222
## 1.223145e-03 1.078013e-03 6.497034e-04 8.236215e-05 1.352230e-05 2.204199e-04
## 223 224 225 226 227 228
## 1.994232e-04 6.609715e-08 7.574447e-06 5.188078e-05 1.224970e-03 1.896814e-06
## 229 230 231 232 233 234
## 1.825811e-04 7.211820e-05 1.533223e-05 8.685753e-05 7.332833e-04 2.846670e-04
## 235 236 237 238 239 240
## 6.974714e-04 5.582192e-04 4.886263e-03 1.006333e-03 5.510382e-04 4.362309e-06
## 241 242 243 244 245 246
## 1.921057e-03 6.025544e-04 1.078620e-02 1.902979e-04 2.736094e-04 1.281439e-05
## 247 248 249 250 251 252
## 5.906002e-04 3.105034e-04 4.452326e-04 1.420444e-03 1.175951e-05 3.436877e-03
## 253 254 255 256 257 258
## 9.200223e-05 8.123739e-05 1.381795e-04 2.230711e-05 3.727512e-03 5.778650e-04
## 259 260 261 262 263 264
## 7.922762e-04 1.561863e-02 4.091582e-02 3.815938e-05 7.874021e-06 1.727680e-04
## 265 266 267 268 269 270
## 4.423306e-09 4.745960e-05 7.160607e-04 5.613552e-06 7.458235e-03 2.467707e-03
## 271 272 273 274 275 276
## 1.710633e-03 6.244764e-04 2.195786e-04 5.785472e-05 7.082449e-04 3.734180e-05
## 277 278 279 280 281 282
## 1.451562e-04 1.178639e-04 2.313169e-04 2.936427e-04 2.455879e-04 3.725956e-05
## 283 284 285 286 287 288
## 1.153720e-05 2.963701e-04 5.181402e-04 2.050560e-04 2.941013e-03 2.865622e-06
## 289 290 291 292 293 294
## 2.844792e-05 6.813256e-06 2.439626e-03 4.456500e-04 1.777624e-07 6.392366e-03
## 295 296 297 298 299 300
## 1.409738e-03 8.116195e-04 3.698192e-06 1.048358e-04 1.251731e-03 4.257580e-03
## 301 302 303 304 305 306
## 5.977860e-05 1.359368e-10 8.144768e-05 4.424718e-03 6.327865e-04 1.160897e-06
## 307 308 309 310 311 312
## 5.354492e-04 2.397414e-04 8.105903e-04 1.327995e-04 2.935247e-08 6.827778e-03
## 313 314 315 316 317 318
## 9.143478e-05 7.366735e-04 6.422588e-08 7.190829e-04 1.848617e-03 2.021037e-02
## 319 320 321 322 323 324
## 8.036428e-04 6.874880e-04 1.338340e-04 1.891454e-04 1.319873e-04 3.829533e-04
## 325 326 327 328 329 330
## 5.653382e-04 3.623984e-04 5.439743e-05 1.496329e-03 1.197006e-04 2.595230e-03
## 331 332 333 334 335 336
## 7.835936e-06 4.822109e-04 5.565860e-04 2.928825e-02 5.403317e-04 9.911137e-03
## 337 338 339 340 341 342
## 2.551502e-03 1.494734e-06 3.437742e-04 2.763168e-03 1.053272e-04 1.333253e-04
## 343 344 345 346 347 348
## 1.167790e-03 3.708928e-04 4.684165e-04 6.533194e-02 4.880744e-04 8.564516e-04
## 349 350 351 352 353 354
## 1.489925e-04 7.481893e-05 1.840880e-06 4.027767e-04 1.500582e-07 1.069392e-03
## 355 356 357 358 359 360
## 6.374140e-03 1.275256e-02 1.034736e-04 2.555233e-04 1.419131e-02 7.341477e-04
## 361 362 363 364 365 366
## 4.045374e-04 6.162554e-05 2.311208e-08 9.662640e-06 2.048865e-05 3.396473e-06
## 367 368 369 370 371 372
## 2.964318e-06 6.059515e-05 1.907358e-04 2.258625e-02 4.063649e-05 8.400243e-04
## 373 374 375 376 377 378
## 1.652324e-04 6.611200e-04 2.532352e-04 3.203636e-04 5.620362e-05 1.388869e-04
## 379 380 381 382 383 384
## 3.369955e-03 7.694166e-05 8.235909e-05 1.089790e-03 1.989051e-04 6.744140e-04
## 385 386 387 388 389 390
## 5.935880e-04 3.139743e-03 3.172565e-06 2.363909e-03 6.178385e-04 4.160457e-03
## 391 392 393 394 395 396
## 2.822273e-04 1.181645e-04 1.479144e-04 1.421947e-03 3.406442e-05 7.491176e-06
## 397 398 399 400 401 402
## 3.766733e-04 1.353634e-04 5.845912e-05 1.864277e-04 9.609706e-05 2.434745e-05
## 403 404 405 406 407 408
## 7.027579e-04 3.745535e-04 8.653236e-04 6.150014e-04 2.841102e-04 2.147675e-04
## 409 410 411 412 413 414
## 2.309187e-01 1.163495e-03 6.319593e-05 2.662019e-03 6.636017e-04 5.963645e-05
## 415 416 417 418 419 420
## 5.986853e-04 8.930133e-05 4.775065e-04 2.598377e-04 1.050269e-04 1.277301e-05
## 421 422 423 424 425 426
## 4.034267e-04 1.627889e-03 2.232610e-04 6.224198e-04 4.425129e-04 5.111375e-07
## 427 428 429 430 431 432
## 8.584791e-06 3.019792e-07 2.274482e-03 2.914801e-06 2.470846e-05 2.167731e-03
## 433 434 435 436 437 438
## 7.374358e-04 3.873362e-04 1.017214e-03 5.891364e-04 3.976010e-02 1.059425e-03
## 439 440 441 442 443 444
## 5.223037e-06 9.940492e-05 3.728366e-05 2.032051e-05 2.360465e-03 2.960875e-05
## 445 446 447 448 449 450
## 7.627823e-03 2.821010e-02 1.599694e-03 2.151330e-04 5.957753e-04 2.333162e-04
## 451 452 453 454 455 456
## 7.825450e-05 3.288767e-03 1.285366e-02 1.068481e-02 1.213721e-04 9.834600e-04
## 457 458 459 460 461 462
## 1.206258e-03 1.162446e-03 3.980883e-05 6.708531e-04 9.662640e-06 5.255364e-06
## 463 464 465 466 467 468
## 2.135871e-03 1.798012e-06 7.471956e-04 1.834768e-05 2.039576e-03 1.060725e-05
## 469 470 471 472 473 474
## 2.609109e-03 3.335347e-03 1.180547e-04 5.091373e-06 3.541945e-06 7.018522e-05
## 475 476 477 478 479 480
## 1.685711e-06 1.569286e-04 2.222266e-06 2.264258e-04 2.729355e-04 2.521170e-03
## 481 482 483 484 485 486
## 1.016154e-04 6.416877e-06 4.349290e-04 4.420360e-04 3.447505e-04 1.901929e-03
## 487 488 489 490 491 492
## 9.666440e-07 3.630026e-04 5.215049e-04 1.054298e-05 3.356455e-03 2.059657e-01
## 493 494 495 496 497 498
## 5.339174e-06 5.392519e-05 7.821227e-04 1.931771e-03 9.152429e-04 4.979159e-04
## 499 500 501 502 503 504
## 1.259585e-05 2.171599e-04 2.487904e-04 2.572431e-04 1.673613e-02 8.751148e-05
## 505
## 1.053780e-04
De los resultados se observa que varias muestras tienen una influencia mayor en la estimación de los coeficientes de la regresión, las lineas que sobresalen como las 103,149 y 409. Esto puede deberse a varios factores, como valores atípicos en esas observaciones o características particulares que hacen que tengan un peso considerable en la relación entre las variables predictoras y la variable de respuesta.
# Calcular el factor de inflación de la varianza (VIF)
library(car)
vif1<-vif(modelo1)
print (vif1)
## areaconst estrato habitaciones parqueaderos banios
## 1.521749 1.480024 1.652040 1.215842 1.888384
Los valores de VIF son todos menores a 10, lo que sugiere que la multicolinealidad entre las variables independientes no es un problema importante en este modelo.
las evaluaciones visuales y estadísticas de los residuos indican claramente que no cumplen con los supuestos clave del modelo de regresión lineal. Las violaciones de la normalidad, heterocedasticidad y falta de linealidad pueden afectar la validez de las inferencias realizadas a partir del modelo y la precisión de las predicciones.Todas estas limitaciones combinadas sugieren que el modelo de regresión lineal desarrollado no es apropiado para explicar completamente la variabilidad en los precios de las casas en la zona norte de Cali, basado en las variables predictoras seleccionadas. En consecuencia, utilizar este modelo en su forma actual para tomar decisiones críticas o realizar predicciones precisas puede resultar en estimaciones inexactas y sesgadas. Si se requiere un modelo más confiable, podría ser necesario explorar diferentes enfoques o técnicas de modelado que aborden estas limitaciones, como la transformación de variables, el uso de modelos no lineales o la consideración de métodos robustos que sean menos sensibles a las violaciones de los supuestos.
Con el modelo identificado, se predijo el precio de la vivienda utilizando las características de la primera solicitud.
solicitud1 <- data.frame(estrato = c(4, 5), areaconst = 200, habitaciones = 4, banios = 2, parqueaderos = 1)
# Predecir precio según características vivienda 1
predict(modelo1, newdata = solicitud1)
## 1 2
## 333.4589 422.8582
De acuerdo con el modelo correspondiente para las casas en la zona norte de la ciudad de Cali, que cuenten con 4 habitaciones, 2 baños, 1 parqueadero y un área construida de 200 metros cuadrados en un estrato 4, su precio sería de 333,458,900 de pesos colombianos. En cuanto al inmueble con las mismas características pero en un estrato 5, su precio sería de 422,858,200 de pesos colombianos.
Se empleó la base de datos de vivienda 1 para identificar inmuebles que cumplan con los criterios de la solicitud 1. Posteriormente, se utilizó el modelo1 previamente desarrollado para evaluar la oferta de casa en la zona Norte de la ciudad de Cali de la siguiente manera:
predvivi1 <-predict(modelo1, newdata = vivienda1)
vivienda1$precio_predicho <- predvivi1
vivienda1$Valoracion <- ifelse(vivienda1$preciom < vivienda1$precio_predicho, "oferta",
ifelse(vivienda1$preciom == vivienda1$precio_predicho, "neutral", "costosa"))
vivienda1
## # A tibble: 722 × 13
## id tipo areaconst parqueaderos banios habitaciones estrato zona preciom
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 1209 Casa 150 2 4 6 5 Zona … 320
## 2 1592 Casa 380 2 3 3 5 Zona … 780
## 3 4057 Casa 445 0 7 6 6 Zona … 750
## 4 4460 Casa 355 3 5 5 4 Zona … 625
## 5 6081 Casa 237 2 6 6 5 Zona … 750
## 6 7824 Casa 160 1 4 5 4 Zona … 600
## 7 7987 Casa 200 4 4 5 5 Zona … 420
## 8 3495 Casa 118 2 4 4 5 Zona … 490
## 9 141 Casa 160 0 2 3 3 Zona … 230
## 10 243 Casa 435 0 0 0 3 Zona … 190
## # ℹ 712 more rows
## # ℹ 4 more variables: longitud <dbl>, latitud <dbl>, precio_predicho <dbl>,
## # Valoracion <chr>
oferta1 <- subset(vivienda1,
estrato %in% solicitud1$estrato &
areaconst >= solicitud1$areaconst &
habitaciones >= solicitud1$habitaciones &
banios >= solicitud1$banios &
parqueaderos >= solicitud1$parqueaderos &
preciom <= 350 &
Valoracion=="oferta" )
oferta1
## # A tibble: 34 × 13
## id tipo areaconst parqueaderos banios habitaciones estrato zona preciom
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 4210 Casa 200 3 3 4 5 Zona … 350
## 2 4267 Casa 202 1 4 5 5 Zona … 335
## 3 4800 Casa 250 2 4 4 5 Zona … 340
## 4 4209 Casa 300 3 5 6 5 Zona … 350
## 5 4422 Casa 240 2 3 6 5 Zona … 350
## 6 4458 Casa 270 2 4 4 4 Zona … 315
## 7 4483 Casa 250 1 4 6 5 Zona … 342
## 8 1009 Casa 243 1 4 5 5 Zona … 250
## 9 1270 Casa 203 2 2 5 5 Zona … 350
## 10 3352 Casa 300 3 4 4 4 Zona … 335
## # ℹ 24 more rows
## # ℹ 4 more variables: longitud <dbl>, latitud <dbl>, precio_predicho <dbl>,
## # Valoracion <chr>
library(leaflet)
# Coordenadas del centro de Cali
lat_cali <- 3.4516
long_cali <- -76.5320
# Crear el mapa
mapsol1 <- leaflet(oferta1) %>%
addTiles() %>%
addMarkers(
lng = ~longitud,
lat = ~latitud,
popup = ~paste("ID:", id,
"<br>Zona:", enc2utf8(zona),
"<br>Tipo:", enc2utf8(tipo),
"<br>Estrato:", estrato,
"<br>Habitaciones:", habitaciones,
"<br>Baños:", banios,
"<br>Parqueadero:", parqueaderos,
"<br>Área construida:", areaconst,
"<br>Valoración:",Valoracion)
) %>%
setView(lng = long_cali, lat = lat_cali, zoom = 12)
mapsol1
Se identificaron un total de 34 casas en la zona norte de Cali que cumplen con los requerimientos establecidos en la solicitud 1. Es importante destacar que todas estas viviendas están por debajo del costo previsto por el modelo desarrollado. Este hallazgo sugiere que existen múltiples opciones disponibles que se ajustan a los criterios de búsqueda y que además ofrecen un valor económico favorable en comparación con las estimaciones realizadas por el modelo.
Realizó un filtro a la base de datos que incluya solo las ofertas de: apartamentos en la zona sur de la ciudad de Cali. Ademas se presentan los primeros 3 registros de las base de datos, las caracteristicas individuales y un mapa con los puntos de las bases.
vivienda2 <- vivienda %>% filter(tipo == "Apartamento", zona == "Zona Sur")
data( vivienda2)
head(vivienda2, 3)
## # A tibble: 3 × 11
## id tipo areaconst parqueaderos banios habitaciones estrato zona preciom
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 5098 Aparta… 96 1 2 3 4 Zona… 290
## 2 698 Aparta… 40 1 1 2 3 Zona… 78
## 3 8199 Aparta… 194 2 5 3 6 Zona… 875
## # ℹ 2 more variables: longitud <dbl>, latitud <dbl>
library(cowplot)
library(ggplot2)
library(ggpubr)
# Definir tema común para todas las gráficas
mi_tema <- theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1) # Rotar etiquetas del eje x
)
# Lista para almacenar las gráficas
plots <- list()
# Crear gráficas de barras para cada característica, excluyendo "id", "latitud", "longitud", "preciom" y "areaconst"
for (columna in names(vivienda2)) {
if (columna %in% c("id", "latitud", "longitud", "preciom", "areaconst")) {
next # Salta a la siguiente iteración si es una de las columnas que deseas excluir
}
plots[[columna]] <- ggplot(vivienda2, aes_string(x = columna)) +
geom_bar(fill = "gray", color = "black") + # Cambia el color de las barras según sea necesario
labs(title = columna) +
mi_tema # Aplica el tema común
}
# Agregar histogramas para las variables "preciom" y "areaconst"
plots[["preciom_hist"]] <- ggplot(vivienda2, aes(x = preciom)) +
geom_histogram(binwidth = 50, fill = "gray", color = "black") +
labs(title = "Histograma de Precios", x = "Precio", y = "Frecuencia") +
mi_tema # Aplica el tema común
plots[["areaconst_hist"]] <- ggplot(vivienda2, aes(x = areaconst)) +
geom_histogram(binwidth = 50, fill = "gray", color = "black") +
labs(title = "Histograma de Área Construida", x = "Área Construida", y = "Frecuencia") +
mi_tema # Aplica el tema común
# Mostrar los histogramas junto con las gráficas de barras
ggarrange(plotlist = plots, ncol = 2)
## $`1`
##
## $`2`
##
## $`3`
##
## $`4`
##
## attr(,"class")
## [1] "list" "ggarrange"
library(leaflet)
# Coordenadas del centro de Cali
lat_cali <- 3.4516
long_cali <- -76.5320
# Crear el mapa
map <- leaflet(vivienda2) %>%
addTiles() %>%
addMarkers(
lng = ~longitud,
lat = ~latitud,
popup = ~paste("ID:", id,
"<br>Zona:", enc2utf8(zona),
"<br>Tipo:", enc2utf8(tipo),
"<br>Estrato:", estrato,
"<br>Habitaciones:", habitaciones,
"<br>Baños:", banios,
"<br>Parqueadero:", parqueaderos,
"<br>Área construida:", areaconst),
clusterOptions = markerClusterOptions()
) %>%
setView(lng = long_cali, lat = lat_cali, zoom = 12)
map
De las consultas anteriores se observa:
La base de datos “vivienda2” muestra exclusivamente propiedades que cumplen con dos criterios específicos: estar ubicadas en la zona sur y ser apartamentos. Sin embargo, en cuanto a otras características, como el tamaño, el número de habitaciones o el precio, se observa una amplia variedad entre las distintas propiedades registradas.
La base de datos “vivienda2” contiene 2787 Inmuebles que cumplen con los dos criterios específicos: estar ubicadas en la zona sur y ser apartamentos.
A partir del análisis del mapa, se evidencia que los inmuebles de la base de datos “vivienda2” están distribuidos en diferentes áreas de la ciudad de Cali y no están exclusivamente concentrados en la zona sur, a pesar de lo indicado en las etiquetas de la búsqueda. Esta discrepancia entre la ubicación real de los inmuebles y la información proporcionada refleja una posible inconsistencia en la recopilación o clasificación de datos.
Realizó un análisis exploratorio de datos enfocado en la correlación entre la variable respuesta (precio de la casa) en función del área construida, estrato, numero de baños, número de parqueaderos ,numero de habitaciones y zona donde se ubica la vivienda.
# Cargar paquetes
library(dplyr)
library(plotly)
# Crear gráfico interactivo para la correlación entre precio y área construida
plot_area_precio <- plot_ly(data = vivienda, x = ~areaconst, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Área Construida:", areaconst)) %>%
layout(title = "Correlación entre Precio y Área Construida",
xaxis = list(title = "Área Construida"),
yaxis = list(title = "Precio"))
# Crear gráfico interactivo para la correlación entre precio y estrato
plot_estrato_precio <- plot_ly(data = vivienda, x = ~estrato, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Estrato:", estrato)) %>%
layout(title = "Correlación entre Precio y Estrato",
xaxis = list(title = "Estrato"),
yaxis = list(title = "Precio"))
# Crear gráfico interactivo para la correlación entre precio y número de baños
plot_baños_precio <- plot_ly(data = vivienda, x = ~banios, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Número de Baños:", banios)) %>%
layout(title = "Correlación entre Precio y Número de Baños",
xaxis = list(title = "Número de Baños"),
yaxis = list(title = "Precio"))
# Crear gráfico interactivo para la correlación entre precio y número de habitaciones
plot_habitaciones_precio <- plot_ly(data = vivienda, x = ~habitaciones, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Número de Habitaciones:", habitaciones)) %>%
layout(title = "Correlación entre Precio y Número de Habitaciones",
xaxis = list(title = "Número de Habitaciones"),
yaxis = list(title = "Precio"))
# Crear gráfico interactivo para la correlación entre precio y número de parqueaderos
plot_parqueaderos_precio <- plot_ly(data = vivienda, x = ~parqueaderos, y = ~preciom, color = ~zona,
type = "scatter", mode = "markers", marker = list(size = 10),
text = ~paste("Zona:", zona, "<br>Precio:", preciom, "<br>Parqueaderos:", areaconst)) %>%
layout(title = "Correlación entre Precio y Parqueaderos",
xaxis = list(title = "Número de parqueaderos"),
yaxis = list(title = "Precio"))
plot_area_precio
plot_estrato_precio
plot_baños_precio
plot_habitaciones_precio
plot_parqueaderos_precio
De las graficas anteriores se pueden concluir:
Precio vs. Área Construida: En general, en todas las zonas analizadas, existe una correlación positiva significativa entre el precio y el área construida. Esto sugiere que, independientemente de la zona, las viviendas más grandes tienden a tener precios más altos.
La zona oeste muestra la pendiente más pronunciada, lo que indica que un aumento en el área construida tiene un mayor impacto en el precio en esta zona en comparación con otras.
La zona oriente muestra la menor pendiente, lo que sugiere que el aumento en el área construida tiene el menor impacto en el precio en esta zona en comparación con otras áreas de la ciudad
Las zonas centro y oriente muestran un rango de precios más bajo en comparación con otras zonas y exhiben pendientes menos pronunciadas en la relación entre el precio y el área construida. Esto indica que, en estas zonas, las viviendas con el mismo tamaño tienden a tener precios menores en comparación con otras áreas de la ciudad.
Precio vs. Estrato: Se observó una correlación positiva entre el precio y el estrato en todas las zonas. Esto indica que, independientemente de la ubicación, las viviendas en estratos más altos tienden a tener precios más altos.
En las zonas centro y oriente, predominan las viviendas de estrato 3, con precios relativamente bajos en comparación con otras zonas
Las zonas norte, oeste y oriente presentan una distribución más uniforme entre los estratos 3, 4, 5 y 6, con precios que tienden a tener un mismo precio base y un tope correspondiente al estrato más alto.
Precio vs. Número de Baños: En todas las zonas analizadas, se encuentra una correlación positiva entre el precio de la vivienda y el número de baños. Esto sugiere que las viviendas con más baños tienden a tener precios más altos, lo cual es consistente independientemente de la ubicación geográfica.
En todas las zonas, se observa una variedad de oferta en términos de número de baños, que va desde 0 hasta 8 principalmente. Esto indica que los compradores tienen opciones para elegir viviendas con diferentes configuraciones de baños, lo que puede adaptarse a sus necesidades específicas.A pesar de esta variedad en la oferta de baños, se observa que tanto en la zona centro como en la oriente, los precios tienden a ser más bajos en comparación con otras zonas.
Precio vs. Número de Parqueaderos: Se observa una correlación positiva entre el precio de la vivienda y el número de parqueaderos en todas las zonas. Esto indica que las viviendas con más parqueaderos tienden a tener precios más altos, lo cual es consistente en todas las ubicaciones analizadas.
En la zona centro, la mayoría de las viviendas tienen un parqueadero, lo que contribuye a precios más bajos en comparación con otras zonas.
En las zonas oeste y norte, las viviendas tienen entre 1 y 4 parqueaderos, y se observa que a mayor número de parqueaderos, tanto el precio base como el tope son mayores.
En la zona oriente, la mayoría de las viviendas tienen entre 1 y 3 parqueaderos, apesar de esto los precios se mantienen bajos como en la zona centro.
En la zona sur, las viviendas tienen entre 1 y 6 parqueaderos, y aunque a mayor número de parqueaderos el precio base es mayor, el precio tope se mantiene estable.
Precio vs. Número de Habitaciones: La relación entre el precio de la vivienda y el número de habitaciones varía en función de la zona. Mientras que en algunas zonas puede existir una correlación positiva significativa, en otras puede ser más débil. Esto sugiere que el número de habitaciones puede influir en el precio de la vivienda de manera diferente según la ubicación geográfica y el contexto específico de cada zona.
En la zona centro y oriente, se encuentran viviendas principalmente con 2 a 9 habitaciones, donde la base y el tope de los precios incrementan de acuerdo con la dinámica de “entre más habitaciones, mayor precio”, y los precios tienden a ser más bajos que en otras zonas.
En la zona norte y oeste, hay un predominio de inmuebles con habitaciones entre 2 a 5 habitaciones. La base de los precios sigue la dinámica de “entre más habitaciones, mayor precio”, pero los topes tienden a tener su máximo en las habitaciones de 5 y luego a descender.
En la zona sur, se encuentran viviendas principalmente con 2 a 8 habitaciones. La base de los precios sigue la dinámica de “entre más habitaciones, mayor precio”, pero los topes de los precios se mantienen a pesar del aumento de las habitaciones.
Todas estas observaciónes sugieren que factores como la ubicación, la infraestructura cercana y la demanda del mercado pueden influir significativamente en la determinación de los precios de las viviendas en diferentes áreas de la ciudad.
Basandonos en consideraciones del caso, se extrajo la matriz de correlacion para los apartamentos de la zona sur.
library(corrplot)
# Calcular la matriz de correlación
correlation_matrix <- cor(vivienda2[c("preciom", "areaconst", "estrato", "banios", "habitaciones", "parqueaderos")])
# Crear la matriz de correlación con colores y números
corrplot(correlation_matrix, method = "color", addCoef.col = "black",number.cex = 0.7)
correlation_matrix
## preciom areaconst estrato banios habitaciones parqueaderos
## preciom 1.0000000 0.7579955 0.6727067 0.7196705 0.3317538 0.6747497
## areaconst 0.7579955 1.0000000 0.4815593 0.6618179 0.4339608 0.5586775
## estrato 0.6727067 0.4815593 1.0000000 0.5686171 0.2125953 0.5491353
## banios 0.7196705 0.6618179 0.5686171 1.0000000 0.5149227 0.5651455
## habitaciones 0.3317538 0.4339608 0.2125953 0.5149227 1.0000000 0.2863117
## parqueaderos 0.6747497 0.5586775 0.5491353 0.5651455 0.2863117 1.0000000
Consentrandonos en la linea del precio, se evidencia que para los apartamentos de la zona sur de Cali:
Existe una correlación positiva significativa de 0.76 entre el precio de la casa y el área construida. Esto indica que a medida que aumenta el área construida, tiende a aumentar el precio de la vivienda.
Hay una correlación positiva de 0.67 entre el precio y el estrato socioeconómico de la vivienda. Esto sugiere que las viviendas en estratos más altos tienden a tener precios más altos.
Existe una correlación moderada positiva de 0.72 entre el número de baños y el precio de la casa. Esto indica que las viviendas con más baños tienden a tener precios más altos.
Hay una correlación positiva de 0.33 entre el número de habitaciones y el precio de la vivienda. Esto sugiere que las viviendas con más habitaciones tienden a tener precios más altos, aunque la correlación es más débil en comparación con otras características.
También se observa una correlación positiva significativa de 0.67 entre el número de parqueaderos y el precio de la vivienda. Esto indica que las viviendas con más parqueaderos pueden tener precios más altos.
Realizó una estimacion de un modelo de regresión lineal múltiple con las variables del punto anterior (precio = f(área construida, estrato, número de cuartos, número de parqueaderos, número de baños ) )
Se decidió no normalizar los datos considerando la necesidad de interpretar los coeficientes para determinar su significancia estadística y coherencia contextual. La normalización podría introducir una complejidad adicional en la interpretación de los coeficientes del modelo, dificultando la comprensión de los resultados. Además, si el objetivo principal es una interpretación intuitiva de los coeficientes y no una comparación directa de la magnitud de los efectos entre diferentes variables, la normalización puede no ser necesaria.
Aunque la normalización es una práctica recomendada al realizar un modelo estadistico, en este caso específico, se prefirió mantener las variables en su escala original para facilitar la interpretación de los resultados. Es importante tener en cuenta que al trabajar con variables en diferentes escalas, existe el riesgo de que ciertas variables tengan un efecto desproporcionado en el modelo, lo que podría sesgar las estimaciones de los coeficientes.
Antes de proceder con la estimación del modelo de regresión lineal, es fundamental realizar una división adecuada de los datos disponibles. En este sentido, se lleva a cabo una separación aleatoria de la muestra en un conjunto de datos de entrenamiento y otro de prueba. Esta división permite evaluar la capacidad predictiva del modelo en datos no observados previamente, lo que es esencial para comprender su desempeño en situaciones reales.
Posteriormente, se procede a estimar el modelo utilizando el conjunto de entrenamiento y se evalúa su desempeño mediante diversas métricas de evaluación. Los detalles sobre la estimación del modelo, así como los resultados de su evaluación, se presentan en los anexos adjuntos para su referencia.”
set.seed(123) # Establecer semilla para reproducibilidad
indices_entrenamiento2 <- sample(1:nrow(vivienda2), 0.7 * nrow(vivienda2)) # 70% de los datos para entrenamiento
datos_entrenamiento2 <- vivienda2[indices_entrenamiento2, ]
datos_prueba2 <- vivienda2[-indices_entrenamiento2, ]
# Estimar el modelo con los datos de entrenamiento
modelo2 <- lm(preciom ~ areaconst + estrato + habitaciones + parqueaderos + banios, data = datos_entrenamiento2)
# Resumen del modelo
summary(modelo2)
##
## Call:
## lm(formula = preciom ~ areaconst + estrato + habitaciones + parqueaderos +
## banios, data = datos_entrenamiento2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1321.05 -42.49 -1.98 36.04 923.25
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -224.21590 16.17144 -13.865 < 2e-16 ***
## areaconst 1.54318 0.06105 25.278 < 2e-16 ***
## estrato 58.12424 3.37891 17.202 < 2e-16 ***
## habitaciones -22.79522 4.08949 -5.574 2.84e-08 ***
## parqueaderos 46.81913 3.56379 13.137 < 2e-16 ***
## banios 45.65646 3.66617 12.453 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 96.71 on 1944 degrees of freedom
## Multiple R-squared: 0.7525, Adjusted R-squared: 0.7519
## F-statistic: 1182 on 5 and 1944 DF, p-value: < 2.2e-16
El modelo de regresión lineal múltiple estimado para los apartamentos de la zona sur de la ciudad de cali es:
preciom= −224.21 + 1.54 × areaconst + 58.12 × estrato - 22.79 × habitaciones + 46.81 × parqueaderos + 45.65 × banios
En el modelo de regresión lineal múltiple estimado, los coeficientes de las variables predictoras son estadísticamente significativos, como lo indican los valores de p asociados a cada coeficiente, todos los cuales son muy cercanos a cero y se interpretan así:
El intercepto indica el valor estimado de la variable respuesta (precio) cuando todas las variables predictoras son cero. Sin embargo, dado que todas las variables predictoras son variables contínuas y no tienen sentido cuando son cero, la interpretación del intercepto en este contexto puede no tener relevancia práctica directa.
El coeficiente para “areaconst” es de 1.54, lo que indica que, manteniendo constantes las otras variables, por cada unidad adicional en el área construida, el precio de la vivienda aumenta en promedio $1.54. Este resultado es lógico y coherente, ya que es de esperar que viviendas más grandes tiendan a tener precios más altos.
Para “estrato”, el coeficiente es de 58.12, lo que sugiere que, manteniendo constantes las otras variables, por cada unidad adicional en el estrato, el precio de la vivienda aumenta en promedio $58.12. Este resultado también es coherente, ya que es común que viviendas ubicadas en estratos más altos tengan precios más elevados.
Para “habitaciones” el coeficiente es de -22.79, lo que indica que, or cada unidad adicional en el número de habitaciones, el precio de la vivienda disminuye en promedio $22.79, manteniendo constantes todas las demás variables. Esto puede parecer un resultado contradictorio, ya que normalmente se esperaría que un mayor número de habitaciones aumentara el precio de la vivienda.
El coeficiente para “parqueaderos” es de 46.81, indicando que, manteniendo constantes las otras variables, por cada parqueadero adicional, el precio de la vivienda aumenta en promedio $46.81. Esto tiene sentido intuitivo, ya que tener más espacio de estacionamiento suele ser una característica deseable y, por lo tanto, puede aumentar el precio de la vivienda.
El coeficiente para “banios” es de 45.65, indicando que, manteniendo constantes las otras variables, por cada baño adicional, el precio de la vivienda aumenta en promedio $45.65. Esto es razonable, ya que los baños adicionales suelen agregar valor a una propiedad.
El coeficiente de determinación (R²) del modelo es de 0.7525, lo que significa que alrededor del 75,25% de la variabilidad en el precio de la vivienda puede ser explicada por las variables incluidas en el modelo. Este valor de R² indica un buen ajuste del modelo, lo que sugiere que las variables predictoras incluidas explican una cantidad considerable de la variabilidad en el precio de la vivienda.
Estas relaciones son consistentes con la matriz de correlación expuesta en el paso 2. Sin embargo, Para mejorar el modelo y potencialmente aumentar su capacidad predictiva, podríamos considerar las siguientes acciones:
Incluir variables adicionales: El modelo actual puede estar omitiendo variables importantes que influyen en el precio de la vivienda, como la ubicación exacta, la calidad de la construcción, la edad de la propiedad, las comodidades adicionales (piscina, gimnasio, terraza, etc.), y la proximidad a servicios y transporte.
Considerar transformaciones de variables: Podríamos explorar la posibilidad de transformar algunas variables para capturar relaciones no lineales con el precio de la vivienda. Por ejemplo, podríamos considerar el uso de logaritmos o polinomios de las variables predictoras para modelar relaciones no lineales.
La normalización puede ayudar a evitar problemas de sesgo debido a la disparidad en las escalas y puede mejorar la estabilidad numérica del modelo.
Realizó la validación de supuestos del modelo asi:
Normalidad de los residuos mediante el histograma de residuos, el gráfico de probabilidad normal y la prueba de Shapiro-Wilk.
Homocedasticidad mediante el gráfico de dispersión de residuos frente a valores ajustados y la prueba de Breusch-Pagan.
Linealidad mediante el gráfico de dispersión de los residuos.
Independencia de los residuos mediante el gráfico de autocorrelación de los residuos y la prueba de Durbin-Watson.
Influencia de observaciones y valores atípicos mediante el estadístico Cook’s D, el gráfico de distancia de Cook.
Multicolinealidad mediate el factor de inflación de la varianza (VIF).
# Histograma de residuos
hist(resid(modelo2))
# Gráfico de probabilidad normal
qqnorm(resid(modelo2))
qqline(resid(modelo2))
# Prueba de Shapiro-Wilk
shapiro.test(resid(modelo2))
##
## Shapiro-Wilk normality test
##
## data: resid(modelo2)
## W = 0.76455, p-value < 2.2e-16
El histograma de residuo busca una distribución aproximadamente simétrica y centrada en cero, sin embargo no es totalmente simétrica, la asimetría observada sugiere que la distribución de los residuos podría ser sesgada o no seguir exactamente una distribución normal.
Al compara la distribución de los residuos del modelo con una distribución teórica normal. La idea es que si los residuos se distribuyen normalmente, los puntos en el gráfico QQ deberían seguir una línea diagonal de 45 grados. En el gráfico se observa que los puntos tienden a ajustarse a la línea sin embargo no se ajustan totalmente, lo cual sugiere que los residuos no siguen exactamente una distribución normal.
El resultado del test de normalidad de Shapiro-Wilk muestra un estadístico de prueba (W) de 0.76455 y un valor p muy pequeño, prácticamente cero (p-value < 2.2e-16). Esto indica que hay evidencia significativa para rechazar la hipótesis nula de normalidad de los residuos. En otras palabras, los residuos del modelo no siguen una distribución normal.
# Gráfico de dispersión de residuos vs. valores ajustados
plot(modelo2, which = 1)
#prueba de Breusch-Pagan.
library(lmtest)
bptest(modelo1)
##
## studentized Breusch-Pagan test
##
## data: modelo1
## BP = 95.562, df = 5, p-value < 2.2e-16
En el gráfico de dispersión de residuos vs. valores ajustados se observa una dispersión creciente a medida que aumentan los valores ajustados, eso sugiere que la varianza de los errores aumenta con los valores ajustados, enmarcando una forma de abanico o embudo
El resultado del test de heterocedasticidad de Breusch-Pagan muestra que el valor p es prácticamente cero (p < 2.2e-16), se rechaza la hipótesis nula de homocedasticidad. Esto sugiere que hay evidencia significativa de heterocedasticidad en el modelo de regresión. Es decir, la varianza de los errores no es constante a lo largo de los diferentes niveles de las variables independientes.
# Gráfico de dispersión de residuos vs. cada variable independiente
plot(modelo2, which = c(3, 5, 6))
El objetivo de estos gráficos es verificar si los residuos tienen patrones sistemáticos. Se observa que una cantidad considerable de puntos se desvían de la línea horizontal, esto podría indicar una falta de linealidad en el modelo.
# Gráfico de autocorrelación de los residuos
acf(resid(modelo2))
# Prueba de Durbin-Watson
dwtest(modelo2)
##
## Durbin-Watson test
##
## data: modelo2
## DW = 2.016, p-value = 0.638
## alternative hypothesis: true autocorrelation is greater than 0
El gráfico muestra que algunas de las barras sobrepasan ligeramente las bandas de confianza, lo que sugiere que la autocorrelación en los residuos en esos intervalos de tiempo es mínima. Sin embargo, la mayoría de las barras no están cerca de las bandas, lo que indica que la autocorrelación en esos puntos específicos es insignificante. Esto sugiere que el modelo captura en gran medida la estructura temporal de los datos, pero puede haber algunas áreas donde la autocorrelación no se elimina por completo.
Durbin-Watson (DW) de aproximadamente 2.016, con un valor p de 0.638. Dado que el valor p es mayor que cualquier nivel de significancia razonable, no hay suficiente evidencia para rechazar la hipótesis nula de no autocorrelación. Esto sugiere que no hay autocorrelación positiva significativa en los residuos del modelo 2, lo que respalda la suposición de independencia de los residuos en el modelo de regresión.
# Estadístico Cook's D
plot(modelo2, which = 4)
# Gráfico de distancia de Cook
cooks.distance(modelo2)
## 1 2 3 4 5 6
## 5.942842e-05 2.899788e-05 1.279175e-05 8.711347e-05 3.430846e-05 2.953251e-04
## 7 8 9 10 11 12
## 2.824679e-08 4.229963e-05 1.915466e-05 2.474829e-05 1.768122e-05 1.902141e-06
## 13 14 15 16 17 18
## 7.167350e-04 2.647728e-04 6.148608e-05 2.096728e-07 2.273827e-03 3.121286e-04
## 19 20 21 22 23 24
## 8.617925e-05 4.630065e-06 7.282703e-05 2.055419e-06 5.969444e-05 3.911429e-04
## 25 26 27 28 29 30
## 2.515659e-07 6.316861e-04 8.475200e-05 1.973206e-04 5.707159e-05 1.223700e-03
## 31 32 33 34 35 36
## 2.798427e-04 6.442218e-05 2.391370e-05 7.216223e-05 1.201954e-08 5.261917e-04
## 37 38 39 40 41 42
## 9.868722e-05 2.661348e-05 3.709732e-04 7.631834e-05 9.068568e-05 1.384198e-05
## 43 44 45 46 47 48
## 1.120320e-04 3.436128e-04 7.374062e-06 2.824586e-07 4.663515e-04 1.137322e-04
## 49 50 51 52 53 54
## 8.062816e-08 4.898714e-06 6.736016e-05 7.731036e-06 4.677361e-05 1.920011e-04
## 55 56 57 58 59 60
## 3.807398e-05 9.885039e-06 2.422153e-06 7.674494e-05 1.253268e-05 1.016808e-05
## 61 62 63 64 65 66
## 1.255570e-04 4.476598e-05 3.746247e-06 3.000480e-06 1.367239e-05 9.190200e-06
## 67 68 69 70 71 72
## 1.111952e-05 1.866111e-03 4.623849e-03 2.646388e-04 9.947947e-08 1.228704e-05
## 73 74 75 76 77 78
## 1.871163e-04 2.460606e-05 4.280125e-07 4.534775e-01 9.519744e-04 2.514529e-04
## 79 80 81 82 83 84
## 3.769167e-06 2.211277e-05 1.016948e-05 2.278181e-04 2.726458e-04 3.963085e-05
## 85 86 87 88 89 90
## 1.297471e-04 1.218791e-04 9.376749e-02 1.933384e-03 1.384198e-05 8.833146e-05
## 91 92 93 94 95 96
## 7.561915e-04 1.437781e-04 3.062016e-05 2.444276e-04 1.646481e-04 2.030821e-05
## 97 98 99 100 101 102
## 3.750172e-06 3.621500e-05 1.691487e-04 6.383081e-08 1.016948e-05 2.242080e-05
## 103 104 105 106 107 108
## 7.921482e-05 2.983183e-05 3.635005e-05 2.413601e-08 2.723966e-04 1.887306e-05
## 109 110 111 112 113 114
## 2.632514e-04 3.339457e-06 2.644242e-05 2.191275e-03 7.280919e-06 5.284284e-08
## 115 116 117 118 119 120
## 2.719296e-05 1.413882e-04 1.846993e-05 3.081821e-04 8.359952e-06 8.491598e-04
## 121 122 123 124 125 126
## 2.517248e-04 1.743848e-04 2.213209e-05 5.156351e-04 4.823040e-06 2.379715e-05
## 127 128 129 130 131 132
## 4.695638e-05 1.933855e-03 4.988453e-04 3.773950e-04 1.458725e-06 2.206406e-04
## 133 134 135 136 137 138
## 2.880667e-03 1.357102e-06 1.258863e-04 2.306402e-05 3.445072e-08 9.412916e-04
## 139 140 141 142 143 144
## 4.709256e-05 5.796395e-05 3.746313e-05 5.611586e-03 5.206328e-05 6.532590e-05
## 145 146 147 148 149 150
## 1.710312e-04 5.726193e-05 5.790773e-06 3.610562e-04 2.997230e-04 5.425955e-06
## 151 152 153 154 155 156
## 8.209701e-05 2.404552e-04 6.490446e-06 1.348956e-06 9.048709e-07 6.806578e-05
## 157 158 159 160 161 162
## 6.366389e-04 1.829060e-05 4.427942e-05 5.920815e-05 5.671702e-05 8.323568e-05
## 163 164 165 166 167 168
## 6.768773e-07 3.101214e-05 3.960592e-06 5.580984e-06 1.376696e-05 1.234379e-04
## 169 170 171 172 173 174
## 2.048206e-04 2.599811e-06 8.459864e-05 1.176087e-05 3.318870e-04 1.502312e-04
## 175 176 177 178 179 180
## 8.608900e-04 2.205764e-05 6.554995e-05 7.661680e-06 3.445485e-04 3.535991e-05
## 181 182 183 184 185 186
## 2.356010e-05 2.447500e-05 6.458913e-06 3.142429e-05 8.365051e-06 5.419479e-05
## 187 188 189 190 191 192
## 2.004392e-04 1.153428e-06 1.417903e-04 8.194205e-04 7.228628e-06 2.293423e-03
## 193 194 195 196 197 198
## 3.198684e-06 8.743391e-07 1.504046e-05 2.500788e-06 3.196998e-07 5.357555e-07
## 199 200 201 202 203 204
## 3.816024e-05 4.675600e-05 1.693609e-04 1.605025e-05 4.109402e-03 2.946427e-05
## 205 206 207 208 209 210
## 8.054836e-05 8.773158e-05 1.714935e-04 1.261066e-05 7.078772e-05 5.080901e-05
## 211 212 213 214 215 216
## 1.000893e-04 4.121923e-05 9.886691e-06 5.325085e-05 1.386801e-04 1.505826e-04
## 217 218 219 220 221 222
## 2.703021e-04 8.366820e-05 1.002364e-04 4.493393e-05 2.410433e-06 4.681938e-05
## 223 224 225 226 227 228
## 7.912535e-03 4.320690e-06 1.762374e-04 2.204884e-06 6.039561e-04 1.170068e-05
## 229 230 231 232 233 234
## 4.505993e-06 3.042789e-04 4.216316e-06 2.752189e-04 4.539046e-05 2.227823e-06
## 235 236 237 238 239 240
## 8.135661e-05 2.837216e-05 3.300046e-07 2.450081e-05 4.988778e-05 7.620799e-05
## 241 242 243 244 245 246
## 4.267341e-07 1.151261e-03 1.549639e-05 3.752076e-07 1.629014e-04 1.702376e-05
## 247 248 249 250 251 252
## 1.713271e-04 1.077408e-05 4.062477e-05 4.879717e-05 2.205764e-05 7.834820e-05
## 253 254 255 256 257 258
## 3.730015e-04 1.619613e-05 6.544046e-05 7.302182e-04 1.973927e-05 5.401187e-05
## 259 260 261 262 263 264
## 2.438201e-07 3.953536e-04 3.296360e-05 1.762374e-04 1.204412e-05 1.136671e-04
## 265 266 267 268 269 270
## 4.930163e-04 2.091440e-02 3.387990e-05 1.198234e-04 1.814579e-04 1.693596e-03
## 271 272 273 274 275 276
## 1.930595e-04 5.732101e-06 1.621266e-04 1.261511e-10 2.089795e-07 2.477855e-04
## 277 278 279 280 281 282
## 5.333638e-04 5.830823e-07 2.190737e-04 1.613538e-03 5.000185e-04 3.816024e-05
## 283 284 285 286 287 288
## 1.527514e-06 1.115945e-04 3.282184e-05 1.252616e-04 5.822305e-05 7.516481e-06
## 289 290 291 292 293 294
## 1.767739e-06 3.996202e-05 4.441933e-04 2.843329e-04 6.279006e-05 6.533295e-05
## 295 296 297 298 299 300
## 7.433482e-05 2.238382e-05 2.346434e-06 1.367413e-05 4.197279e-05 1.015006e-04
## 301 302 303 304 305 306
## 3.923106e-06 4.439551e-05 3.880704e-06 4.675600e-05 3.263201e-08 2.351313e-05
## 307 308 309 310 311 312
## 3.613196e-06 9.306039e-07 7.379981e-04 2.343137e-03 2.570343e-05 7.367456e-05
## 313 314 315 316 317 318
## 7.551629e-06 6.866535e-04 2.084825e-04 8.148449e-04 8.464599e-04 2.775269e-04
## 319 320 321 322 323 324
## 5.251254e-05 5.251254e-05 7.767321e-06 1.445359e-05 7.200881e-05 1.189089e-04
## 325 326 327 328 329 330
## 9.740976e-05 1.090670e-03 4.985271e-06 1.476143e-05 8.064293e-06 2.438201e-07
## 331 332 333 334 335 336
## 1.231208e-04 7.633363e-07 5.003180e-05 6.913928e-08 1.758153e-04 8.238903e-03
## 337 338 339 340 341 342
## 1.830052e-04 4.064066e-05 6.964343e-05 8.414604e-09 3.788421e-05 3.441439e-04
## 343 344 345 346 347 348
## 2.983183e-05 1.878241e-04 2.523522e-05 4.518782e-04 1.284143e-06 7.332701e-06
## 349 350 351 352 353 354
## 1.808461e-04 3.598775e-04 1.493089e-06 5.728437e-04 9.119647e-06 1.602780e-04
## 355 356 357 358 359 360
## 1.050777e-06 7.930041e-05 1.657664e-02 1.375022e-04 4.135733e-05 1.378742e-05
## 361 362 363 364 365 366
## 4.004820e-04 1.694426e-04 3.494688e-03 1.089614e-04 7.820613e-06 1.125183e-07
## 367 368 369 370 371 372
## 9.190200e-06 3.036896e-03 1.554383e-03 1.963201e-05 6.531366e-06 7.344100e-05
## 373 374 375 376 377 378
## 4.982879e-07 6.324700e-05 1.754236e-04 4.921769e-05 1.009690e-04 1.107217e-04
## 379 380 381 382 383 384
## 2.412716e-06 2.855462e-04 3.902848e-05 4.321345e-04 6.804484e-08 3.136456e-05
## 385 386 387 388 389 390
## 7.695002e-05 2.595712e-05 2.559070e-04 2.485563e-07 2.636461e-06 1.451863e-06
## 391 392 393 394 395 396
## 1.267834e-04 1.183946e-06 1.838588e-04 2.190244e-05 6.162716e-05 9.847493e-05
## 397 398 399 400 401 402
## 3.932350e-05 1.055787e-06 1.915006e-06 3.279711e-03 1.198585e-02 1.359119e-06
## 403 404 405 406 407 408
## 2.452851e-04 1.789923e-05 6.430042e-05 2.007810e-05 1.255570e-04 1.176539e-06
## 409 410 411 412 413 414
## 1.544598e-04 6.809563e-06 3.158078e-04 1.445118e-05 1.696523e-03 3.568373e-04
## 415 416 417 418 419 420
## 6.442218e-05 9.918467e-06 1.489157e-05 2.212050e-05 4.144859e-03 1.489323e-04
## 421 422 423 424 425 426
## 7.852883e-06 1.485905e-04 4.128820e-04 7.552630e-05 3.879901e-04 2.521327e-05
## 427 428 429 430 431 432
## 1.070074e-04 6.444613e-05 9.681896e-04 2.756602e-05 1.201746e-04 5.029852e-05
## 433 434 435 436 437 438
## 6.921737e-04 2.415639e-06 6.889461e-05 7.061226e-09 1.930229e-05 1.219483e-05
## 439 440 441 442 443 444
## 6.964343e-05 5.559618e-02 8.677217e-05 4.113111e-06 5.648371e-07 6.108595e-03
## 445 446 447 448 449 450
## 1.868603e-06 3.184620e-03 2.695008e-04 1.683990e-04 4.652088e-07 1.424299e-07
## 451 452 453 454 455 456
## 1.644116e-05 6.553148e-04 4.788848e-06 7.108851e-07 3.204385e-05 2.372478e-06
## 457 458 459 460 461 462
## 1.293079e-10 2.467534e-04 4.734702e-05 3.683704e-01 2.939530e-06 1.723113e-05
## 463 464 465 466 467 468
## 1.222220e-04 2.533666e-05 4.839460e-06 6.629522e-04 9.460213e-05 1.565418e-07
## 469 470 471 472 473 474
## 1.709079e-04 5.902282e-06 1.499210e-05 3.728648e-05 9.772196e-06 1.632934e-03
## 475 476 477 478 479 480
## 2.444163e-04 9.892287e-03 4.722592e-05 1.209538e-05 6.233094e-05 4.199978e-06
## 481 482 483 484 485 486
## 1.565418e-07 2.073026e-05 1.430139e-04 4.898714e-06 1.895717e-05 2.152617e-04
## 487 488 489 490 491 492
## 8.459864e-05 4.585768e-04 1.010412e-07 3.150917e-03 2.873117e-04 1.059192e-05
## 493 494 495 496 497 498
## 1.945271e-05 6.682645e-06 4.639619e-04 8.096995e-06 1.871978e-03 2.015386e-04
## 499 500 501 502 503 504
## 1.501202e-04 4.473101e-05 6.383974e-04 1.404240e-04 2.245468e-03 3.453802e-04
## 505 506 507 508 509 510
## 5.503109e-06 4.681000e-03 2.553624e-07 9.784355e-06 1.385598e-03 1.416340e-04
## 511 512 513 514 515 516
## 1.378312e-06 8.055458e-09 2.467078e-04 3.921779e-05 1.043485e-04 1.170601e-03
## 517 518 519 520 521 522
## 1.354201e-05 8.806692e-04 5.728168e-06 3.974157e-05 2.798427e-04 1.030678e-04
## 523 524 525 526 527 528
## 1.363514e-05 1.713251e-05 1.337714e-06 1.846719e-05 9.527637e-04 7.467773e-07
## 529 530 531 532 533 534
## 1.454252e-06 7.406460e-08 1.360708e-04 1.605025e-05 4.394881e-06 7.332701e-06
## 535 536 537 538 539 540
## 2.453187e-04 6.853821e-08 7.887443e-06 1.605025e-05 6.118124e-03 1.503974e-02
## 541 542 543 544 545 546
## 6.853821e-08 2.637841e-04 7.941197e-07 9.912074e-04 1.642741e-04 7.680173e-03
## 547 548 549 550 551 552
## 2.930775e-05 8.320336e-04 1.218791e-04 2.492002e-05 5.733915e-06 8.205296e-04
## 553 554 555 556 557 558
## 2.594134e-04 1.608660e-02 1.535289e-05 3.067425e-05 9.870696e-07 7.512316e-04
## 559 560 561 562 563 564
## 3.309448e-04 1.696939e-04 3.967644e-04 1.519715e-04 1.551504e-04 1.124312e-03
## 565 566 567 568 569 570
## 8.734879e-05 1.719026e-05 2.774172e-04 1.495042e-04 1.911941e-04 2.205764e-05
## 571 572 573 574 575 576
## 6.018524e-08 2.014125e-04 1.160278e-05 5.614960e-05 3.780416e-05 3.638591e-05
## 577 578 579 580 581 582
## 3.766957e-05 4.218994e-05 2.222426e-03 1.264954e-04 9.916182e-05 2.337273e-06
## 583 584 585 586 587 588
## 2.804944e-03 3.371635e-05 3.500879e-04 2.502079e-04 9.119647e-06 5.868647e-03
## 589 590 591 592 593 594
## 2.151756e-04 4.182379e-04 5.175985e-06 3.794402e-05 5.170852e-06 2.569545e-05
## 595 596 597 598 599 600
## 5.994045e-04 3.557176e-06 2.338714e-03 2.163476e-04 2.157265e-05 2.218149e-06
## 601 602 603 604 605 606
## 3.976307e-04 1.550822e-03 2.887291e-05 2.691337e-03 1.886500e-05 2.009690e-05
## 607 608 609 610 611 612
## 1.114004e-05 8.235102e-05 5.871234e-05 1.560350e-05 4.077192e-07 4.015219e-06
## 613 614 615 616 617 618
## 3.970379e-04 6.763280e-05 7.494832e-05 1.623680e-04 4.717108e-05 2.801502e-05
## 619 620 621 622 623 624
## 2.164950e-04 1.592987e+01 1.886500e-05 1.071050e-04 2.546232e-04 3.367539e-04
## 625 626 627 628 629 630
## 3.549158e-05 1.424774e-04 1.678174e-04 1.808689e-04 5.401187e-05 1.266800e-04
## 631 632 633 634 635 636
## 8.664880e-05 1.582226e-03 3.390264e-05 4.228302e-05 7.852883e-06 1.899098e-04
## 637 638 639 640 641 642
## 3.541348e-04 3.036154e-05 7.241535e-06 1.957583e-04 3.421346e-07 5.551209e-05
## 643 644 645 646 647 648
## 3.686668e-05 8.051776e-06 2.087871e-04 1.343693e-06 2.798503e-03 1.313550e-05
## 649 650 651 652 653 654
## 4.037086e-04 1.384198e-05 1.902141e-06 1.307901e-05 8.734879e-05 2.392993e-06
## 655 656 657 658 659 660
## 1.104556e-04 6.283684e-06 2.793588e-03 8.244462e-05 3.542348e-05 1.559711e-07
## 661 662 663 664 665 666
## 5.554072e-04 1.877166e-03 3.439080e-05 8.064293e-06 2.349666e-05 1.664391e-04
## 667 668 669 670 671 672
## 8.538420e-06 9.080346e-04 3.635060e-05 1.551670e-03 5.830823e-07 6.296604e-06
## 673 674 675 676 677 678
## 2.798337e-05 2.812909e-04 1.321636e-07 9.758790e-09 3.676775e-04 1.970278e-04
## 679 680 681 682 683 684
## 3.239756e-04 4.023804e-05 1.650691e-04 8.450098e-06 1.010412e-07 4.260014e-05
## 685 686 687 688 689 690
## 2.225765e-05 1.393613e-05 8.117039e-06 1.142269e-05 3.117907e-05 1.455054e-06
## 691 692 693 694 695 696
## 7.072173e-06 2.728518e-06 4.280478e-05 5.550424e-05 2.726088e-06 6.711040e-04
## 697 698 699 700 701 702
## 6.329480e-05 9.886691e-06 9.176108e-05 1.635902e-05 1.746057e-05 1.673352e-06
## 703 704 705 706 707 708
## 6.852575e-07 2.269782e-05 6.819120e-05 8.224104e-04 4.898714e-06 2.721914e-04
## 709 710 711 712 713 714
## 3.176885e-08 3.201656e-06 7.332701e-06 4.921769e-05 6.268499e-07 5.767689e-05
## 715 716 717 718 719 720
## 3.772498e-08 1.499271e-03 3.122116e-04 9.308227e-05 7.550777e-05 2.467282e-05
## 721 722 723 724 725 726
## 3.628957e-05 3.051742e-04 3.412178e-05 4.203835e-04 2.746536e-04 3.728282e-05
## 727 728 729 730 731 732
## 4.666927e-05 1.463126e-04 9.542510e-06 1.827880e-06 1.728857e-05 2.089132e-06
## 733 734 735 736 737 738
## 7.393307e-05 7.332701e-06 1.264954e-04 3.613196e-06 3.441439e-04 8.406326e-06
## 739 740 741 742 743 744
## 3.478605e-05 3.249275e-03 4.770227e-05 3.240823e-05 3.731074e-06 8.667729e-06
## 745 746 747 748 749 750
## 8.759086e-06 2.512262e-05 1.974745e-04 3.649373e-05 3.516305e-04 8.434943e-06
## 751 752 753 754 755 756
## 5.894798e-05 1.981954e-06 1.535289e-05 8.269082e-05 3.693012e-05 2.358296e-07
## 757 758 759 760 761 762
## 5.726193e-05 7.249169e-06 2.277024e-04 1.405756e-05 5.796395e-05 4.168930e-08
## 763 764 765 766 767 768
## 5.889128e-04 4.760167e-05 5.169322e-05 2.550036e-05 6.836442e-05 5.103010e-05
## 769 770 771 772 773 774
## 4.269884e-05 9.876660e-10 1.338398e-04 1.217922e-06 1.041026e-05 1.845335e-05
## 775 776 777 778 779 780
## 5.307596e-02 1.728857e-05 4.681938e-05 1.357802e-03 2.428880e-04 3.062077e-06
## 781 782 783 784 785 786
## 1.109194e-04 1.337231e-04 1.789348e-05 7.078984e-05 5.222470e-04 1.087758e-05
## 787 788 789 790 791 792
## 9.538291e-07 3.001867e-05 9.471753e-04 3.155498e-05 2.568058e-05 1.528783e-04
## 793 794 795 796 797 798
## 1.315752e-04 7.530666e-04 4.281767e-05 1.201954e-08 1.769842e-02 4.018884e-05
## 799 800 801 802 803 804
## 5.926173e-05 6.159644e-07 1.725074e-05 1.345400e-06 1.064824e-04 7.227819e-05
## 805 806 807 808 809 810
## 6.705424e-04 3.892596e-03 4.141529e-05 4.183609e-05 2.742008e-05 6.275599e-06
## 811 812 813 814 815 816
## 3.062016e-05 1.052563e-03 2.370886e-05 6.362770e-04 1.659254e-05 9.473726e-04
## 817 818 819 820 821 822
## 2.171692e-06 4.125479e-05 2.735566e-06 1.376883e-04 3.683559e-07 4.179518e-03
## 823 824 825 826 827 828
## 2.369682e-05 6.964343e-05 2.025644e-05 1.097610e-04 4.944665e-07 2.271594e-03
## 829 830 831 832 833 834
## 1.197573e-06 1.445118e-05 2.175328e-05 1.192136e-04 5.756682e-05 6.398083e-05
## 835 836 837 838 839 840
## 5.222253e-06 5.069039e-05 2.285886e-03 1.929791e-04 4.943614e-05 9.149770e-07
## 841 842 843 844 845 846
## 8.502860e-05 4.906470e-06 2.824679e-08 3.232229e-05 6.425725e-04 5.604115e-04
## 847 848 849 850 851 852
## 1.186637e-03 9.214838e-06 7.164255e-05 6.715611e-05 6.727231e-06 6.562865e-07
## 853 854 855 856 857 858
## 1.799063e-05 1.078139e-05 1.524234e-04 2.102368e-04 6.964892e-05 1.541413e-04
## 859 860 861 862 863 864
## 1.862184e-06 1.231264e-04 6.731957e-06 3.283940e-03 3.557079e-04 3.150917e-03
## 865 866 867 868 869 870
## 4.054132e-06 2.018527e-04 4.754396e-05 1.973927e-05 5.859461e-04 2.743486e-04
## 871 872 873 874 875 876
## 8.667729e-06 3.584707e-03 1.768591e-04 9.484886e-04 9.141840e-03 4.423754e-05
## 877 878 879 880 881 882
## 2.492103e-05 5.330626e-04 1.739409e-05 1.063286e-06 7.195585e-05 5.610780e-05
## 883 884 885 886 887 888
## 6.515964e-06 5.491496e-04 4.197279e-05 2.023363e-06 2.198676e-05 2.885139e-04
## 889 890 891 892 893 894
## 3.004683e-05 1.149158e-03 1.087433e-05 5.706587e-05 8.694585e-05 1.291591e-01
## 895 896 897 898 899 900
## 5.412786e-04 1.006254e-02 2.636461e-06 1.277652e-05 8.269082e-05 6.980176e-05
## 901 902 903 904 905 906
## 3.395896e-07 5.189063e-03 2.127117e-05 1.988229e-04 9.521961e-04 6.429216e-06
## 907 908 909 910 911 912
## 3.335256e-04 1.217922e-06 1.321636e-07 1.383862e-04 1.481117e-04 1.252861e-05
## 913 914 915 916 917 918
## 1.361941e-04 2.373928e-04 8.608900e-04 9.311420e-06 9.300711e-08 1.936070e-04
## 919 920 921 922 923 924
## 6.656050e-06 2.577279e-03 3.056167e-04 1.065050e-05 2.769879e-04 5.190176e-05
## 925 926 927 928 929 930
## 4.895407e-05 4.473975e-04 8.255323e-07 4.861869e-07 2.967524e-04 2.551635e-03
## 931 932 933 934 935 936
## 1.911941e-04 4.014754e-05 5.436790e-05 4.077192e-07 4.197279e-05 1.053003e-04
## 937 938 939 940 941 942
## 3.261998e-05 2.149944e-04 7.280919e-06 3.027493e-05 6.285883e-04 8.414604e-09
## 943 944 945 946 947 948
## 6.576681e-05 2.115424e-05 1.185424e-04 1.507296e-05 1.613125e-04 2.586766e-04
## 949 950 951 952 953 954
## 3.050830e-04 6.509585e-04 2.450040e-04 1.595232e-08 8.053566e-04 1.077408e-05
## 955 956 957 958 959 960
## 1.530381e-04 5.440545e-06 2.710453e-06 1.413958e-05 7.886498e-05 2.195547e-11
## 961 962 963 964 965 966
## 8.115545e-04 2.632306e-06 1.088994e-04 6.275599e-06 8.577345e-05 1.233445e-04
## 967 968 969 970 971 972
## 1.204624e-05 8.923726e-07 2.082726e-06 1.171236e-04 8.535481e-06 2.152612e-05
## 973 974 975 976 977 978
## 2.295339e-05 8.242188e-04 1.354231e-04 3.726682e-04 5.346433e-04 1.556554e-04
## 979 980 981 982 983 984
## 5.324777e-05 1.736754e-03 2.734050e-04 1.431446e-04 6.836442e-05 4.742147e-05
## 985 986 987 988 989 990
## 5.186478e-05 3.226139e-05 2.802951e-05 6.836442e-05 1.969420e-06 1.020193e-04
## 991 992 993 994 995 996
## 1.378312e-06 6.662033e-06 2.310327e-04 1.216830e-03 3.797171e-06 1.710858e-05
## 997 998 999 1000 1001 1002
## 3.797300e-05 1.068564e-04 6.907159e-04 1.477954e-05 2.599166e-04 1.104790e-04
## 1003 1004 1005 1006 1007 1008
## 6.935956e-05 1.026095e-05 1.120320e-04 7.345928e-08 5.190176e-05 2.871287e-06
## 1009 1010 1011 1012 1013 1014
## 2.205764e-05 6.946922e-04 3.756006e-04 1.381313e-03 2.543383e-04 2.578458e-04
## 1015 1016 1017 1018 1019 1020
## 1.666020e-06 2.349666e-05 2.194834e-05 2.654841e-05 6.963799e-05 1.089231e-05
## 1021 1022 1023 1024 1025 1026
## 1.390780e-03 7.156331e-05 9.122771e-05 2.894688e-04 7.839172e-04 2.211444e-06
## 1027 1028 1029 1030 1031 1032
## 2.199093e-05 3.385161e-04 4.705512e-04 1.237321e-04 9.549224e-06 1.437882e-04
## 1033 1034 1035 1036 1037 1038
## 1.113377e-04 1.668250e-04 3.617905e-04 6.290287e-05 1.454091e-05 5.825338e-05
## 1039 1040 1041 1042 1043 1044
## 2.972296e-03 6.851034e-04 1.577345e-04 3.040440e-06 1.249800e-06 3.231170e-04
## 1045 1046 1047 1048 1049 1050
## 4.183609e-05 2.539426e-03 1.295695e-04 2.489045e-05 7.592374e-06 1.126910e-02
## 1051 1052 1053 1054 1055 1056
## 1.345400e-06 6.572468e-03 2.694052e-06 8.193673e-06 3.267282e-03 4.035114e-02
## 1057 1058 1059 1060 1061 1062
## 4.448667e-04 4.551406e-05 1.104519e-03 2.632866e-04 2.873117e-04 6.878009e-05
## 1063 1064 1065 1066 1067 1068
## 1.786907e-05 6.878888e-08 9.610303e-05 1.916696e-07 2.346434e-06 9.875137e-05
## 1069 1070 1071 1072 1073 1074
## 1.817248e-04 2.048031e-04 5.666515e-05 3.425852e-06 2.479976e-04 2.018236e-03
## 1075 1076 1077 1078 1079 1080
## 5.243415e-06 1.252626e-02 1.352787e-05 1.315752e-04 1.249800e-06 4.863195e-05
## 1081 1082 1083 1084 1085 1086
## 1.048613e-05 3.151324e-07 7.506672e-05 4.843468e-05 7.799170e-05 2.771082e-06
## 1087 1088 1089 1090 1091 1092
## 2.082726e-06 2.020289e-05 1.074172e-03 4.985271e-06 6.987427e-05 1.820230e-04
## 1093 1094 1095 1096 1097 1098
## 1.130794e-04 1.141861e-01 3.810421e-05 4.237861e-06 4.756229e-05 2.796297e-06
## 1099 1100 1101 1102 1103 1104
## 4.197279e-05 1.478334e-03 3.948235e-05 1.561347e-04 2.273633e-05 2.427884e-04
## 1105 1106 1107 1108 1109 1110
## 2.424377e-04 7.941907e-05 1.386844e-04 1.216882e-06 1.831631e-04 2.099815e-02
## 1111 1112 1113 1114 1115 1116
## 4.044323e-08 2.412648e-04 5.909108e-05 2.527642e-04 1.286122e-03 2.820255e-04
## 1117 1118 1119 1120 1121 1122
## 6.198752e-03 4.577352e-05 7.106865e-04 4.482525e-05 2.862715e-06 5.887041e-04
## 1123 1124 1125 1126 1127 1128
## 2.286006e-04 5.605130e-05 8.064972e-05 1.344344e-04 8.850011e-06 8.053566e-04
## 1129 1130 1131 1132 1133 1134
## 2.660124e-06 5.462995e-05 3.267822e-07 5.753287e-06 8.434943e-06 2.363240e-05
## 1135 1136 1137 1138 1139 1140
## 2.598283e-04 7.579846e-07 1.412082e-04 2.082726e-06 9.388310e-06 2.729416e-06
## 1141 1142 1143 1144 1145 1146
## 3.210947e-03 7.691298e-04 7.259380e-07 1.975157e-04 4.630065e-06 1.154325e-03
## 1147 1148 1149 1150 1151 1152
## 6.613666e-05 4.269884e-05 8.853512e-04 1.998525e-06 2.499059e-06 2.084889e-05
## 1153 1154 1155 1156 1157 1158
## 1.359119e-06 2.419719e-03 3.293310e-04 2.240745e-05 1.867796e-04 1.287167e-04
## 1159 1160 1161 1162 1163 1164
## 5.599864e-05 6.039408e-05 2.013198e-04 8.079202e-04 4.523545e-06 2.782729e-05
## 1165 1166 1167 1168 1169 1170
## 6.792369e-05 2.861197e-04 7.661962e-05 1.863521e-04 6.342203e-06 1.224227e-04
## 1171 1172 1173 1174 1175 1176
## 2.277024e-04 2.266548e-06 2.854013e-03 1.007914e-05 9.388310e-06 6.003790e-07
## 1177 1178 1179 1180 1181 1182
## 5.495967e-04 3.629059e-04 1.744618e-03 1.550822e-03 9.991631e-05 4.028838e-05
## 1183 1184 1185 1186 1187 1188
## 1.513459e-01 5.830227e-05 1.983009e-06 1.292311e-05 1.699744e-04 1.808552e-05
## 1189 1190 1191 1192 1193 1194
## 7.887642e-05 5.830823e-07 2.817344e-05 1.372034e-06 3.615856e-06 1.267500e-04
## 1195 1196 1197 1198 1199 1200
## 4.840364e-05 9.239368e-05 1.046520e-03 1.025556e-04 2.497013e-05 3.412178e-05
## 1201 1202 1203 1204 1205 1206
## 2.933955e-06 1.691055e-04 8.660028e-04 3.520202e-05 3.219757e-04 4.197279e-05
## 1207 1208 1209 1210 1211 1212
## 6.092043e-07 1.285236e-04 2.435643e-05 2.239161e-05 6.836712e-04 1.389364e-01
## 1213 1214 1215 1216 1217 1218
## 2.349645e-04 6.606823e-07 1.145083e-05 8.068153e-08 2.603411e-04 5.686338e-04
## 1219 1220 1221 1222 1223 1224
## 1.542028e-05 8.602626e-06 7.311035e-04 1.750047e-04 3.062316e-05 5.284284e-08
## 1225 1226 1227 1228 1229 1230
## 1.605025e-05 2.063902e-04 8.419862e-04 1.484156e-05 1.203601e-05 1.098130e-05
## 1231 1232 1233 1234 1235 1236
## 5.096592e-05 1.999978e-03 7.542926e-05 2.427311e-06 2.197960e-05 1.915006e-06
## 1237 1238 1239 1240 1241 1242
## 1.387392e-04 1.250306e-04 5.618853e-05 8.052663e-05 4.043889e-06 7.250641e-04
## 1243 1244 1245 1246 1247 1248
## 2.502981e-04 1.710858e-05 2.572720e-04 3.065557e-06 2.363240e-05 3.931879e-03
## 1249 1250 1251 1252 1253 1254
## 2.403459e-05 8.619951e-05 4.125275e-04 1.503514e-04 3.579637e-05 4.259957e-05
## 1255 1256 1257 1258 1259 1260
## 7.205985e-06 2.275839e-05 1.138309e-06 2.468655e-05 4.169560e-04 8.719865e-06
## 1261 1262 1263 1264 1265 1266
## 1.602764e-04 1.120250e-06 5.350030e-05 2.990807e-05 1.621955e-03 3.340206e-05
## 1267 1268 1269 1270 1271 1272
## 1.280656e-04 4.062477e-05 8.520806e-06 3.923098e-04 6.739261e-05 1.026428e-04
## 1273 1274 1275 1276 1277 1278
## 1.018244e-04 1.561408e-06 2.228472e-04 1.681098e-03 3.865127e-05 2.971071e-05
## 1279 1280 1281 1282 1283 1284
## 2.059509e-04 3.915272e-04 7.941197e-07 2.028838e-05 2.921884e-04 3.387361e-04
## 1285 1286 1287 1288 1289 1290
## 3.224353e-06 1.023779e-05 2.757721e-07 4.908987e-04 1.212340e-05 1.100907e-03
## 1291 1292 1293 1294 1295 1296
## 5.667663e-04 6.501753e-05 4.001762e-05 5.491493e-05 1.090809e-05 1.316178e-04
## 1297 1298 1299 1300 1301 1302
## 1.137259e-04 5.891151e-03 1.345400e-06 4.255495e-05 9.119647e-06 5.201398e-05
## 1303 1304 1305 1306 1307 1308
## 2.002435e-05 8.539746e-05 3.069133e-04 1.929368e-04 6.652566e-06 1.403054e-04
## 1309 1310 1311 1312 1313 1314
## 6.346399e-04 6.873106e-06 9.903663e-04 3.707233e-04 1.230828e-05 1.768344e-04
## 1315 1316 1317 1318 1319 1320
## 4.437255e-05 8.719865e-06 3.676714e-05 4.725750e-03 1.882472e-02 2.190963e-04
## 1321 1322 1323 1324 1325 1326
## 4.320690e-06 7.692734e-06 8.792882e-06 1.201954e-08 6.725938e-04 2.941807e-05
## 1327 1328 1329 1330 1331 1332
## 1.055515e-05 2.286619e-05 1.475638e-03 4.595819e-03 1.067445e-06 2.427938e-04
## 1333 1334 1335 1336 1337 1338
## 1.477954e-05 2.814986e-05 1.179881e-04 7.852883e-06 4.807267e-09 3.001168e-05
## 1339 1340 1341 1342 1343 1344
## 2.448789e-05 5.051035e-06 4.217727e-05 1.471035e-01 1.055961e-04 2.376514e-04
## 1345 1346 1347 1348 1349 1350
## 1.456404e-04 1.585200e-04 4.077191e-04 5.858126e-06 1.920332e-05 6.268499e-07
## 1351 1352 1353 1354 1355 1356
## 9.450254e-06 2.142177e-05 3.754700e-05 1.776623e-05 1.723535e-04 3.873777e-05
## 1357 1358 1359 1360 1361 1362
## 9.473024e-05 1.204412e-05 1.438945e-04 7.315813e-05 1.493225e-04 7.623814e-05
## 1363 1364 1365 1366 1367 1368
## 2.047429e-04 1.170098e-05 1.871978e-03 7.887684e-05 3.895395e-05 1.504348e-05
## 1369 1370 1371 1372 1373 1374
## 5.521332e-05 1.685362e-04 4.982629e-08 4.259895e-04 8.974532e-04 6.444613e-05
## 1375 1376 1377 1378 1379 1380
## 5.871234e-05 1.364228e-03 3.109428e-05 5.436790e-05 1.771827e-06 9.082144e-07
## 1381 1382 1383 1384 1385 1386
## 7.293836e-04 7.941062e-05 1.779064e-04 2.113850e-04 3.945853e-04 3.588375e-05
## 1387 1388 1389 1390 1391 1392
## 1.311046e-06 3.494575e-05 1.029688e-04 1.064744e-06 2.400933e-06 1.565270e-04
## 1393 1394 1395 1396 1397 1398
## 1.108530e-03 8.248515e-05 5.830227e-05 1.890433e-09 4.624858e-05 4.405240e-06
## 1399 1400 1401 1402 1403 1404
## 1.566074e-04 1.684525e-03 2.104165e-04 2.550505e-05 4.758317e-06 1.372032e-04
## 1405 1406 1407 1408 1409 1410
## 3.777259e-06 6.446787e-06 1.023779e-05 1.867381e-04 1.391125e-06 1.798682e-03
## 1411 1412 1413 1414 1415 1416
## 6.159644e-07 3.759382e-05 5.144966e-05 1.656350e-05 3.040440e-06 1.921945e-05
## 1417 1418 1419 1420 1421 1422
## 4.106231e-06 3.026338e-05 6.963799e-05 4.857277e-05 6.781746e-04 3.359510e-04
## 1423 1424 1425 1426 1427 1428
## 3.664040e-05 2.664545e-03 1.936913e-04 1.195598e-06 9.708122e-05 4.077192e-07
## 1429 1430 1431 1432 1433 1434
## 5.681647e-05 7.861505e-05 2.641923e-04 8.060919e-04 5.068648e-05 1.256871e-04
## 1435 1436 1437 1438 1439 1440
## 9.034586e-05 8.430760e-05 6.771522e-05 1.891235e-04 2.501171e-04 4.062477e-05
## 1441 1442 1443 1444 1445 1446
## 2.505487e-04 1.618614e-05 7.597194e-04 5.590027e-05 1.528286e-04 2.803526e-06
## 1447 1448 1449 1450 1451 1452
## 4.377586e-03 1.445118e-05 4.840364e-05 3.163574e-06 3.419270e-02 3.613196e-06
## 1453 1454 1455 1456 1457 1458
## 1.808552e-05 2.291896e-04 3.642864e-06 9.126359e-05 5.991016e-07 5.600307e-08
## 1459 1460 1461 1462 1463 1464
## 1.361395e-04 6.792369e-05 6.146623e-04 5.436790e-05 5.628756e-04 4.770227e-05
## 1465 1466 1467 1468 1469 1470
## 4.425955e-05 3.363605e-07 5.608269e-04 8.450098e-06 9.599986e-06 8.017055e-05
## 1471 1472 1473 1474 1475 1476
## 3.958224e-06 7.550777e-05 1.158832e-04 9.137274e-05 4.417365e-06 5.864547e-05
## 1477 1478 1479 1480 1481 1482
## 1.018699e-04 9.869393e-06 4.277196e-05 2.560742e-04 1.738627e-05 4.084313e-05
## 1483 1484 1485 1486 1487 1488
## 9.894134e-05 1.386844e-04 1.959517e-04 3.464012e-04 5.544944e-05 8.261730e-06
## 1489 1490 1491 1492 1493 1494
## 2.955013e-05 4.914964e-05 7.403171e-06 3.624540e-04 3.076609e-08 5.914692e-05
## 1495 1496 1497 1498 1499 1500
## 4.786894e-04 1.275894e-05 3.960592e-06 1.201746e-04 2.098149e-05 2.877889e-04
## 1501 1502 1503 1504 1505 1506
## 6.424433e-05 2.320871e-04 8.520806e-06 2.893670e-04 4.077191e-04 7.390418e-05
## 1507 1508 1509 1510 1511 1512
## 1.710858e-05 3.545197e-05 6.928417e-05 2.645482e-04 1.004940e-05 1.770646e-03
## 1513 1514 1515 1516 1517 1518
## 4.192227e-04 8.022188e-04 1.762374e-04 8.414604e-09 1.823435e-03 5.991016e-07
## 1519 1520 1521 1522 1523 1524
## 7.655225e-04 4.054830e-03 2.604922e-05 5.553938e-07 1.353569e-04 1.028062e-05
## 1525 1526 1527 1528 1529 1530
## 2.746848e-05 4.141529e-05 7.357750e-05 6.548821e-06 5.847994e-04 1.616297e-04
## 1531 1532 1533 1534 1535 1536
## 9.532128e-06 1.185703e-05 6.037092e-05 2.564193e-04 5.746932e-05 1.632027e-05
## 1537 1538 1539 1540 1541 1542
## 2.001814e-04 1.881324e-02 1.962154e-04 3.317055e-05 3.376860e-07 1.318693e-04
## 1543 1544 1545 1546 1547 1548
## 1.871978e-03 6.652566e-06 1.690954e-05 1.496425e-05 2.242480e-04 2.560525e-04
## 1549 1550 1551 1552 1553 1554
## 1.248911e-03 1.932848e-06 6.300158e-04 3.171452e-06 8.786250e-06 8.918932e-04
## 1555 1556 1557 1558 1559 1560
## 9.907701e-06 5.853772e-06 1.336216e-05 1.854533e-04 1.445118e-05 1.748231e-04
## 1561 1562 1563 1564 1565 1566
## 8.952207e-06 1.236498e-04 3.199934e-05 1.018534e-04 1.835708e-05 2.137952e-05
## 1567 1568 1569 1570 1571 1572
## 1.846993e-05 5.492945e-05 7.332701e-06 7.509570e-04 1.605325e-04 6.412716e-05
## 1573 1574 1575 1576 1577 1578
## 3.559056e-06 2.339693e-04 1.155361e-04 1.425409e-04 1.022063e-04 1.152090e-03
## 1579 1580 1581 1582 1583 1584
## 2.292413e-04 1.678600e-04 3.239078e-06 3.696403e-04 2.223796e-06 5.615893e-06
## 1585 1586 1587 1588 1589 1590
## 9.641770e-04 2.220396e-05 1.045194e-01 9.257000e-04 5.204116e-05 1.188979e-04
## 1591 1592 1593 1594 1595 1596
## 1.451859e-07 8.633096e-06 1.072959e-04 2.030481e-05 9.634935e-07 3.508477e-06
## 1597 1598 1599 1600 1601 1602
## 4.014754e-05 2.032562e-03 1.559711e-07 9.124164e-04 1.081973e-06 1.068985e-05
## 1603 1604 1605 1606 1607 1608
## 2.844959e-04 8.660910e-05 1.886500e-05 7.755121e-04 5.379805e-06 1.523418e-04
## 1609 1610 1611 1612 1613 1614
## 3.182688e-06 1.561778e-05 2.082726e-06 4.109054e-11 1.883746e-05 2.223247e-05
## 1615 1616 1617 1618 1619 1620
## 1.549280e-05 1.845335e-05 3.054874e-07 1.573354e-04 3.125599e-05 3.455966e-06
## 1621 1622 1623 1624 1625 1626
## 6.146623e-04 2.179393e-04 1.443732e-01 3.412178e-05 9.018660e-06 2.869845e-04
## 1627 1628 1629 1630 1631 1632
## 1.371813e-05 1.535492e-05 2.710453e-06 8.406326e-06 7.555693e-05 2.104965e-05
## 1633 1634 1635 1636 1637 1638
## 2.056251e-03 6.254508e-05 2.392697e-05 2.964270e-06 3.861484e-04 5.805031e-08
## 1639 1640 1641 1642 1643 1644
## 2.532151e-04 4.829166e-04 5.331186e-03 1.233656e-04 2.025585e-05 4.565949e-05
## 1645 1646 1647 1648 1649 1650
## 8.979413e-06 5.830823e-07 2.291310e-05 6.128196e-05 1.465418e-04 9.042790e-07
## 1651 1652 1653 1654 1655 1656
## 1.079192e-03 2.550891e-05 1.366730e-05 1.086722e-03 1.991977e-05 3.008337e-05
## 1657 1658 1659 1660 1661 1662
## 2.019348e-05 3.606364e-04 6.806886e-05 1.427730e-04 7.974905e-06 3.089297e-05
## 1663 1664 1665 1666 1667 1668
## 4.520075e-05 8.830908e-04 4.628670e-03 9.470260e-04 8.394445e-04 1.493089e-06
## 1669 1670 1671 1672 1673 1674
## 6.461275e-06 1.371813e-05 1.973166e-04 5.770923e-06 7.661001e-07 3.656717e-05
## 1675 1676 1677 1678 1679 1680
## 2.149371e-05 2.655202e-05 2.330439e-05 1.271941e-04 2.438484e-05 6.726865e-04
## 1681 1682 1683 1684 1685 1686
## 1.078139e-05 1.482904e-04 5.553938e-07 6.391205e-05 2.857361e-02 3.772498e-08
## 1687 1688 1689 1690 1691 1692
## 5.639255e-09 2.455683e-04 1.490208e-03 1.851344e-04 1.005063e-04 1.785884e-04
## 1693 1694 1695 1696 1697 1698
## 4.612556e-06 5.830823e-07 2.654147e-05 1.338396e-04 6.668094e-06 1.407649e-04
## 1699 1700 1701 1702 1703 1704
## 5.408616e-06 2.829617e-03 2.000617e-06 7.150084e-04 5.373460e-03 9.251439e-04
## 1705 1706 1707 1708 1709 1710
## 1.004496e-04 2.277024e-04 2.427884e-04 3.363329e-04 2.878616e-04 1.699048e-04
## 1711 1712 1713 1714 1715 1716
## 4.385712e-04 4.385498e-09 1.384198e-05 2.391938e-04 1.363514e-05 9.373760e-05
## 1717 1718 1719 1720 1721 1722
## 2.104965e-05 4.725245e-05 6.352490e-07 1.059192e-05 2.009086e-05 1.054223e-04
## 1723 1724 1725 1726 1727 1728
## 1.825822e-02 2.578696e-05 1.073223e-05 2.598313e-05 1.110912e-04 1.097146e-05
## 1729 1730 1731 1732 1733 1734
## 1.281466e-04 5.882181e-03 1.969420e-06 1.673152e-04 1.945763e-05 2.601994e-06
## 1735 1736 1737 1738 1739 1740
## 4.701056e-06 3.935448e-04 2.415639e-06 2.273009e-04 1.342758e-05 5.436790e-05
## 1741 1742 1743 1744 1745 1746
## 1.820034e-07 1.057495e-06 1.168872e-03 1.140472e-04 2.122566e-04 7.655225e-04
## 1747 1748 1749 1750 1751 1752
## 7.374062e-06 5.432263e-05 2.330404e-04 1.140973e-05 6.043499e-04 4.780615e-03
## 1753 1754 1755 1756 1757 1758
## 2.051684e-04 7.063416e-05 6.474827e-05 1.910495e-04 3.923106e-06 4.977602e-04
## 1759 1760 1761 1762 1763 1764
## 3.342158e-04 2.343529e-05 3.219689e-05 1.311999e-05 9.471953e-06 2.957205e-05
## 1765 1766 1767 1768 1769 1770
## 7.332701e-06 1.065131e-06 2.314791e-06 1.831050e-04 3.046248e-06 3.511089e-04
## 1771 1772 1773 1774 1775 1776
## 7.592393e-05 3.611845e-06 3.627570e-07 1.943722e-03 1.602780e-04 5.135449e-05
## 1777 1778 1779 1780 1781 1782
## 6.677811e-03 3.770683e-04 2.715722e-05 1.554785e-05 2.467874e-03 1.237574e-05
## 1783 1784 1785 1786 1787 1788
## 4.125479e-05 3.661453e-04 1.138309e-06 2.052262e-05 1.362843e-04 3.911287e-07
## 1789 1790 1791 1792 1793 1794
## 4.411496e-05 3.206519e-05 2.461680e-04 1.241798e-03 1.340022e-07 2.064608e-03
## 1795 1796 1797 1798 1799 1800
## 2.933715e-06 8.945760e-04 6.748084e-05 8.935813e-05 1.383383e-04 3.932618e-05
## 1801 1802 1803 1804 1805 1806
## 6.949938e-07 1.605025e-05 4.077192e-07 7.410092e-05 4.699994e-07 3.047667e-05
## 1807 1808 1809 1810 1811 1812
## 5.270293e-05 2.306946e-06 1.533021e-05 7.852883e-06 5.397912e-06 4.875113e-05
## 1813 1814 1815 1816 1817 1818
## 2.346434e-06 5.795619e-06 3.174251e-08 4.919996e-05 1.892848e-04 9.272519e-06
## 1819 1820 1821 1822 1823 1824
## 1.109086e-05 2.948405e-05 7.239110e-05 5.131126e-03 1.033791e-04 9.485917e-05
## 1825 1826 1827 1828 1829 1830
## 4.077192e-07 3.003536e-06 9.380721e-05 3.492572e-05 1.502465e-04 6.727231e-06
## 1831 1832 1833 1834 1835 1836
## 2.191275e-03 4.197279e-05 1.484156e-05 8.957774e-07 4.289022e-05 7.212330e-05
## 1837 1838 1839 1840 1841 1842
## 4.441933e-04 1.127297e-05 1.086219e-04 3.351732e-05 2.876786e-02 6.806578e-05
## 1843 1844 1845 1846 1847 1848
## 1.802512e-04 1.075173e-05 1.069628e-05 3.117907e-05 8.790650e-04 2.232024e-05
## 1849 1850 1851 1852 1853 1854
## 5.223205e-04 6.429216e-06 6.531366e-06 6.738342e-05 1.618412e-04 3.747614e-04
## 1855 1856 1857 1858 1859 1860
## 7.744293e-05 1.198780e-03 7.941197e-07 3.478685e-04 1.089614e-04 2.156297e-03
## 1861 1862 1863 1864 1865 1866
## 2.958744e-04 5.037171e-05 2.023363e-06 6.441753e-05 6.329480e-05 1.715346e-04
## 1867 1868 1869 1870 1871 1872
## 1.906857e-05 1.268052e-04 4.619016e-04 7.633363e-07 3.598900e-05 1.248647e-05
## 1873 1874 1875 1876 1877 1878
## 6.168634e-04 7.865621e-05 2.023363e-06 9.746973e-07 1.210666e-05 2.914036e-05
## 1879 1880 1881 1882 1883 1884
## 4.678236e-05 3.460628e-05 6.544046e-05 2.215970e-04 3.075561e-06 1.155005e-04
## 1885 1886 1887 1888 1889 1890
## 9.294519e-06 7.698251e-06 1.149158e-03 4.410517e-06 2.082653e-03 2.469427e-04
## 1891 1892 1893 1894 1895 1896
## 5.103010e-05 3.054874e-07 6.567080e-04 1.777713e-03 3.918210e-05 8.526275e-04
## 1897 1898 1899 1900 1901 1902
## 4.624858e-05 1.165342e-03 1.197573e-06 1.305063e-04 3.733375e-04 8.357864e-05
## 1903 1904 1905 1906 1907 1908
## 1.332976e-03 2.984565e-06 8.723348e-06 1.147538e-03 1.477428e-03 2.064699e-04
## 1909 1910 1911 1912 1913 1914
## 3.442014e-04 6.964343e-05 2.367903e-03 8.272162e-04 2.392697e-05 3.614349e-06
## 1915 1916 1917 1918 1919 1920
## 3.316461e-05 1.146726e-04 6.121292e-06 4.225389e-05 4.232631e-04 4.378738e-06
## 1921 1922 1923 1924 1925 1926
## 5.679874e-06 5.154946e-05 1.418055e-05 2.644242e-05 2.214031e-08 1.266349e-07
## 1927 1928 1929 1930 1931 1932
## 3.464136e-05 9.121884e-04 2.087272e-05 3.939367e-05 6.417097e-05 4.677865e-06
## 1933 1934 1935 1936 1937 1938
## 4.554809e-05 5.324777e-05 1.426264e-05 1.127199e-04 1.176539e-06 7.467773e-07
## 1939 1940 1941 1942 1943 1944
## 5.605108e-05 9.397103e-07 5.769306e-06 2.821907e-05 6.667404e-04 4.267716e-04
## 1945 1946 1947 1948 1949 1950
## 3.651193e-06 3.923106e-06 1.120108e-05 2.547151e-05 6.365956e-04 1.518352e-05
De los resultados se observa que varias muestras tienen una influencia mayor en la estimación de los coeficientes de la regresión, las lineas que sobresalen como las 76,460 y 620. Esto puede deberse a varios factores, como valores atípicos en esas observaciones o características particulares que hacen que tengan un peso considerable en la relación entre las variables predictoras y la variable de respuesta.
# Calcular el factor de inflación de la varianza (VIF)
library(car)
vif2<-vif(modelo2)
print (vif2)
## areaconst estrato habitaciones parqueaderos banios
## 2.108461 1.693630 1.405477 1.763493 2.464873
Los valores de VIF son todos menores a 10, lo que sugiere que la multicolinealidad entre las variables independientes no es un problema importante en este modelo.
Los resultados indican que el modelo podría no ser apropiado para su uso debido a las violaciones significativas de los supuestos fundamentales de la regresión lineal. Las violaciones de la normalidad, heterocedasticidad, falta de linealidad y autocorrelación de los residuos pueden afectar la validez de las inferencias realizadas a partir del modelo y la precisión de las predicciones. Por lo tanto, es importante ejercer precaución al interpretar y utilizar los resultados del modelo en su forma actual. Si se requiere un modelo más confiable, podría ser necesario explorar diferentes enfoques o técnicas de modelado que aborden estas limitaciones, como la transformación de variables, el uso de modelos no lineales o la consideración de métodos robustos que sean menos sensibles a las violaciones de los supuestos.
Con el modelo identificado, se predijo el precio de la vivienda utilizando las características de la segunda solicitud.
solicitud2 <- data.frame(estrato = c(5, 6), areaconst = 300, habitaciones = 5, banios = 3, parqueaderos = 3)
# Predecir precio según características vivienda 2
predict(modelo2, newdata = solicitud2)
## 1 2
## 692.8101 750.9343
De acuerdo con el modelo correspondiente para los apartamentos en la zona sur de la ciudad de Cali, que cuenten con 5 habitaciones, 3 baños, 3 parqueaderos y un área construida de 300 metros cuadrados en un estrato 4, su precio sería de 692,810,100 de pesos colombianos. En cuanto al inmueble con las mismas características pero en un estrato 6, su precio sería de 750,934,300 de pesos colombianos.
Se empleó la base de datos de vivienda2 para identificar inmuebles que cumplan con los criterios de la solicitud 2. Posteriormente, se utilizó el modelo2 previamente desarrollado para evaluar la oferta de apartamento en la zona sur de Cali de la siguiente manera:
predvivi2 <-predict(modelo2, newdata = vivienda2)
vivienda2$precio_predicho <- predvivi2
vivienda2$Valoracion <- ifelse(vivienda2$preciom < vivienda2$precio_predicho, "oferta",
ifelse(vivienda2$preciom == vivienda2$precio_predicho, "neutral", "costosa"))
vivienda2
## # A tibble: 2,787 × 13
## id tipo areaconst parqueaderos banios habitaciones estrato zona preciom
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 5098 Apart… 96 1 2 3 4 Zona… 290
## 2 698 Apart… 40 1 1 2 3 Zona… 78
## 3 8199 Apart… 194 2 5 3 6 Zona… 875
## 4 1241 Apart… 117 0 2 3 3 Zona… 135
## 5 5370 Apart… 78 0 1 3 3 Zona… 135
## 6 6975 Apart… 75 1 2 3 4 Zona… 220
## 7 5615 Apart… 72 2 2 3 3 Zona… 210
## 8 6262 Apart… 68 0 2 3 3 Zona… 105
## 9 7396 Apart… 58 1 2 2 3 Zona… 115
## 10 6949 Apart… 84 0 2 3 4 Zona… 220
## # ℹ 2,777 more rows
## # ℹ 4 more variables: longitud <dbl>, latitud <dbl>, precio_predicho <dbl>,
## # Valoracion <chr>
oferta2 <- subset(vivienda2,
estrato %in% solicitud2$estrato &
areaconst >= solicitud2$areaconst &
habitaciones >= solicitud2$habitaciones &
banios >= solicitud2$banios &
parqueaderos >= solicitud2$parqueaderos &
preciom <= 850 &
Valoracion=="oferta" )
oferta2
## # A tibble: 2 × 13
## id tipo areaconst parqueaderos banios habitaciones estrato zona preciom
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 7182 Aparta… 573 3 8 5 5 Zona… 730
## 2 7512 Aparta… 300 3 5 6 5 Zona… 670
## # ℹ 4 more variables: longitud <dbl>, latitud <dbl>, precio_predicho <dbl>,
## # Valoracion <chr>
library(leaflet)
# Coordenadas del centro de Cali
lat_cali <- 3.4516
long_cali <- -76.5320
# Crear el mapa
mapsol2 <- leaflet(oferta2) %>%
addTiles() %>%
addMarkers(
lng = ~longitud,
lat = ~latitud,
popup = ~paste("ID:", id,
"<br>Zona:", enc2utf8(zona),
"<br>Tipo:", enc2utf8(tipo),
"<br>Estrato:", estrato,
"<br>Habitaciones:", habitaciones,
"<br>Baños:", banios,
"<br>Parqueadero:", parqueaderos,
"<br>Área construida:", areaconst,
"<br>Valoración:",Valoracion)
) %>%
setView(lng = long_cali, lat = lat_cali, zoom = 12)
mapsol2
Se identificaron dos apartamentos en la zona sur de Cali que cumplen con los requerimientos establecidos en la solicitud 2. Es importante destacar que ambas viviendas se encuentran por debajo del costo previsto por el modelo desarrollado.
Calidad de los datos de ingreso al modelo: Se observó que los datos de ingreso al modelo son fundamentales para la precisión y confiabilidad de las predicciones. Es crucial contar con datos limpios, completos y representativos que capturen adecuadamente la diversidad y complejidad de los inmuebles en la ciudad de Cali. La calidad de los datos de ingreso afecta directamente la calidad de las predicciones del modelo, por lo que se recomienda realizar un proceso exhaustivo de limpieza, validación y mejora continua de los datos para garantizar resultados precisos y confiables.
Uso de un modelo de regresión lineal múltiple para la estimación de precios de los inmuebles en la ciudad de Cali: El modelo de regresión lineal múltiple proporciona una herramienta poderosa para la estimación de precios de los inmuebles en la ciudad de Cali. Permite analizar la relación entre múltiples variables predictoras y el precio de los inmuebles, lo que ayuda a entender mejor los factores que influyen en los precios y a realizar predicciones precisas. Sin embargo, es importante tener en cuenta que este tipo de modelo asume ciertos supuestos que deben cumplirse para obtener resultados válidos. Además, es necesario realizar un análisis continuo de los datos y del modelo para identificar posibles mejoras y garantizar su validez y relevancia en un entorno cambiante.
Impactos de un modelo que no cumple con los supuestos: Cuando un modelo de regresión lineal múltiple no cumple con los supuestos fundamentales, como la normalidad de los residuos, la homocedasticidad y la independencia de los errores, puede tener varios impactos negativos en las predicciones y en las conclusiones derivadas del modelo. Por ejemplo, las predicciones pueden ser sesgadas o imprecisas, lo que podría llevar a decisiones erróneas o a una interpretación incorrecta de los resultados. Además, los intervalos de confianza y los p-values de los coeficientes pueden no ser válidos, lo que afecta la confiabilidad de las inferencias realizadas a partir del modelo. Por lo tanto, es crucial realizar una validación exhaustiva de los supuestos del modelo y tomar medidas correctivas adecuadas para garantizar la precisión y validez de las predicciones.
Estimaciones, validaciones y comparación del modelo 1
# Realizar estimaciones con el conjunto de prueba
predicciones_prueba <- predict(modelo1, newdata = datos_prueba)
predicciones_prueba
## 1 2 3 4 5 6 7 8
## 434.7423 588.8713 867.5712 531.7796 457.7080 217.8096 302.4975 602.2316
## 9 10 11 12 13 14 15 16
## 380.4056 614.4028 591.3138 496.6142 564.1463 494.9849 545.7796 751.9783
## 17 18 19 20 21 22 23 24
## 805.0895 569.5539 732.4781 790.5468 855.4658 516.1830 882.0859 431.7232
## 25 26 27 28 29 30 31 32
## 250.9591 236.9803 148.3694 173.7361 201.7362 144.2847 240.0573 142.6093
## 33 34 35 36 37 38 39 40
## 257.4697 239.3233 274.5312 534.4714 185.1982 389.6651 150.0448 356.5230
## 41 42 43 44 45 46 47 48
## 175.4115 178.7042 166.4500 186.8072 267.1237 456.4602 384.4868 427.9086
## 49 50 51 52 53 54 55 56
## 577.9224 524.5396 499.6047 418.8813 404.7641 252.7893 186.8736 406.0009
## 57 58 59 60 61 62 63 64
## 738.2427 441.2160 561.5460 666.0444 1033.6687 860.0566 565.3293 482.3577
## 65 66 67 68 69 70 71 72
## 658.2732 627.3251 570.1391 369.8233 551.5516 679.8251 472.2387 643.4106
## 73 74 75 76 77 78 79 80
## 722.1522 807.5658 472.2387 496.7470 439.6274 757.5171 751.8074 670.1131
## 81 82 83 84 85 86 87 88
## 425.3914 452.4579 474.4744 467.6025 368.4294 439.6274 592.2801 674.6783
## 89 90 91 92 93 94 95 96
## 665.6464 610.6831 712.2152 720.8050 477.8805 462.5178 441.2363 490.8661
## 97 98 99 100 101 102 103 104
## 508.4780 374.5212 364.4613 419.4531 399.8049 331.7255 382.8394 225.4602
## 105 106 107 108 109 110 111 112
## 239.9500 117.1768 221.1603 195.0845 215.7481 204.8878 284.8404 162.2989
## 113 114 115 116 117 118 119 120
## 209.1213 353.9649 160.6236 219.7001 178.6378 606.8855 664.1701 273.9294
## 121 122 123 124 125 126 127 128
## 1074.5869 325.5870 186.4128 320.3500 300.4452 241.7326 435.2611 499.1264
## 129 130 131 132 133 134 135 136
## 778.6442 455.8998 513.0195 598.8928 474.4329 523.7470 666.1227 537.5941
## 137 138 139 140 141 142 143 144
## 407.4851 508.8524 234.2148 234.5295 289.3554 156.6052 247.4103 139.4245
## 145 146 147 148 149 150 151 152
## 487.9057 203.2124 487.8746 506.6358 545.7801 634.3081 600.3660 494.3081
## 153 154 155 156 157 158 159 160
## 977.9213 684.5775 527.8852 476.1746 719.1297 406.6521 564.3630 1107.5337
## 161 162 163 164 165 166 167 168
## 694.9734 795.6647 686.5888 833.2684 629.1467 617.6250 134.4399 555.6084
## 169 170 171 172 173 174 175 176
## 626.4672 409.1438 510.6101 454.2245 459.7030 746.0633 590.4803 453.3417
## 177 178 179 180 181 182 183 184
## 1072.2564 473.8156 741.3824 389.8689 949.8466 631.7255 186.8072 123.7124
## 185 186 187 188 189 190 191 192
## 323.5928 211.4643 1324.6045 215.5490 261.4886 160.6236 156.3901 274.5312
## 193 194 195 196 197 198 199 200
## 274.5312 258.4489 237.7273 258.4489 133.7059 193.3013 185.1319 215.5490
## 201 202 203 204 205 206 207 208
## 215.5490 381.2968 445.9478 384.0679 430.7799 574.2078 468.8916 410.6984
## 209 210 211 212 213 214 215 216
## 394.6632 608.7376 542.1319 636.3394 665.6141 136.1153 208.9062 103.5039
## 217
## 280.5064
## Verificacion de las estimaciones
datos_prueba$precio_predicho <- predicciones_prueba
datos_prueba$Valoracion <- ifelse(datos_prueba$preciom < datos_prueba$precio_predicho, "oferta",
ifelse(datos_prueba$preciom == datos_prueba$precio_predicho, "neutral", "costosa"))
datos_prueba
## # A tibble: 217 × 13
## id tipo areaconst parqueaderos banios habitaciones estrato zona preciom
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 1209 Casa 150 2 4 6 5 Zona … 320
## 2 1592 Casa 380 2 3 3 5 Zona … 780
## 3 4057 Casa 445 0 7 6 6 Zona … 750
## 4 4460 Casa 355 3 5 5 4 Zona … 625
## 5 7987 Casa 200 4 4 5 5 Zona … 420
## 6 141 Casa 160 0 2 3 3 Zona … 230
## 7 1276 Casa 117 0 3 4 4 Zona … 305
## 8 1899 Casa 300 0 5 6 5 Zona … 380
## 9 2014 Casa 330 0 3 0 3 Zona … 270
## 10 2730 Casa 319 0 5 4 5 Zona … 460
## # ℹ 207 more rows
## # ℹ 4 more variables: longitud <dbl>, latitud <dbl>, precio_predicho <dbl>,
## # Valoracion <chr>
# Calcular métricas de evaluación
error_cuadratico_medio <- mean((datos_prueba$preciom - predicciones_prueba)^2)
error_absoluto_medio <- mean(abs(datos_prueba$preciom - predicciones_prueba))
r_cuadrado <- 1 - sum((datos_prueba$preciom - predicciones_prueba)^2) / sum((datos_prueba$preciom - mean(datos_prueba$preciom))^2)
# Imprimir resultados
print("Métricas de evaluación del modelo 1:")
## [1] "Métricas de evaluación del modelo 1:"
print(paste("Error Cuadrático Medio:", error_cuadratico_medio))
## [1] "Error Cuadrático Medio: 32793.5876527063"
print(paste("Error Absoluto Medio:", error_absoluto_medio))
## [1] "Error Absoluto Medio: 109.526481171784"
print(paste("R cuadrado:", r_cuadrado))
## [1] "R cuadrado: 0.609399717419335"
Estas métricas sugieren que el modelo 1 tiene un ajuste razonable a los datos, con un nivel moderado de precisión en las predicciones. El Error Cuadrático Medio indica que, en promedio, las predicciones del modelo difieren del valor real en alrededor de 32,793.59 unidades monetarias. Mientras tanto, el Error Absoluto Medio muestra que, en promedio, las predicciones tienen un error absoluto de aproximadamente 109.53 unidades monetarias. El R cuadrado de 0.6094 indica que alrededor del 61% de la variabilidad en los precios de las casas en la zona norte de Cali puede ser explicada por las variables predictoras incluidas en el modelo. Esto sugiere que el modelo proporciona una estimación razonable de los precios de las casas, aunque podría mejorarse para capturar más completamente la variabilidad en los datos.
Estimaciones, validaciones y comparación del modelo 2
# Realizar estimaciones con el conjunto de prueba
predicciones_prueba2 <- predict(modelo2, newdata = datos_prueba2)
predicciones_prueba2
## 1 2 3 4 5 6
## 677.441440 193.765977 132.555379 479.649067 15.388900 184.506894
## 7 8 9 10 11 12
## 176.790991 189.136435 219.483424 142.317304 275.037921 170.618269
## 13 14 15 16 17 18
## 170.618269 178.334172 266.008991 337.166524 337.166524 142.317304
## 19 20 21 22 23 24
## 370.952360 325.676409 182.963713 187.593255 236.458409 187.593255
## 25 26 27 28 29 30
## 27.734343 16.932080 66.837573 9.216178 16.932080 68.380753
## 31 32 33 34 35 36
## 66.837573 170.618269 193.765977 376.772595 143.357642 35.097760
## 37 38 39 40 41 42
## 132.325226 416.895288 336.262299 272.468182 305.901531 328.762770
## 43 44 45 46 47 48
## 493.875663 208.845295 351.557991 154.662748 177.981685 198.043032
## 49 50 51 52 53 54
## 267.322019 275.037921 123.799138 201.632235 193.413490 184.154407
## 55 56 57 58 59 60
## 201.481879 190.327129 215.873346 135.792095 210.740962 225.777155
## 61 62 63 64 65 66
## 336.126186 247.138339 247.490825 313.330965 330.817645 250.347033
## 67 68 69 70 71 72
## 376.772595 275.037921 13.845719 186.050074 23.104802 66.313856
## 73 74 75 76 77 78
## 69.923934 321.734719 114.540055 148.137539 175.247811 211.931656
## 79 80 81 82 83 84
## 226.696484 145.051178 321.857053 190.679616 123.799138 257.560094
## 85 86 87 88 89 90
## 313.330965 241.087950 329.953464 228.742507 248.803853 360.939407
## 91 92 93 94 95 96
## 318.246975 510.103874 569.792491 407.758539 471.646696 533.373915
## 97 98 99 100 101 102
## 641.567780 431.286755 555.882667 421.008208 534.917096 337.791700
## 103 104 105 106 107 108
## 331.898027 510.226208 627.155439 519.485291 471.933164 568.867067
## 109 110 111 112 113 114
## 611.744509 552.796306 604.007732 248.803853 384.991340 690.663087
## 115 116 117 118 119 120
## 604.007732 453.414999 322.359895 259.606116 499.710413 478.772864
## 121 122 123 124 125 126
## 289.946010 306.928090 383.448160 469.010939 348.593963 582.689674
## 127 128 129 130 131 132
## 336.248520 487.364969 424.963677 569.153536 334.705339 572.239897
## 133 134 135 136 137 138
## 563.885039 912.070892 769.012806 1187.804454 383.297804 325.446256
## 139 140 141 142 143 144
## 207.654601 322.359895 584.470102 525.658013 1005.709156 279.084824
## 145 146 147 148 149 150
## 541.376287 449.071926 339.334881 540.737331 541.872034 498.662980
## 151 152 153 154 155 156
## 979.761556 603.340754 580.479516 507.038712 546.005828 523.210607
## 157 158 159 160 161 162
## 689.119907 618.448095 346.698297 332.809672 228.742507 23.104802
## 163 164 165 166 167 168
## 63.751212 635.740449 73.390803 129.971860 264.752279 562.746172
## 169 170 171 172 173 174
## 298.702250 124.961810 140.041128 124.961810 186.050074 198.395518
## 175 176 177 178 179 180
## 551.095675 478.042475 204.568240 189.136435 88.470122 313.495100
## 181 182 183 184 185 186
## 694.761817 317.744133 300.919503 247.260672 328.410283 375.229415
## 187 188 189 190 191 192
## 127.925837 38.536607 81.106706 67.772505 170.618269 201.129393
## 193 194 195 196 197 198
## 201.481879 120.209935 123.799138 138.878456 117.245907 250.605208
## 199 200 201 202 203 204
## 184.154407 247.260672 184.154407 213.188368 204.568240 251.537728
## 205 206 207 208 209 210
## 174.895325 177.981685 170.618269 199.938699 444.386068 132.325226
## 211 212 213 214 215 216
## 444.386068 267.322019 204.718596 170.618269 143.507998 198.043032
## 217 218 219 220 221 222
## 198.043032 254.854241 119.169596 170.618269 134.248915 169.075089
## 223 224 225 226 227 228
## 170.618269 242.795266 178.334172 404.549844 97.729205 353.847945
## 229 230 231 232 233 234
## 55.225123 124.839476 477.582170 525.888165 451.871818 356.187532
## 235 236 237 238 239 240
## 279.667463 331.849131 360.178119 290.469726 321.857053 406.093025
## 241 242 243 244 245 246
## 1001.474226 420.484491 379.981290 398.377122 267.608488 452.094875
## 247 248 249 250 251 252
## 259.606116 300.985521 238.001590 412.035594 422.551389 331.849131
## 253 254 255 256 257 258
## 236.772900 277.771796 284.297004 321.857053 352.720663 221.313073
## 259 260 261 262 263 264
## 1154.601581 259.606116 326.486594 221.313073 341.918399 383.297804
## 265 266 267 268 269 270
## 251.890214 316.581461 398.377122 366.989796 418.274333 311.571411
## 271 272 273 274 275 276
## 224.982073 207.302115 317.915332 158.272825 247.948524 181.068046
## 277 278 279 280 281 282
## 210.740962 181.650685 239.774923 176.790991 207.302115 234.915229
## 283 284 285 286 287 288
## 317.105178 319.503687 349.634302 313.617434 375.229415 325.676409
## 289 290 291 292 293 294
## 368.173342 1092.571096 186.050074 286.241568 314.141150 366.322818
## 295 296 297 298 299 300
## 302.815170 591.159445 423.068010 396.833942 254.854241 232.345489
## 301 302 303 304 305 306
## 240.585108 198.395518 224.277100 182.963713 117.245907 231.326025
## 307 308 309 310 311 312
## 70.426776 347.804652 268.742866 193.765977 338.479552 242.508797
## 313 314 315 316 317 318
## 242.508797 136.144582 198.395518 467.181289 617.222283 250.577186
## 319 320 321 322 323 324
## 201.129393 232.059020 267.322019 117.626416 4.939122 340.252885
## 325 326 327 328 329 330
## 178.334172 279.667463 257.710450 392.707243 230.285687 305.901531
## 331 332 333 334 335 336
## 259.606116 268.865199 259.606116 209.197782 333.039825 171.621337
## 337 338 339 340 341 342
## 234.915229 382.945317 259.606116 268.865199 268.865199 247.777294
## 343 344 345 346 347 348
## 275.037921 337.669366 178.334172 178.334172 343.842088 274.685435
## 349 350 351 352 353 354
## 340.375219 349.634302 233.888670 287.383365 262.692477 398.377122
## 355 356 357 358 359 360
## 248.451367 398.443140 244.174311 251.890214 146.594359 242.631131
## 361 362 363 364 365 366
## 209.197782 231.828868 82.269377 159.693672 127.925837 82.269377
## 367 368 369 370 371 372
## 351.557991 270.638532 523.891364 324.943414 32.011399 413.924166
## 373 374 375 376 377 378
## 228.156098 376.223786 311.054789 315.331845 312.597970 349.634302
## 379 380 381 382 383 384
## 636.578657 120.209935 53.329457 59.502179 84.413518 72.134091
## 385 386 387 388 389 390
## 3.043456 117.790551 85.383761 205.247240 151.073544 167.531908
## 391 392 393 394 395 396
## 25.838677 120.712777 141.461975 61.045359 128.278323 383.584273
## 397 398 399 400 401 402
## 319.151200 268.865199 293.269618 27.381857 65.674901 74.200989
## 403 404 405 406 407 408
## 73.390803 54.492129 229.259128 287.383365 305.901531 350.014810
## 409 410 411 412 413 414
## 397.204305 132.325226 396.833942 316.417326 362.073785 241.604572
## 415 416 417 418 419 420
## 358.254429 270.638532 255.206728 143.479976 539.833106 564.523994
## 421 422 423 424 425 426
## 453.414999 722.336883 563.246084 648.997214 620.867479 554.245447
## 427 428 429 430 431 432
## 613.752536 471.933164 380.878420 546.005828 447.242277 541.089818
## 433 434 435 436 437 438
## 534.564609 502.796774 495.080872 519.485291 542.280512 267.779718
## 439 440 441 442 443 444
## 490.164861 467.303623 849.610678 433.706138 515.142218 602.178082
## 445 446 447 448 449 450
## 517.589624 605.264443 540.737331 453.414999 602.178082 583.659916
## 451 452 453 454 455 456
## 513.246551 525.658013 565.075733 471.933164 540.737331 602.178082
## 457 458 459 460 461 462
## 576.230483 713.458308 615.047243 690.663087 620.982717 752.037821
## 463 464 465 466 467 468
## 584.470102 467.303623 450.328638 476.210220 612.627859 479.649067
## 469 470 471 472 473 474
## 599.091721 459.940207 540.450863 590.758062 392.843356 534.707818
## 475 476 477 478 479 480
## 583.770384 857.613049 599.779573 533.021429 549.378658 650.303146
## 481 482 483 484 485 486
## 546.910053 468.846803 710.371947 617.609887 408.949233 563.885039
## 487 488 489 490 491 492
## 533.021429 124.315759 401.463483 78.020345 724.784288 207.654601
## 493 494 495 496 497 498
## 263.732816 107.986824 302.692837 193.413490 276.581102 305.901531
## 499 500 501 502 503 504
## 241.087950 293.269618 328.029775 270.408380 440.947221 270.408380
## 505 506 507 508 509 510
## 270.408380 328.410283 328.410283 258.062936 215.370504 425.621958
## 511 512 513 514 515 516
## 363.114124 398.377122 434.222760 434.222760 457.017981 337.288858
## 517 518 519 520 521 522
## 213.827323 290.850235 66.837573 87.631914 295.099268 402.503822
## 523 524 525 526 527 528
## 323.393138 760.738069 455.181236 293.556087 353.740126 178.334172
## 529 530 531 532 533 534
## 282.467355 163.339192 389.851034 312.597970 321.857053 347.731540
## 535 536 537 538 539 540
## 321.333336 344.128557 393.223864 328.564601 305.377814 297.899160
## 541 542 543 544 545 546
## 620.982717 673.450854 444.033582 358.254429 189.136435 559.391610
## 547 548 549 550 551 552
## 605.449297 375.229415 316.064839 245.881627 250.347033 295.099268
## 553 554 555 556 557 558
## 408.152827 506.399757 375.581901 372.143054 170.618269 164.445547
## 559 560 561 562 563 564
## 265.778838 123.799138 248.301011 193.413490 316.064839 302.312328
## 565 566 567 568 569 570
## 111.453694 146.594359 340.375219 170.618269 170.618269 210.740962
## 571 572 573 574 575 576
## 275.037921 198.395518 264.235658 164.445547 193.413490 187.593255
## 577 578 579 580 581 582
## 186.050074 251.080028 257.710450 322.237561 116.083235 247.260672
## 583 584 585 586 587 588
## 230.285687 320.694381 311.435298 320.694381 173.704630 193.765977
## 589 590 591 592 593 594
## 341.918399 120.712777 226.172767 251.890214 190.679616 258.062936
## 595 596 597 598 599 600
## 317.608020 195.309157 263.732816 275.037921 259.253630 231.828868
## 601 602 603 604 605 606
## 247.138339 253.433394 172.161450 146.594359 170.618269 126.885499
## 607 608 609 610 611 612
## 319.151200 198.395518 184.154407 209.197782 201.481879 123.799138
## 613 614 615 616 617 618
## 176.790991 143.507998 236.458409 170.618269 201.481879 320.694381
## 619 620 621 622 623 624
## 234.915229 176.790991 143.507998 348.091121 275.037921 170.618269
## 625 626 627 628 629 630
## 123.799138 320.694381 186.050074 109.910513 140.421637 82.419733
## 631 632 633 634 635 636
## 122.255957 327.554955 203.175416 146.594359 126.533012 123.799138
## 637 638 639 640 641 642
## 251.890214 170.618269 117.626416 185.697588 162.902367 248.803853
## 643 644 645 646 647 648
## 138.878456 365.970332 256.519755 186.050074 308.348937 355.520555
## 649 650 651 652 653 654
## 320.694381 317.608020 221.190739 323.780742 146.594359 201.129393
## 655 656 657 658 659 660
## 399.333894 297.899160 201.129393 192.955791 192.955791 199.938699
## 661 662 663 664 665 666
## 134.248915 189.136435 293.433754 293.433754 236.458409 204.215754
## 667 668 669 670 671 672
## 146.594359 193.413490 181.420533 259.253630 267.322019 278.124282
## 673 674 675 676 677 678
## 247.260672 245.717492 259.606116 346.928449 123.799138 274.685435
## 679 680 681 682 683 684
## 259.606116 198.395518 348.091121 262.570144 162.902367 123.799138
## 685 686 687 688 689 690
## 276.581102 264.113324 336.126186 360.150096 376.772595 201.481879
## 691 692 693 694 695 696
## 145.051178 196.852338 244.174311 195.309157 208.845295 172.161450
## 697 698 699 700 701 702
## 182.963713 116.083235 123.799138 182.963713 231.706534 123.799138
## 703 704 705 706 707 708
## 282.401338 170.618269 170.618269 386.031678 390.661220 199.938699
## 709 710 711 712 713 714
## 325.323922 260.362275 146.594359 242.128289 208.845295 201.129393
## 715 716 717 718 719 720
## 216.561198 198.043032 202.794907 143.507998 323.780742 245.214650
## 721 722 723 724 725 726
## 186.050074 201.129393 208.845295 193.413490 266.969533 193.765977
## 727 728 729 730 731 732
## 250.224700 320.694381 207.302115 236.458409 323.780742 215.751012
## 733 734 735 736 737 738
## 195.309157 232.869206 256.167269 201.481879 203.025060 201.481879
## 739 740 741 742 743 744
## 190.679616 259.606116 297.710809 343.489602 198.395518 270.055894
## 745 746 747 748 749 750
## 198.395518 280.735823 251.890214 241.087950 123.799138 345.004760
## 751 752 753 754 755 756
## 265.778838 146.594359 170.618269 320.694381 390.661220 243.671469
## 757 758 759 760 761 762
## 198.395518 184.506894 245.214650 262.570144 256.519755 297.833142
## 763 764 765 766 767 768
## 398.377122 268.512713 201.481879 209.348138 162.902367 186.050074
## 769 770 771 772 773 774
## 158.272825 170.618269 182.963713 215.018017 116.083235 189.136435
## 775 776 777 778 779 780
## 216.561198 216.561198 266.969533 326.486594 239.544770 189.577550
## 781 782 783 784 785 786
## 123.799138 170.618269 128.428679 192.222796 320.694381 212.284143
## 787 788 789 790 791 792
## 456.501360 122.255957 265.778838 174.895325 126.885499 149.261616
## 793 794 795 796 797 798
## 193.413490 273.875249 170.618269 131.515040 181.923375 352.720663
## 799 800 801 802 803 804
## 129.238865 170.618269 348.119143 262.692477 196.499851 262.570144
## 805 806 807 808 809 810
## 212.284143 204.568240 247.138339 203.025060 198.395518 216.913684
## 811 812 813 814 815 816
## 275.037921 189.136435 313.330965 329.953464 259.544389 247.260672
## 817 818 819 820 821 822
## 275.037921 320.694381 233.372048 345.032783 196.974671 198.043032
## 823 824 825 826 827 828
## 136.144582 185.697588 250.347033 555.495064 733.658698 138.497948
## 829 830 831 832 833 834
## 341.659953 266.617046 328.762770 267.322019 166.778039 66.837573
## 835 836 837
## 425.867902 328.029775 663.668054
# Verificacion de las estimaciones
datos_prueba2$precio_predicho <- predicciones_prueba2
datos_prueba2$Valoracion <- ifelse(datos_prueba2$preciom < datos_prueba2$precio_predicho, "oferta",
ifelse(datos_prueba2$preciom == datos_prueba2$precio_predicho, "neutral", "costosa"))
datos_prueba2
## # A tibble: 837 × 13
## id tipo areaconst parqueaderos banios habitaciones estrato zona preciom
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 8199 Apart… 194 2 5 3 6 Zona… 875
## 2 6975 Apart… 75 1 2 3 4 Zona… 220
## 3 822 Apart… 73 1 2 3 3 Zona… 150
## 4 8299 Apart… 125 2 3 3 6 Zona… 305
## 5 301 Apart… 57 0 1 3 3 Zona… 115
## 6 5534 Apart… 69 1 2 3 4 Zona… 175
## 7 5368 Apart… 64 1 2 3 4 Zona… 226
## 8 693 Apart… 72 1 2 3 4 Zona… 225
## 9 741 Apart… 54 1 2 3 5 Zona… 164
## 10 2406 Apart… 72 0 2 3 4 Zona… 215
## # ℹ 827 more rows
## # ℹ 4 more variables: longitud <dbl>, latitud <dbl>, precio_predicho <dbl>,
## # Valoracion <chr>
# Calcular métricas de evaluación
error_cuadratico_medio2 <- mean((datos_prueba2$preciom - predicciones_prueba2)^2)
error_absoluto_medio2 <- mean(abs(datos_prueba2$preciom - predicciones_prueba2))
r_cuadrado2 <- 1 - sum((datos_prueba2$preciom - predicciones_prueba2)^2) / sum((datos_prueba2$preciom - mean(datos_prueba2$preciom))^2)
# Imprimir resultados
print("Métricas de evaluación del modelo 2:")
## [1] "Métricas de evaluación del modelo 2:"
print(paste("Error Cuadrático Medio:", error_cuadratico_medio2))
## [1] "Error Cuadrático Medio: 8409.31810711649"
print(paste("Error Absoluto Medio:", error_absoluto_medio2))
## [1] "Error Absoluto Medio: 57.2677618622234"
print(paste("R cuadrado:", r_cuadrado2))
## [1] "R cuadrado: 0.755154643574454"
Las métricas de evaluación del modelo 2 sugieren que este modelo tiene un buen ajuste a los datos observados. Con un Error Cuadrático Medio relativamente bajo y un R cuadrado significativo, el modelo 2 demuestra una capacidad considerable para explicar la variabilidad en los precios de los apartamentos en la zona sur de Cali utilizando las variables predictoras seleccionadas.
# Métricas del modelo 1
error_cuadratico_medio_1 <- 32793.59
error_absoluto_medio_1 <- 109.53
r_cuadrado_1 <- 0.6094
# Métricas del modelo 2
error_cuadratico_medio_2 <- 8409.32
error_absoluto_medio_2 <- 57.27
r_cuadrado_2 <- 0.7552
library(knitr)
# Crear un marco de datos con las métricas de ambos modelos
metricas <- data.frame(
Modelo = c("Modelo 1", "Modelo 2"),
Error_Cuadratico_Medio = c(error_cuadratico_medio_1, error_cuadratico_medio_2),
Error_Absoluto_Medio = c(error_absoluto_medio_1, error_absoluto_medio_2),
R_Cuadrado = c(r_cuadrado_1, r_cuadrado_2)
)
# Imprimir el cuadro
kable(metricas, format = "markdown")
| Modelo | Error_Cuadratico_Medio | Error_Absoluto_Medio | R_Cuadrado |
|---|---|---|---|
| Modelo 1 | 32793.59 | 109.53 | 0.6094 |
| Modelo 2 | 8409.32 | 57.27 | 0.7552 |
# Comparación de R cuadrado
if (r_cuadrado_1 > r_cuadrado_2) {
cat("El modelo 1 tiene un R cuadrado mayor, lo que sugiere un mejor ajuste a los datos.\n")
} else if (r_cuadrado_1 < r_cuadrado_2) {
cat("El modelo 2 tiene un R cuadrado mayor, lo que sugiere un mejor ajuste a los datos.\n")
} else {
cat("Ambos modelos tienen el mismo R cuadrado.\n")
}
## El modelo 2 tiene un R cuadrado mayor, lo que sugiere un mejor ajuste a los datos.
# Comparación de Error Cuadrático Medio
if (error_cuadratico_medio_1 < error_cuadratico_medio_2) {
cat("El modelo 1 tiene un Error Cuadrático Medio menor, lo que indica una mejor precisión en las predicciones.\n")
} else if (error_cuadratico_medio_1 > error_cuadratico_medio_2) {
cat("El modelo 2 tiene un Error Cuadrático Medio menor, lo que indica una mejor precisión en las predicciones.\n")
} else {
cat("Ambos modelos tienen el mismo Error Cuadrático Medio.\n")
}
## El modelo 2 tiene un Error Cuadrático Medio menor, lo que indica una mejor precisión en las predicciones.
# Comparación de Error Absoluto Medio
if (error_absoluto_medio_1 < error_absoluto_medio_2) {
cat("El modelo 1 tiene un Error Absoluto Medio menor, lo que indica una mejor precisión en las predicciones.\n")
} else if (error_absoluto_medio_1 > error_absoluto_medio_2) {
cat("El modelo 2 tiene un Error Absoluto Medio menor, lo que indica una mejor precisión en las predicciones.\n")
} else {
cat("Ambos modelos tienen el mismo Error Absoluto Medio.\n")
}
## El modelo 2 tiene un Error Absoluto Medio menor, lo que indica una mejor precisión en las predicciones.
Basándonos en las métricas de evaluación de ambos modelos, se puede concluir que el Modelo 2, destinado a predecir los precios de apartamentos en la zona sur de Cali, supera al Modelo 1, utilizado para casas en la zona norte de Cali, en varios aspectos clave. En primer lugar, el Modelo 2 exhibe un R cuadrado más alto, lo que indica que es capaz de explicar una mayor proporción de la variabilidad en los datos de salida para apartamentos en el sur de Cali. Además, el Modelo 2 presenta un Error Cuadrático Medio y un Error Absoluto Medio inferiores en comparación con el Modelo 1, lo que sugiere una mejor precisión en las predicciones realizadas específicamente para apartamentos en la zona sur. Estas conclusiones respaldan la elección del Modelo 2 como el más adecuado para el propósito de modelar y predecir los precios de apartamentos en esta área específica de la ciudad. Sin embargo, es importante tener en cuenta otros factores y consideraciones específicas del contexto antes de tomar decisiones finales basadas únicamente en estas métricas de evaluación del modelo.