Modelos Estadísticos

Pontificia Universidad Javeriana Cali

Maestría en Ciencia de Datos

Estudiante: Edwin Silva Salas

Actividad: II

Fecha: 2026-03-08


1 Caso de Estudio: C&A (Casas y Apartamentos)

María comenzó como agente de bienes raíces en Cali hace 10 años. Después de laborar dos años para una empresa nacional, se trasladó a Bogotá y trabajó para otra agencia de bienes raíces. Sus amigos y familiares la convencieron de que con su experiencia y conocimientos del negocio debía abrir su propia agencia. Terminó por adquirir la licencia de intermediario y al poco tiempo fundó su propia compañía, C&A (Casas y Apartamentos) en Cali. Santiago y Lina, dos vendedores de la empresa anterior aceptaron trabajar en la nueva compañía. En la actualidad ocho agentes de bienes raíces colaboran con ella en C&A.

Actualmente las ventas de bienes raíces en Cali se han visto disminuidas de manera significativa en lo corrido del año. Durante este periodo muchas instituciones bancarias de ahorro y vivienda están prestando grandes sumas de dinero para la industria y la construcción comercial y residencial. Cuando el efecto producto de las tensiones políticas y sociales disminuya, se espera que la actividad económica de este sector se reactive.

Hace dos días, María recibió una carta solicitando asesoría para la compra de dos viviendas por parte de una compañía internacional que desea ubicar a dos de sus empleados con sus familias en la ciudad. Las solicitudes incluyen las siguientes condiciones:

Características Vivienda 1 Vivienda 2
Tipo Casa Apartamento
Área construida 200 300
Parqueaderos 1 3
Baños 2 3
Habitaciones 4 5
Estrato 4 o 5 5 o 6
Zona Norte Sur
Crédito preaprobado 350 millones 850 millones

1.1 Objetivo:

Ayudar 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) .

2 Descarga de datos

Inicialmente se descargan las librerias:

Posteriormente utilizamos las librerias para consultar los datos (base de datos)

library(paqueteMODELOS)
library(tidyverse)
data("vivienda")
knitr::kable(head(vivienda), caption = "Tabla 2.1: Muestra de registros de la base completa de información 'vivienda'")
Tabla 2.1: Muestra de registros de la base completa de información ‘vivienda’
id zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo barrio longitud latitud
1147 Zona Oriente NA 3 250 70 1 3 6 Casa 20 de julio -76.51168 3.43382
1169 Zona Oriente NA 3 320 120 1 2 3 Casa 20 de julio -76.51237 3.43369
1350 Zona Oriente NA 3 350 220 2 2 4 Casa 20 de julio -76.51537 3.43566
5992 Zona Sur 02 4 400 280 3 5 3 Casa 3 de julio -76.54000 3.43500
1212 Zona Norte 01 5 260 90 1 2 3 Apartamento acopi -76.51350 3.45891
1724 Zona Norte 01 5 240 87 1 3 3 Apartamento acopi -76.51700 3.36971

Se presenta el diccionario de variables del dataset vivienda, con su tipo de dato en R y una clasificación estadística:

Tabla 2.2: Diccionario de variables del dataset vivienda
Variable Tipo en R Tipo estadístico Rol en el análisis
id id numeric
zona zona character Categórica nominal Predictor potencial
piso piso character Categórica ordinal Descriptiva
estrato estrato numeric Categórica ordinal Predictor potencial
preciom preciom numeric Cuantitativa continua Variable respuesta (Y)
areaconst areaconst numeric Cuantitativa continua Predictor potencial
parqueaderos parqueaderos numeric Cuantitativa discreta Predictor potencial
banios banios numeric Cuantitativa discreta Predictor potencial
habitaciones habitaciones numeric Cuantitativa discreta Predictor potencial
tipo tipo character Categórica nominal Filtro / segmentación
barrio barrio character Categórica nominal Descriptiva
longitud longitud numeric Cuantitativa continua Georreferenciación
latitud latitud numeric Cuantitativa continua Georreferenciación

3 Análisis para la solicitud 1

Para la casa de 200 m² en zona Norte

3.1 Filtrado de datos para análisis

Se realiza un filtro a la base de datos para incluir solo las ofertas de casas de la zona norte de la ciudad:

base1 <- vivienda %>%
  filter(tipo == "Casa", zona == "Zona Norte")

base1 %>% head(3) %>% knitr::kable(caption = "Tabla 3.1: Muestra de registros del filtro: Casas de Zona Norte")
Tabla 3.1: Muestra de registros del filtro: Casas de Zona Norte
id zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo barrio longitud latitud
1209 Zona Norte 02 5 320 150 2 4 6 Casa acopi -76.51341 3.47968
1592 Zona Norte 02 5 780 380 2 3 3 Casa acopi -76.51674 3.48721
4057 Zona Norte 02 6 750 445 NA 7 6 Casa acopi -76.52950 3.38527

Verficacion del filtro objetivo para la solicitud 1, vivienda tipo casa de $ 350 millones.

