Muy buen día María, respecto a la consulta realizada por la empresa internacional con motivo de la compra de la casa y el apartamento te comparto la siguiente información extraida de nuestra base de datos. Te recuerdo las variables con las que disponemos son las siguientes:

Variables del conjunto de datos de viviendas
Descripción y tipo de variable
Variable Descripción Tipo de variable
zona Ubicación de la vivienda (Zona Centro, Zona Norte…) Categórica nominal
piso Piso que ocupa la vivienda (primer piso, segundo piso…) Ordinal
estrato Estrato socioeconómico (3, 4, 5, 6…) Ordinal
preciom Precio de la vivienda en millones de pesos Cuantitativa continua
areaconst Área construida Cuantitativa continua
parqueaderos Número de parqueaderos Cuantitativa discreta
banios Número de baños Cuantitativa discreta
habitaciones Número de habitaciones Cuantitativa discreta
tipo Tipo de vivienda (Casa, Apartamento…) Categórica nominal
barrio Barrio de ubicación (20 de Julio, Álamos…) Categórica nominal
longitud Coordenada geográfica (longitud) Cuantitativa continua
latitud Coordenada geográfica (latitud) Cuantitativa continua

A continuación se tienen los 3 primeros datos:

## # A tibble: 3 × 13
##      id zona    piso  estrato preciom areaconst parqueaderos banios habitaciones
##   <dbl> <chr>   <chr>   <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>
## 1  1209 Zona N… 02          5     320       150            2      4            6
## 2  1592 Zona N… 02          5     780       380            2      3            3
## 3  4057 Zona N… 02          6     750       445           NA      7            6
## # ℹ 4 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>

Te comento María que la base de datos cuenta con unos errores en la misma dado que mira lo siguiente: El primer gráfico muestra los puntos por latitud y longitud de las casas de la Zona Norte y al lado derecho se observan los datos por Zonas

## Warning: Removed 3 rows containing missing values or values outside the scale range
## (`geom_point()`).

Se puede observar que en los mapas que al usar las coordenadas geográficas de las viviendas filtradas los resultados mostraron una distribución evidentemente al norte pero tambien unos puntos que se encuentran dentro de las zonas que no son de interés para la empresa. Esto puede deberse a errores de digitación de las coordenadas ó elección erronea de la zona. Más adelante se trata este tema a profundidad con que hacer con estas coordenadas.

#Análisis exploratorio de datos

Las variables que se van a emplear para este modelo son el precio de la casa en función del área construida, estrato, número de cuartos, número de parqueaderos, número de baños. En estos datos tenemos que los precios de vivienda rondan de los 89 a 1940 millones de pesos colombianos, el área va de 30 \(m^2\) a 1440 \(m^2\). Se tiene tambien que esta zona solo registra estratos del 3 al 6. Resulta un tanto curioso los valores de los baños con mínimo 0 baños y máximo de 10 años e igualmente con las habitaciones desde 0 hasta 10.

##     preciom         areaconst         estrato          banios      
##  Min.   :  89.0   Min.   :  30.0   Min.   :3.000   Min.   : 0.000  
##  1st Qu.: 261.2   1st Qu.: 140.0   1st Qu.:3.000   1st Qu.: 2.000  
##  Median : 390.0   Median : 240.0   Median :4.000   Median : 3.000  
##  Mean   : 445.9   Mean   : 264.9   Mean   :4.202   Mean   : 3.555  
##  3rd Qu.: 550.0   3rd Qu.: 336.8   3rd Qu.:5.000   3rd Qu.: 4.000  
##  Max.   :1940.0   Max.   :1440.0   Max.   :6.000   Max.   :10.000  
##                                                                    
##   habitaciones     parqueaderos   
##  Min.   : 0.000   Min.   : 1.000  
##  1st Qu.: 3.000   1st Qu.: 1.000  
##  Median : 4.000   Median : 2.000  
##  Mean   : 4.507   Mean   : 2.182  
##  3rd Qu.: 5.000   3rd Qu.: 3.000  
##  Max.   :10.000   Max.   :10.000  
##                   NA's   :287

Se observa de igual manera que no hay datos faltantes en el modelo.

##      preciom    areaconst      estrato       banios habitaciones parqueaderos 
##            0            0            0            0            0          287

Las variables del modelo presentan el siguiente comportamiento