Tabla 3.2: Total de casas en la Zona Norte
Cantidad de registros
722
Tabla 3.3: Valores únicos de tipo
Tipo
Casa
Tabla 3.4: Valores únicos de zona
Zona
Zona Norte
Tabla 3.5: Conteo en la base original
Tipo Zona Registros en vivienda
Casa Zona Norte 722

Se grafican las coordenadas donde se encuentran ubicadas las casas de la Zona Norte

3.1.1 Discusión: ¿Todos los puntos se ubican en la Zona Norte?

Al observar el mapa se identifican puntos dispersos fuera del área geográfica que intuitivamente correspondería a la Zona Norte de Cali. Esto puede ocurrir por las siguientes razones:

  1. La variable zona es una etiqueta comercial, no geográfica: el campo zona del dataset es asignado por la agencia inmobiliaria según su propia clasificación de mercado, la cual no necesariamente coincide con los límites geográficos estrictos del norte de la ciudad.

  2. Errores de geocodificación: algunos registros pueden tener coordenadas longitud/latitud incorrectas o imprecisas, producto del proceso de captura o geocodificación de las direcciones.

El filtro zona == "Zona Norte" garantiza que todos los registros tengan la etiqueta correcta según la clasificación del dataset. La dispersión geográfica observada en el mapa es una característica de los datos.

Tabla 3.6: Rango de coordenadas de base1 – posibles valores atípicos
Registros Lat mín Lat máx Lon mín Lon máx
722 3.33308 3.49584 -76.58915 -76.473

4 Análisis Exploratorio de Datos (EDA)

El siguiente análisis exploratorio examina la relación entre el precio de la vivienda (en millones de pesos) y cinco variables explicativas clave: área construida, estrato socioeconómico, número de baños, número de habitaciones y zona de ubicación. Se emplea el dataset filtrado filter(tipo == "Casa", zona == "Zona Norte") para enfocar el resultado a la solicitud 1.

Tabla 3.7: Muestra de la data base1 para su visualización
id zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo barrio longitud latitud
1209 Zona Norte 02 5 320 150 2 4 6 Casa acopi -76.51341 3.47968
1592 Zona Norte 02 5 780 380 2 3 3 Casa acopi -76.51674 3.48721
4057 Zona Norte 02 6 750 445 NA 7 6 Casa acopi -76.52950 3.38527
4460 Zona Norte 02 4 625 355 3 5 5 Casa acopi -76.53179 3.40590
6081 Zona Norte 02 5 750 237 2 6 6 Casa acopi -76.54044 3.36862

4.1 Distribución del precio por zona

Interpretación: El gráfico muestra la distribución del precio para las casas de la Zona Norte. La mediana del precio es de $390 millones, con un rango intercuartílico entre $261.2 y $550 millones. Se identifican valores atípicos por encima de $983.1 millones (umbral de Tukey), alcanzando hasta $1940 millones, lo que refleja la existencia de propiedades premium con características superiores al segmento típico. Esta distribución establece la línea base para evaluar la viabilidad de la solicitud del cliente, cuyo crédito preaprobado es de $350 millones. Se podria indicar que el valor del credito preaprobado se encuentra $40 millones por debajo de la mediana, sugerencia que podria indicar que se encuentra cerca al tipico y con muy altas posibilidades de adquirir una casa en esta zona cumpliendo la solicitud del cliente.

4.2 Distribución del precio (histograma y densidad)

Interpretación: El histograma (normalizado a densidad) junto con la curva KDE muestra que la distribución del precio tiene un sesgo positivo (asimetría hacia la derecha): la mayor concentración se ubica entre $261 y $550 millones, con una cola larga hacia valores altos por propiedades premium. La línea verde punteada marca la mediana ($390 M) y la amarilla el crédito preaprobado ($350 M). Este sesgo es un indicador clave para los supuestos del modelo lineal: si el residual hereda esta asimetría, podría justificarse una transformación logarítmica de preciom antes de ajustar el modelo de regresión múltiple.


4.3 Precio vs. Área construida

cor_area <- cor(base1$preciom, base1$areaconst, use = "complete.obs")
sprintf("Correlación Precio ~ Área construida: r = %.4f", cor_area) %>% 
knitr::kable(col.names = c(" "))
Correlación Precio ~ Área construida: r = 0.7313

Interpretación: En las casas de la Zona Norte existe una tendencia positiva clara entre el área construida y el precio: a mayor área, mayor precio. La correlación de Pearson para este segmento es r = 0.731, lo que indica una asociación lineal fuerte entre ambas variables. Para el área objetivo de 200 m², el modelo lineal simple estima un precio de $369.8 millones, valor que se ubica por encima del crédito preaprobado de $350 millones. La dispersión creciente a medida que aumenta el área sugiere heterocedasticidad, lo que deberá tenerse en cuenta en el ajuste del modelo final.


4.4 Precio por estrato socioeconómico

Interpretación: El gráfico de violín muestra la distribución del precio para las casas de la Zona Norte según estrato socioeconómico. En este segmento se identifican estratos del 3 al 6. La tendencia es positiva y progresiva: la mediana del estrato 6 alcanza $800 millones, frente a $215 millones del estrato 3.

Los estratos menores presentan distribuciones más compactas con menor dispersión, mientras que los estratos superiores exhiben colas más amplias hacia valores altos, reflejando mayor heterogeneidad en el precio. Esto confirma que el estrato es una variable fuertemente asociada al precio incluso dentro del segmento de casas de la Zona Norte, y respalda su inclusión como predictor en el modelo.

Considerando el crédito preaprobado de $350 millones, y que la solicitud especifica estrato 4 o 5, la mediana del estrato 4 en este segmento es de $380 millones y la del estrato 5 es de $480 millones. El estrato 4 presenta una mediana por encima del crédito disponible, lo que indica que es el estrato más viable para la búsqueda.

Tabla 4.3.1: Mediana por Estrato
Estrato Mediana Cantidad
3 215 235
4 380 161
5 480 271
6 800 55

4.5 Precio por número de baños

cor_banos <- cor(base1$preciom, base1$banios, use = "complete.obs")
sprintf("Correlación Precio ~ Número de baños: r = %.4f", cor_banos) %>%
knitr::kable(col.names = c(" "))
Correlación Precio ~ Número de baños: r = 0.5233

Interpretación: En las casas de la Zona Norte, el precio muestra una tendencia positiva y progresiva con el número de baños. La mediana del grupo de 2 baños (requerimiento de la solicitud) es de $198 millones, mientras que el grupo con 10 baños alcanza $1040 millones. La correlación de Pearson en este segmento es r = 0.523, lo que indica una asociación moderada entre precio y número de baños. Para la solicitud del cliente (2 baños, crédito de $350 millones), la mediana del grupo correspondiente se ubica dentro del presupuesto disponible, lo que refuerza la viabilidad de encontrar una propiedad adecuada en este segmento.


4.6 Precio por número de habitaciones

cor_hab <- cor(vivienda$preciom, vivienda$habitaciones, use = "complete.obs")
sprintf("Correlación Precio ~ Número de habitaciones: r = %.4f", cor_hab) %>%
knitr::kable(col.names = c(" "))
Correlación Precio ~ Número de habitaciones: r = 0.2641

Interpretación: En las casas de la Zona Norte, el precio muestra una tendencia positiva con el número de habitaciones, aunque menos pronunciada que con el área o los baños. La mediana del grupo de 4 habitaciones (requerimiento de la solicitud) es de $381 millones, mientras que el grupo con 10 habitaciones alcanza $680 millones. La correlación de Pearson en este segmento es r = 0.323, lo que indica una asociación moderada entre precio y número de habitaciones. La variabilidad dentro de cada grupo es elevada, lo que sugiere que esta variable puede estar correlacionada con otros predictores como el área y los baños — deberá evaluarse mediante el VIF (Variance Inflation Factor) en el modelo. Para la solicitud del cliente (4 habitaciones, crédito de $350 millones), la mediana del grupo correspondiente se ubica por encima del presupuesto disponible.


4.7 Mapa de correlaciones (variables numéricas)

Interpretación: El mapa de calor muestra que:

Interpretación: El mapa de calor muestra las correlaciones de Pearson entre el precio y las variables explicativas para las casas de la Zona Norte (base1):

Par de variables r de Pearson Fuerza Interpretación
Precio ~ Área 0.731 Alta Relación lineal fuerte; variable indispensable en el modelo para este segmento
Precio ~ Estrato 0.612 Alta El estrato captura diferencias socioeconómicas dentro de la Zona Norte
Precio ~ Baños 0.523 Moderada Asociación relevante; posiblemente mediada por el área construida
Precio ~ Habitaciones 0.323 Moderada-baja Asociación más débil; puede presentar multicolinealidad con área y baños
Área ~ Baños 0.463 Moderada Casas más grandes tienden a tener más baños; señal de multicolinealidad
Área ~ Habitaciones 0.375 Moderada Patrón similar al anterior; refuerza la necesidad de evaluar el VIF

En el segmento de casas de la Zona Norte, área construida y estrato son los predictores con mayor asociación lineal con el precio. Las correlaciones entre predictores (Área~Baños, Área~Habitaciones) sugieren riesgo de multicolinealidad al incluir todas las variables simultáneamente, lo cual se verifica formalmente a continuación mediante el VIF.


4.8 Diagnóstico de multicolinealidad (VIF)

El VIF (Variance Inflation Factor) cuantifica cuánto se infla la varianza de un coeficiente estimado \(\hat{\beta}_j\) debido a la correlación lineal entre los predictores. Se calcula ajustando una regresión auxiliar de cada predictor \(X_j\) contra los demás, obteniendo su \(R^2_j\):

\[VIF_j = \frac{1}{1 - R^2_j}\]

VIF Diagnóstico
1 Sin multicolinealidad
1 – 5 Moderada; generalmente aceptable
5 – 10 Alta; los coeficientes pueden ser inestables
> 10 Severa; los estimadores pierden confiabilidad

¿Por qué calcular VIF antes de estimar el modelo? Porque la multicolinealidad no se corrige ajustando el modelo; se previene antes de ajustarlo. Si se detecta un VIF alto en esta etapa, se puede decidir:

  • Eliminar una variable redundante
  • Combinar predictores
  • Aplicar Análisis de componentes principales (PCA)
  • Utilizar técnicas de regularización (Ridge, Lasso)
  • Utilizar Validación Cruzada
  • Aplicar transformación de variables
  • y entre otras