Cuando hablamos del área construida contra el precio podemos observar que entre más área mayor el precio, la concentración del mercado es bastante fuerte entre los 100 \(m^2\) y 400 \(m^2\) de igual manera se ve mucha variabilidad luego de los 600 \(m^2\) dado que pueden entrar en juego variables como el lujo o el barrio en específico. El valor alejado de la casa de 1400 \(m^2\) con un precio inferior a los 500 millones de pesos parece no ser realista respecto a los demás datos asi como pueda ser que en la segmentación de datos el termino casa tambien se llegara a emplear para bodegas o terrenos con amplio espacio pero poca construcción.

Se puede observar la segmentación del precio a partir del estrato, donde este va en aumento. Se puede observar que por ejemplo es poco probable encontrar una casa estrato 6 por un precio medio de una casa de estrato 3. El estrato 3 presenta más agrupación que los demás estratos. El estrato 5 presenta varios datos atipicos asi como en el caso de los estratos 5 y 6 una gran variabilidad respecto a los precios de las casas en estrato 3 y 4. Estos datos atípicos se eliminaran del modelo para evitar confusiones al modelo.

Respecto al número de baños y el precio se puede decir que no parece ser tan influyente y puede que incluso llegue a tener multicolinealidad respecto al estrato.

Se observa una tendencia positiva moderada: en promedio, las viviendas con mayor número de habitaciones tienden a tener precios más altos. Esto es razonable, ya que un mayor número de habitaciones suele estar asociado a viviendas más grandes o con mejores características.

Una vez se revisan estas variables, se procede a ver las correlaciones que hay entre estas variables:

El modelo identifica al área construida como el predictor más influyente del precio con una correlación de 0.73, seguida por el estrato con un valor de 0.61. El estrato actúa como un ancla de valor que segmenta el mercado de forma ascendente, aunque presenta una varianza creciente en los niveles 5 y 6, donde se concentran la mayoría de los valores atípicos que superan los 1500 en precio. Por otro lado, variables como el número de baños muestran una correlación moderada (0.52), evidenciando que el precio tiende a estabilizarse o dispersarse después de los 6 baños, mientras que el número de habitaciones resulta ser el predictor menos robusto con apenas un 0.32.

#Modelo de regresión

Basado en los hallazgos anteriores, el modelo de regresión lineal múltiple propuesto para estimar el precio de la vivienda toma la siguiente forma funcional:

\[Precio = \beta_0 + \beta_1 Area + \beta_2 Estrato + \beta_3 Habitaciones + \beta_4 Parqueaderos + \beta_5 Baños + \epsilon\]

Donde: * \(\beta_0\): Representa el intercepto del modelo. * \(\beta_i\): Representa el efecto marginal de cada variable independiente sobre el precio, manteniendo las demás constantes. * \(\epsilon\): Es el término de error aleatorio.

## 
## Call:
## lm(formula = preciom ~ areaconst + estrato + habitaciones + parqueaderos + 
##     banios, data = datosmodelo1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -784.29  -77.56  -16.03   47.67  978.61 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -238.17090   44.40551  -5.364 1.34e-07 ***
## areaconst       0.67673    0.05281  12.814  < 2e-16 ***
## estrato        80.63495    9.82632   8.206 2.70e-15 ***
## habitaciones    7.64511    5.65873   1.351    0.177    
## parqueaderos   24.00598    5.86889   4.090 5.14e-05 ***
## banios         18.89938    7.48800   2.524    0.012 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 155.1 on 429 degrees of freedom
##   (287 observations deleted due to missingness)
## Multiple R-squared:  0.6041, Adjusted R-squared:  0.5995 
## F-statistic: 130.9 on 5 and 429 DF,  p-value: < 2.2e-16

Al momento de modelar se observa que la presencia de valores extremos (como -784 y 978) indica que hay observaciones que el modelo no ajusta bien, lo cual es común en datos de precios.

Respecto a los coeficientes se tiene que por cada unidad adicional de área construida, el precio aumenta en promedio 0.6767 unidades. Muy significativo tenemos que Al aumentar en un nivel el estrato socioeconómico, el precio se incrementa en promedio 80.63 unidades. Cada habitación adicional añade 7.645 unidades al precio, pero no es estadísticamente significativo (p = 0.177 > 0.05). Esto podría deberse a que el efecto de las habitaciones ya está recogido por el área construida o porque en la muestra no hay suficiente variabilidad.Por cada puesto de parqueadero adicional, el precio aumenta en promedio 24.01 unidades. Altamente significativo (p < 0.001). Cada baño extra incrementa el precio en 18.90 unidades. Es significativo al nivel del 5% (p = 0.012).