Estimar el modelo sin este diagnóstico previo podría producir coeficientes con signos contrarios a lo esperado, intervalos de confianza excesivamente amplios y pruebas de significancia engañosas — problemas que ya no se resuelven simplemente reinterpretando la salida del modelo.

A continuación se calcula el VIF sobre las variables que entrarán al modelo: preciom ~ areaconst + estrato + habitaciones + parqueaderos + banios.

Tabla 4.8.1: Factor de Inflación de la Varianza (VIF)
Variable VIF Diagnóstico
areaconst areaconst 1.461 Aceptable
estrato estrato 1.308 Aceptable
habitaciones habitaciones 1.721 Aceptable
parqueaderos parqueaderos 1.226 Aceptable
banios banios 1.967 Aceptable

Interpretación: Todos los valores de VIF son menores a 2, muy por debajo del umbral conservador de 5 y del umbral crítico de 10. Esto confirma que no existe multicolinealidad entre los predictores del modelo. Si bien la matriz de correlación mostró asociaciones moderadas entre área~baños y área~habitaciones, el VIF demuestra que esas correlaciones no inflan la varianza de los estimadores \(\hat{\beta}\) de forma problemática. En consecuencia, no es necesario aplicar ninguna de las alternativas correctivas (eliminación de variables, transformaciones, PCA, regularización Ridge/Lasso, ni creación de índices): las cinco variables pueden incluirse simultáneamente en el modelo de regresión lineal múltiple con plena confianza en la estabilidad de sus coeficientes.

4.9 Verificacion de valores faltantes (NA)

Tabla 4.9.1 Valores faltantes en las variables del modelo
Variable Valores NA Registros validos % completo
preciom 0 722 100.0
areaconst 0 722 100.0
estrato 0 722 100.0
habitaciones 0 722 100.0
parqueaderos 287 435 60.2
banios 0 722 100.0
Tabla 4.9.2 Registros efectivos para la estimacion
Total registros Registros completos Excluidos % usado en modelo
722 435 287 60.2

Se detectaron 287 registros con al menos un NA en las variables del modelo. A continuacion se aplica imputacion sobre la variable parqueaderos.

4.10 Imputacion de valores faltantes en parqueaderos

La variable parqueaderos puede presentar valores faltantes no porque el dato sea desconocido, sino porque la propiedad no cuenta con parqueadero. Imputar con la media introduciria un valor sin fundamento real en el dominio del problema; eliminar el registro perderia informacion util. La decision mas coherente es imputar con 0, interpretando el NA como ausencia de parqueadero.

Tabla 4.9.3 Imputacion de parqueaderos (NA -> 0)
Momento NA en parqueaderos Total registros
Antes de imputar 287 722
Despues de imputar 0 722

4.11 Tratamiento de la variable estrato

La variable estrato es ordinalmente categórica por naturaleza, pero puede modelarse de dos formas:

Enfoque Codigo en lm() Supuesto Coeficientes
Numerico + estrato Efecto lineal y uniforme entre niveles 1
Factor / dummies + factor(estrato) Cada nivel tiene su propio intercepto k - 1

Decision: tratar estrato como variable numerica continua. Las razones son:

  1. El grafico de violin mostro una progresion monotona y aproximadamente proporcional entre estratos — cada nivel adicional se asocia con un incremento similar en el precio, lo que valida el supuesto de linealidad.
  2. Parsimonia: un unico coeficiente \(\hat{\beta}_{estrato}\) captura el efecto con menos grados de libertad que k-1 dummies, lo que mejora la precision de los demas estimadores.
  3. Prediccion directa: la solicitud 1 especifica estrato 4 o 5 — con tratamiento numerico se puede sustituir directamente ese valor en el modelo sin necesidad de construir variables dummy adicionales.
  4. El VIF calculado previamente fue < 2 usando estrato como numerico, confirmando que no genera multicolinealidad problematica con los demas predictores.
Tabla 4.10.1 Progresion del precio por estrato — validacion del supuesto lineal
Estrato n Mediana (M COP) Media (M COP) Incremento vs estrato anterior
3 235 215 244.2 NA
4 161 380 438.8 165
5 271 480 549.5 100
6 55 800 818.3 320

La tabla confirma que los incrementos de mediana entre estratos son positivos y relativamente uniformes, lo que respalda el tratamiento numerico. Se usara estrato como variable numerica en el modelo.


4.12 Transformar preciom antes de estimar?

El histograma (sección 4.1) mostró sesgo positivo en la distribución de preciom. La práctica estándar ante esta situación es:

  1. Estimar primero el modelo sin transformar y obtener los residuales.
  2. Revisar los residuales mediante Q-Q plot y gráfico de residuales vs. valores ajustados.
  3. Si los residuales heredan el sesgo (cola derecha en Q-Q, patrón en residuales vs. fitted) → aplicar log(preciom) y reestimar.

No se recomienda transformar preventivamente porque cambiar la variable respuesta modifica la interpretación de todos los coeficientes: pasan de ser efectos aditivos en millones COP a efectos multiplicativos (semi-elasticidades), lo que complica directamente la predicción final para el cliente (el resultado de predict() quedaría en escala logarítmica y requeriría retransformación con corrección de sesgo de retransformación).

Decisión: se estima primero el modelo en escala original (preciom en millones COP). La necesidad de transformación se evaluará en una sesion posterior.


5 Estimación del modelo de regresión lineal múltiple

5.1 Ajuste del modelo

Se estima el modelo:

\[\text{preciom} = \beta_0 + \beta_1 \cdot \text{areaconst} + \beta_2 \cdot \text{estrato} + \beta_3 \cdot \text{habitaciones} + \beta_4 \cdot \text{parqueaderos} + \beta_5 \cdot \text{banios} + \varepsilon\]

library(pander)

modelo1 <- lm(preciom ~ areaconst + estrato + habitaciones + parqueaderos + banios,
              data = base1)

resumen <- summary(modelo1)

resumen
## 
## Call:
## lm(formula = preciom ~ areaconst + estrato + habitaciones + parqueaderos + 
##     banios, data = base1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -964.04  -80.10  -17.08   50.06 1069.45 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -236.47551   30.36582  -7.788 2.40e-14 ***
## areaconst       0.82677    0.04368  18.926  < 2e-16 ***
## estrato        86.42579    7.39747  11.683  < 2e-16 ***
## habitaciones    1.44443    4.16411   0.347    0.729    
## parqueaderos   -1.67672    4.31505  -0.389    0.698    
## banios         26.97978    5.34384   5.049 5.65e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 159.1 on 716 degrees of freedom
## Multiple R-squared:  0.6508, Adjusted R-squared:  0.6484 
## F-statistic: 266.9 on 5 and 716 DF,  p-value: < 2.2e-16

5.2 Tabla de coeficientes

Tabla 5.2.1 Coeficientes del modelo de regresión lineal múltiple
Término Estimación Error Std. t p-valor IC 95% inf. IC 95% sup. Signif.
(Intercept) -236.4755 30.3658 -7.7876 0.0000 -296.0922 -176.8588 ***
areaconst 0.8268 0.0437 18.9260 0.0000 0.7410 0.9125 ***
estrato 86.4258 7.3975 11.6832 0.0000 71.9025 100.9491 ***
habitaciones 1.4444 4.1641 0.3469 0.7288 -6.7309 9.6198 ns
parqueaderos -1.6767 4.3150 -0.3886 0.6977 -10.1484 6.7949 ns
banios 26.9798 5.3438 5.0488 0.0000 16.4883 37.4713 ***

Códigos de significancia: *** p < 0.001   ** p < 0.01   * p < 0.05   . p < 0.1   ns: no significativo

5.3 Interpretacion de los coeficientes

5.3.1 Intercepto

El intercepto es -236.48 millones COP (p = 0.0000, significativo). Representa el precio estimado de una casa con area construida = 0 m2, estrato = 0, 0 habitaciones, 0 parqueaderos y 0 banios. Este valor no tiene interpretacion practica porque las condiciones son irreales, pero es necesario matematicamente para definir el plano de regresion.

5.3.2 Area construida (areaconst)

Por cada metro cuadrado adicional de area construida, el precio de la casa aumenta en promedio 0.83 millones COP, manteniendo constantes las demas variables (estrato, habitaciones, parqueaderos y banios). (p = 0.0000, significativo). Este resultado es logico: una mayor superficie implica mas material de construccion, mas terreno y mas espacio habitable, lo que se traduce en un mayor valor de mercado.

5.3.3 Estrato (estrato)

Por cada unidad adicional de estrato, el precio aumenta en promedio 86.43 millones COP, controlando por las demas variables. (p = 0.0000, significativo). Este resultado es coherente con el mercado inmobiliario colombiano: el estrato socioeconomico refleja la calidad de la ubicacion, la infraestructura del barrio, los servicios publicos y el nivel de valorizacion, todos factores que incrementan el precio.

5.3.4 Habitaciones (habitaciones)

El coeficiente de habitaciones (1.44) no es significativo (p = 0.7288). Esto sugiere que, una vez controlada el area construida y las demas variables, el numero de habitaciones no aporta informacion adicional significativa al precio.

5.3.5 Parqueaderos (parqueaderos)

El coeficiente de parqueaderos (-1.68) no es significativo (p = 0.6977). Dado que los NA fueron imputados como 0, este resultado podria reflejar ruido introducido por la imputacion, o que el numero de parqueaderos no es determinante del precio una vez se controla el area y el estrato.

5.3.6 Banios (banios)

Cada banio adicional esta asociado a un cambio de 26.98 millones COP en el precio, manteniendo constantes las demas variables. (p = 0.0000, significativo). El signo positivo es esperado: los banios representan un acabado costoso (plomeria, enchape, sanitarios) y son indicadores de confort y calidad de la vivienda.

5.4 Bondad de ajuste: \(R^2\) y \(R^2\) ajustado