El modelo sugiere que el área construida, el estrato, el número de parqueaderos y el número de baños son factores relevantes para explicar el precio. Las habitaciones, en cambio, no aportan significativamente en este modelo (quizás por colinealidad con el área). El ajuste es aceptable (R² ≈ 60%), pero aún queda un 40% de variabilidad no explicada, por lo que podrían faltar otras variables importantes (ubicación, antigüedad, etc.).

Es importante recordar que se excluyeron 287 observaciones con datos faltantes, lo que podría afectar la representatividad de los resultados. Sería conveniente investigar si esos faltantes introducen algún sesgo.

##¿Cómo mejorarlo? El modelo anterior no cuenta con una limpieza de datos atipicos e igualmente inicialmente una interpolación a partir de coordenadas con la cual saber acerca de los NA de la zona que tiene la base inicial de las viviendas de Cali. Se puede mejorar de igual manera realizando el cambio del intercepto cambiando los estratos por variables dummy o redefiniendo esta como los metros cuadrados construidos a sus valores menos el minimo o el promedio de los datos.

#Validación de supuestos Para la validación de los supuestos del modelo de regresión lineal múltiple se revisan los siguientes supuestos:

  1. Linealidad.
  2. Normalidad de residuos.
  3. Homocedasticidad.
  4. Independencia de errores.
  5. Multicolinealidad.

Los residuales positivos indican que el modelo subestimó el precio real en esas cantidades. Que los tres valores ajustados sean iguales (1000) sugiere que esas observaciones comparten las mismas características en las variables predictoras (misma área, estrato, etc.), pero sus precios reales son distintos, lo que apunta a que hay factores no incluidos en el modelo que influyen en el precio.

Si estos residuales son grandes en comparación con el error estándar residual (155.1), podrían ser valores atípicos o casos mal explicados. Por ejemplo, 405 es más del doble del error típico, lo que indica que esas observaciones se alejan mucho de lo esperado. Sería útil identificarlas y examinar si tienen características especiales (ubicación, calidad, etc.) que el modelo no está capturando.

## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(modelo)
## W = 0.85246, p-value < 2.2e-16

El gráfico de los residuales revela que el modelo de regresión presenta desviaciones importantes respecto a los supuestos teóricos, lo que afecta la precisión de las inferencias y la validez de las predicciones individuales.Los residuales indican que el modelo actual, aunque explica un 60% de la variabilidad, presenta problemas de ajuste en las colas y falta de normalidad. Abordar estos aspectos mediante transformaciones y un análisis más detallado de los casos atípicos permitirá obtener estimaciones más fiables y una mejor comprensión de los factores que determinan el precio. De igual manera el valor p observado en el test de Shapiro-Wilk muestra que los residuos no tienen una distribución normal.

## 
##  studentized Breusch-Pagan test
## 
## data:  modelo
## BP = 80.281, df = 5, p-value = 7.33e-16

Tanto el gráfico como el resultado del test Breusch-Pagan muestran que existe heterocedasticidad dado que el gráfico no muestra una dispersión similar en todo el gráfico y que el p valor esta por mucho debajo del 0.05 Se podria mejorar con una transformación logaritmica del precio o un modelo GLS.

## 
##  Durbin-Watson test
## 
## data:  modelo
## DW = 1.7615, p-value = 0.005472
## alternative hypothesis: true autocorrelation is greater than 0

La independencia muestra que hay una autocorrelación debil o nula. Por ese lado se puede decir que almenos en cuanto a la independencia de los errores el modelo es aceptable.

##    areaconst      estrato habitaciones parqueaderos       banios 
##     1.460998     1.307757     1.721015     1.226334     1.967421

#Predicciones del precio de la casa solicitada

##       1 
## 312.101

El modelo estima que el precio de la casa con esas caracteristicas ronda los 312 millones de pesos. La empresa al contar con un crédito máximo de 350 millones se le buscan las mejores opciones para este.

## # A tibble: 5 × 14
##      id zona    piso  estrato preciom areaconst parqueaderos banios habitaciones
##   <dbl> <chr>   <chr>   <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>
## 1  1025 Zona N… <NA>        3     310       265            2      3            3
## 2   981 Zona N… <NA>        4     310       100            2      4            5
## 3  1114 Zona N… <NA>        4     310       120            1      4            4
## 4  4458 Zona N… 02          4     315       270            2      4            4
## 5  1209 Zona N… 02          5     320       150            2      4            6
## # ℹ 5 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>,
## #   diferencia <dbl>