Tabla 5.4.1 Métricas de bondad de ajuste del modelo
Métrica Valor
0.6508
R² ajustado 0.6484
Estadístico F 266.88
p-valor (F) 7.13e-161
Observaciones 722
Predictores 5

5.5 Interpretacion del R cuadrado

El modelo explica el 65.1% de la variabilidad total del precio de las casas en Zona Norte (R2 ajustado = 64.8%, que penaliza por el numero de predictores incluidos).

Este nivel de explicacion es moderado. El modelo captura una porcion relevante de la variabilidad, pero existe un porcentaje considerable no explicado por las variables incluidas.

La prueba F global (F = 266.88, p = 7.13e-161) es significativa, lo que indica que al menos uno de los predictores tiene una relacion lineal estadisticamente significativa con el precio. El modelo en su conjunto es util para predecir.

5.6 Discusion del ajuste e implicaciones

El 34.9% de variabilidad no explicada por el modelo puede atribuirse a factores como:

  • Ubicacion especifica (barrio, cercania a vias principales, centros comerciales, colegios): el modelo usa ‘Zona Norte’ como filtro pero no diferencia entre barrios.
  • Edad y estado de la vivienda: una casa nueva vs. una de 30 anios tienen precios muy distintos, y esta variable no esta disponible en el dataset.
  • Acabados y calidad de la construccion: pisos en marmol vs. ceramica, cocina integral, etc.
  • Condiciones del mercado: oferta y demanda local, momento economico.
  • Amenidades adicionales: piscina, jardin, terraza, vigilancia privada.

5.7 Posibles mejoras al modelo

Para mejorar el ajuste del modelo se podria considerar:

  1. Incluir la variable barrio como predictor categorico, lo que capturaria las diferencias de precio por ubicacion especifica dentro de la Zona Norte.
  2. Incluir la variable piso (numero de pisos de la vivienda), que esta disponible en el dataset y podria aportar informacion adicional.
  3. Transformaciones no lineales: si los diagnosticos de residuales muestran no linealidad, se podria considerar incluir terminos cuadraticos (ej. areaconst^2) o interacciones (ej. areaconst:estrato).
  4. Transformacion logaritmica de preciom si los residuales muestran sesgo pronunciado (se evaluara en la seccion de diagnosticos).
  5. Recopilar variables adicionales no disponibles en el dataset actual: anio de construccion, tipo de acabados, disponibilidad de amenidades.

6 Validación de supuestos del modelo

El modelo de regresión lineal múltiple se basa en cuatro supuestos fundamentales sobre los residuales \(e_i = y_i - \hat{y}_i\). A continuación se evalúa cada uno de ellos gráfica y formalmente.

6.1 Supuesto 1: Linealidad

El modelo asume una relación lineal entre los predictores y la variable respuesta. Se evalúa mediante el gráfico de residuales vs. valores ajustados: si la relación es lineal, los residuales deben distribuirse aleatoriamente alrededor de cero sin mostrar patrones sistemáticos (curvas, formas de U, abanico).

Interpretación: Si la curva LOESS (naranja) se mantiene cercana a la línea horizontal en cero, el supuesto de linealidad se cumple razonablemente. Si se observa una curvatura pronunciada, esto indicaría que la relación no es puramente lineal y se podría considerar:

  • Incluir términos cuadráticos (ej. areaconst^2)
  • Incluir interacciones entre predictores (ej. areaconst:estrato)
  • Aplicar una transformación a la variable respuesta (ej. log(preciom))

6.2 Supuesto 2: Normalidad de los residuales

El modelo asume que los errores siguen una distribución normal: \(\varepsilon_i \sim N(0, \sigma^2)\). Se evalúa mediante el Q-Q plot (los puntos deben alinearse sobre la diagonal) y la prueba de Shapiro-Wilk (formalmente).

Tabla 6.2.1 Prueba formal de normalidad de los residuales
Prueba Estadístico p-valor Decisión
W Shapiro-Wilk 0.8345 1.07e-26 Se rechaza normalidad (p < 0.05)

Interpretación: La prueba de Shapiro-Wilk rechaza la hipótesis de normalidad de los residuales. El Q-Q plot probablemente muestra desviaciones en las colas (puntos alejados de la diagonal), lo cual es consistente con la asimetría positiva observada en la distribución del precio.

Sugerencias:

  • Transformación logarítmica: aplicar log(preciom) como variable respuesta, lo que tiende a simetrizar distribuciones con sesgo positivo y estabilizar la varianza.
  • Modelos robustos: utilizar errores estándar robustos (HC) que no requieren el supuesto de normalidad.
  • Bootstrap: estimar los intervalos de confianza mediante remuestreo, sin depender de la distribución de los residuales.
  • Nota: con muestras grandes (n > 30), el Teorema Central del Límite garantiza que los estimadores OLS siguen siendo aproximadamente normales, por lo que la inferencia sigue siendo válida aunque los residuales no sean perfectamente normales.

6.3 Supuesto 3: Homocedasticidad (varianza constante)

El modelo asume que la varianza de los errores es constante para todos los niveles de los predictores: \(Var(\varepsilon_i) = \sigma^2\). Si la varianza cambia (heterocedasticidad), los errores estándar de los coeficientes son incorrectos y las pruebas t y los intervalos de confianza pierden validez. Se evalúa con el gráfico Scale-Location y la prueba de Breusch-Pagan.

Tabla 6.3.1 Prueba formal de homocedasticidad
Prueba Estadístico GL p-valor Decisión
BP Breusch-Pagan 139.004 5 2.91e-28 Se rechaza homocedasticidad (p < 0.05)

Interpretación: La prueba de Breusch-Pagan rechaza la hipótesis de varianza constante — se detecta heterocedasticidad. Esto significa que la dispersión de los residuales no es uniforme: probablemente aumenta con los valores ajustados (casas más caras tienen residuales más dispersos).

Sugerencias:

  • Errores estándar robustos (HC): usar coeftest(modelo1, vcov = vcovHC(modelo1, type = 'HC3')) del paquete sandwich. Esto corrige los errores estándar sin cambiar los coeficientes.
  • Transformación logarítmica: log(preciom) tiende a estabilizar la varianza en datos de precios.
  • Mínimos Cuadrados Ponderados (WLS): asignar menor peso a las observaciones con mayor varianza.
  • Modelos lineales generalizados (GLM): usar una familia Gamma con enlace logarítmico, que maneja naturalmente la heterocedasticidad en datos positivos y asimétricos.

6.4 Supuesto 4: Independencia de los residuales

El modelo asume que los errores no están correlacionados entre sí: \(Cov(\varepsilon_i, \varepsilon_j) = 0\) para \(i \neq j\). En datos transversales (como este dataset inmobiliario) la autocorrelación es menos frecuente que en series de tiempo, pero puede ocurrir si los datos tienen un orden espacial o temporal implícito. Se evalúa con la prueba de Durbin-Watson.

Tabla 6.4.1 Prueba de independencia de los residuales
Prueba Estadístico DW p-valor Decisión
DW Durbin-Watson 1.633 3.07e-07 Se detecta autocorrelación (p < 0.05)

Interpretación: El estadístico de Durbin-Watson es DW = 1.6330. Los valores de referencia son:

DW Interpretación
≈ 2 Sin autocorrelación
< 1.5 Posible autocorrelación positiva
> 2.5 Posible autocorrelación negativa

La prueba indica autocorrelación significativa en los residuales.

Sugerencias:

  • Revisar el orden de los datos: verificar si existe un ordenamiento temporal o espacial que introduzca dependencia.
  • Incluir variables omitidas: la autocorrelación puede ser síntoma de un predictor relevante no incluido (ej. barrio, antigüedad).
  • Modelos con estructura de correlación: ajustar un modelo GLS (nlme::gls) que permita especificar la estructura de correlación de los errores.

6.5 Resumen de la validación de supuestos

Tabla 6.5.1 Resumen de validación de supuestos del modelo
Supuesto Método de evaluación Resultado
Linealidad Residuales vs. Ajustados + LOESS Ver gráfico — evaluar curvatura LOESS
Normalidad Q-Q Plot + Shapiro-Wilk No se cumple (Shapiro-Wilk p < 0.05)
Homocedasticidad Scale-Location + Breusch-Pagan No se cumple (Breusch-Pagan p < 0.05)
Independencia Durbin-Watson No se cumple (Durbin-Watson p < 0.05)

Conclusión general: Se detectaron 3 violación(es) a los supuestos del modelo. Aunque el modelo sigue siendo útil para obtener estimaciones puntuales, las siguientes acciones podrían mejorar la validez de la inferencia:

  1. Transformación logarítmica de preciom: aborda simultáneamente problemas de normalidad y heterocedasticidad.
  2. Errores estándar robustos (HC3): corrigen la heterocedasticidad sin cambiar el modelo, manteniendo los coeficientes iguales.
  3. Inclusión de variables omitidas (barrio, antigüedad, piso): puede reducir la autocorrelación y mejorar el ajuste.
  4. Modelo GLM Gamma con enlace log: alternativa que no requiere los supuestos de normalidad ni homocedasticidad.

Estas mejoras se podrían implementar en una iteración posterior del modelo.


7 Predicción para la Solicitud 1

Con el modelo estimado en la Sección 5, se procede a predecir el precio de la vivienda solicitada por el primer cliente. Las características de la Solicitud 1 son:

Variable Valor solicitado
Tipo Casa
Área construida 200 m²
Estrato 4 o 5
Habitaciones 4
Parqueaderos 1
Baños 2
Zona Norte
Crédito preaprobado $350 millones

Dado que el cliente acepta estrato 4 o 5, se calculan ambas predicciones con sus respectivos intervalos de confianza (95%) e intervalos de predicción (95%).

Tabla 7.1 Predicción del precio (millones $) para la Solicitud 1
Escenario Precio estimado IC 95% inf IC 95% sup IP 95% inf IP 95% sup Crédito Diferencia
Estrato 4 332.64 315.07 350.22 19.71 645.57 350 17.36
Estrato 5 419.07 394.18 443.96 105.64 732.49 350 -69.07

7.1 Interpretación de la predicción