#Modelo para el escenario 2

##     preciom         areaconst         estrato         banios     
##  Min.   :  75.0   Min.   : 40.00   Min.   :3.00   Min.   :0.000  
##  1st Qu.: 175.0   1st Qu.: 65.00   1st Qu.:4.00   1st Qu.:2.000  
##  Median : 245.0   Median : 85.00   Median :5.00   Median :2.000  
##  Mean   : 297.3   Mean   : 97.47   Mean   :4.63   Mean   :2.488  
##  3rd Qu.: 335.0   3rd Qu.:110.00   3rd Qu.:5.00   3rd Qu.:3.000  
##  Max.   :1750.0   Max.   :932.00   Max.   :6.00   Max.   :8.000  
##                                                                  
##   habitaciones    parqueaderos   
##  Min.   :0.000   Min.   : 1.000  
##  1st Qu.:3.000   1st Qu.: 1.000  
##  Median :3.000   Median : 1.000  
##  Mean   :2.966   Mean   : 1.415  
##  3rd Qu.:3.000   3rd Qu.: 2.000  
##  Max.   :6.000   Max.   :10.000  
##                  NA's   :406
##      preciom    areaconst      estrato       banios habitaciones parqueaderos 
##            0            0            0            0            0          406
## 
## Call:
## lm(formula = preciom ~ areaconst + estrato + habitaciones + parqueaderos + 
##     banios, data = datosmodelo2)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1092.02   -42.28    -1.33    40.58   926.56 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -261.62501   15.63220 -16.736  < 2e-16 ***
## areaconst       1.28505    0.05403  23.785  < 2e-16 ***
## estrato        60.89709    3.08408  19.746  < 2e-16 ***
## habitaciones  -24.83693    3.89229  -6.381 2.11e-10 ***
## parqueaderos   72.91468    3.95797  18.422  < 2e-16 ***
## banios         50.69675    3.39637  14.927  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 98.02 on 2375 degrees of freedom
##   (406 observations deleted due to missingness)
## Multiple R-squared:  0.7485, Adjusted R-squared:  0.748 
## F-statistic:  1414 on 5 and 2375 DF,  p-value: < 2.2e-16

## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(modelo2)
## W = 0.79118, p-value < 2.2e-16

## 
##  studentized Breusch-Pagan test
## 
## data:  modelo2
## BP = 754.81, df = 5, p-value < 2.2e-16
## 
##  Durbin-Watson test
## 
## data:  modelo2
## DW = 1.5333, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
##    areaconst      estrato habitaciones parqueaderos       banios 
##     2.066518     1.545162     1.429280     1.737878     2.529494
##        1 
## 675.0247
## # A tibble: 5 × 14
##      id zona    piso  estrato preciom areaconst parqueaderos banios habitaciones
##   <dbl> <chr>   <chr>   <dbl>   <dbl>     <dbl>        <dbl>  <dbl>        <dbl>
## 1  7512 Zona S… <NA>        5     670      300             3      5            6
## 2  4394 Zona S… 03          5     690      486             2      4            4
## 3  5273 Zona S… 12          6     660      224.            2      5            4
## 4  4266 Zona S… 05          6     700      250             2      4            5
## 5  5306 Zona S… 12          5     650      275             2      5            5
## # ℹ 5 more variables: tipo <chr>, barrio <chr>, longitud <dbl>, latitud <dbl>,
## #   diferencia <dbl>

Para la segunda solicitud se analizó el mercado de apartamentos ubicados en la zona sur de la ciudad, considerando las características solicitadas por el cliente: área construida de aproximadamente 300 m², 5 habitaciones, 3 baños y 3 parqueaderos, en estratos 5 o 6.

El modelo de regresión estimó un precio aproximado de r round(prediccion2,2) millones de pesos para una vivienda con estas características.

Dado que el cliente cuenta con un crédito preaprobado de 850 millones de pesos, se filtraron en la base de datos aquellos apartamentos que cumplen con esta restricción y presentan características similares.

A partir de este filtrado se identificaron cinco ofertas potenciales, las cuales fueron representadas en un mapa para analizar su ubicación dentro de la zona sur de la ciudad.