El modelo estima que una casa en la Zona Norte con 200 m², 4 habitaciones, 1 parqueadero y 2 baños tendría un precio de:

  • Estrato 4: $332.6 millones (intervalo de predicción: $19.7 — $645.6 millones)
  • Estrato 5: $419.1 millones (intervalo de predicción: $105.6 — $732.5 millones)

El crédito preaprobado del cliente es de $350 millones.

Estrato 4: El precio estimado ($332.6M) es inferior al crédito disponible, con un margen de $17.4 millones. Sin embargo, el límite superior del intervalo de predicción ($645.6M) excede el crédito, por lo que existe un riesgo de que el precio real supere el presupuesto. Se recomienda buscar propiedades por debajo del precio estimado para mayor seguridad.

Estrato 5: El precio estimado ($419.1M) excede el crédito disponible en $69.1 millones. Se recomienda que el cliente priorice la búsqueda en estrato 4, donde el presupuesto es más compatible con los precios del mercado.

7.2 Recomendación para María (C&A)

Se recomienda orientar la búsqueda hacia estrato 4, donde el precio estimado ($332.6M) se ajusta al crédito preaprobado del cliente ($350M). El estrato 5 presenta un precio estimado que excede el presupuesto, por lo que solo sería viable si se reducen otras características de la vivienda.


8 Ofertas potenciales para la Solicitud 1

A partir del modelo estimado, se identifican propiedades reales del dataset que se ajusten a las características de la Solicitud 1 y cuyo precio se encuentre dentro del crédito preaprobado de $350 millones. Se aplican los siguientes criterios de búsqueda:

Adicionalmente, se calcula el precio predicho por el modelo para cada propiedad y se seleccionan las 5 ofertas cuyas características sean más cercanas a lo solicitado.

Tabla 8.1 Cinco ofertas potenciales para la Solicitud 1 (crédito ≤ $350M)
Oferta Barrio Estrato Área (m²) Habit. Baños Parq. Piso Precio real (\(M) | Precio modelo (\)M) Margen vs crédito ($M)
Oferta 1 la merced 5 216 4 2 2 NA 350 430.6 0
Oferta 2 alamos 4 120 4 2 1 02 275 266.5 75
Oferta 3 zona norte 4 162 4 3 1 02 265 328.2 85
Oferta 4 la merced 4 240 3 2 1 01 330 364.3 20
Oferta 5 la flora 5 160 4 3 1 02 320 413.0 30

8.1 Análisis de las ofertas

Se identificaron 5 ofertas que cumplen con los criterios de la Solicitud 1 dentro del crédito preaprobado.

Oferta 1 — Barrio la merced (Estrato 5)

  • Área: 216 m² | 4 hab. | 2 baños | 2 parq.
  • Precio real: $350 millones | Precio modelo: $430.6 millones
  • El modelo predice un valor superior al precio de lista, lo que sugiere que esta propiedad podría estar subvalorada — buena oportunidad de compra.
  • Margen respecto al crédito: $0.0 millones

Oferta 2 — Barrio alamos (Estrato 4)

  • Área: 120 m² | 4 hab. | 2 baños | 1 parq.
  • Precio real: $275 millones | Precio modelo: $266.5 millones
  • El modelo predice un valor inferior al precio de lista ($266.5M vs $275M), lo que sugiere que la propiedad podría estar sobrevalorada — se recomienda negociar.
  • Margen respecto al crédito: $75.0 millones

Oferta 3 — Barrio zona norte (Estrato 4)

  • Área: 162 m² | 4 hab. | 3 baños | 1 parq.
  • Precio real: $265 millones | Precio modelo: $328.2 millones
  • El modelo predice un valor superior al precio de lista, lo que sugiere que esta propiedad podría estar subvalorada — buena oportunidad de compra.
  • Margen respecto al crédito: $85.0 millones

Oferta 4 — Barrio la merced (Estrato 4)

  • Área: 240 m² | 3 hab. | 2 baños | 1 parq.
  • Precio real: $330 millones | Precio modelo: $364.3 millones
  • El modelo predice un valor superior al precio de lista, lo que sugiere que esta propiedad podría estar subvalorada — buena oportunidad de compra.
  • Margen respecto al crédito: $20.0 millones

Oferta 5 — Barrio la flora (Estrato 5)

  • Área: 160 m² | 4 hab. | 3 baños | 1 parq.
  • Precio real: $320 millones | Precio modelo: $413.0 millones
  • El modelo predice un valor superior al precio de lista, lo que sugiere que esta propiedad podría estar subvalorada — buena oportunidad de compra.
  • Margen respecto al crédito: $30.0 millones

8.2 Recomendación para María (C&A)

Se sugiere presentar estas cinco opciones al cliente para discusión, destacando:

  1. Propiedades subvaloradas (precio real < precio modelo): representan oportunidades de compra donde el precio de mercado está por debajo de lo que el modelo estima para sus características.
  2. Margen disponible: las propiedades con mayor margen respecto al crédito de $350M permiten cubrir costos adicionales (escrituración, impuestos, remodelación).
  3. Ubicación: revisar en el mapa la accesibilidad y cercanía a servicios de cada oferta.

Se recomienda agendar visitas a las propiedades y validar las condiciones físicas antes de tomar una decisión final.