Evaluación de la oferta inmobiliaria urbana con los modelos de componentes principales, conglomerados y correspondencia
Autor: Maicol Stiven Contreras Macias
Profesora: Jennyfer Portilla Yela
Modelos estadísticos para la toma de decisiones
Universidad Javeriana de Cali
11 de Agosto de 2025
El analisis de datos utilizo 8.322 registros de oferta inmobiliaria urbana obtenidos por web scraping de OLX como fuente. Tras la depuración de datos (eliminación de duplicados, armonizacion de variables, imputación de faltantes y ajuste de outliers), se aplicaron técnicas multivariadas (Componentes Principales, Conglomerados y Correspondencia) para identificar patrones entre características físicas, ubicación y variables socioeconómicas, hallando asociaciones importantes que respaldan la segmentación del mercado, para despues toma de decisiones importantes con respecto a los datos, por ejemplo, para procesos de prediccion o para visualizacion de informacion en paginas web o diferentes dashboard.
Una empresa inmobiliaria, líder en el sector de bienes raíces en una gran ciudad, busca comprender el comportamiento del mercado de viviendas urbanas. Con el fin de brindar decisiones estratégicas relacionadas con la compra, venta y valoración de propiedades, la empresa dispone de una base de datos que recopila información sobre diferentes características de las viviendas disponibles en el mercado.
El objetivo del presente análisis estadístico es realizar un estudio integral con esta base de datos mediante técnicas multivariadas, con el fin de:
Identificar patrones en la oferta inmobiliaria,
Explorar relaciones significativas entre variables estructurales y de localización,
Realizar una segmentación del mercado en función de características comunes.
Examinar el comportamiento de variables categóricas como el tipo de vivienda, la zona y el estrato.
Este analisis permitirá extraer conclusiones útiles para la toma de decisiones estratégicas en el entorno inmobiliario competitivo, apoyando a la empresa en la identificacion de patrones y busqueda de oportunidades en inversion y/o mejora en sus procesos comerciales.
El estudio se desarrolló bajo un enfoque cuantitativo, empleando técnicas estadísticas multivariadas para el análisis de la oferta inmobiliaria urbana. Se utilizaron datos de la base vivienda del paquete paqueteMODELOS en R, previa limpieza y depuración de registros atípicos. El análisis se llevó a cabo en cuatro fases:
Analisis exploratorio de datos: Realiza la descripcion de los datos y limpia la informacion segun los procedimientos hallados.
Análisis de Componentes Principales (ACP o PCA): para reducir la dimensionalidad y detectar variables clave.
Análisis de Conglomerados: para identificar grupos homogéneos de viviendas según sus características.
Análisis de Correspondencia: para explorar relaciones entre variables cualitativas.
El procesamiento y visualización de datos se realizó con las librerías FactoMineR, factoextra y otras mas necesarias para obtener especialmente uso de elementos de los analisis multivariados en R.
Los datos que han sido proporcionados para el ejercicio, fueron tomados de OLX mediante procedimiento webscraping y contenidos en paqueteMOD, el paquete fue proporcionado para realizar todo el proceso de revision multivariada, y la siguiente informacion muestra el tamaño de la muestra:
## La base de datos (vivienda) contiene 8322 registros y 13 variables.
En la tabla numero 1, se revisa los valores unicos por cada variable y claro el tipo de cada uno de los atributos, para los cuales por ejemplo, se puede conocer ya que algunos pueden ser numericos categoricos, y el primero es un numerico de indice, lo que es importante considerar mas adelante.
| Variable | Tipo | Valores_Unicos |
|---|---|---|
| id | numeric | 8320 |
| zona | character | 6 |
| piso | character | 13 |
| estrato | numeric | 5 |
| preciom | numeric | 540 |
| areaconst | numeric | 653 |
| parqueaderos | numeric | 11 |
| banios | numeric | 12 |
| habitaciones | numeric | 12 |
| tipo | character | 3 |
| barrio | character | 437 |
| longitud | numeric | 2929 |
| latitud | numeric | 3680 |
Análisis Exploratorio de datos (EDA): revisión inicial para detectar patrones, tendencias, valores atípicos y distribución de las variables.
Matriz de correlacciones: identificación de la relación lineal entre variables cuantitativas.
Análisis de Componentes Principales (ACP o PCA): reducción de dimensionalidad para identificar ejes principales de variación.
Análisis de Conglomerados: clasificación de propiedades en grupos homogéneos según características cuantitativas.
Análisis de Correspondencia: exploración de relaciones entre variables categóricas relevantes (por ejemplo, ubicación vs. tipo de vivienda).
Iniciando con la revision de los datos utilizando un resumen general, podemos indicar segun lo visto en la tabla 2, que por ejemplo, los elementos indican que hay 3 elementos que cuentan como vacios o NA, ademas, lo siguiente es necesario tenerlo en cuenta para el analisis de las tecnicas de mas adelante.
| id | zona | piso | estrato | preciom | areaconst | parqueaderos | banios | habitaciones | tipo | barrio | longitud | latitud | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Min. : 1 | Length:8322 | Length:8322 | Min. :3.000 | Min. : 58.0 | Min. : 30.0 | Min. : 1.000 | Min. : 0.000 | Min. : 0.000 | Length:8322 | Length:8322 | Min. :-76.59 | Min. :3.333 | |
| 1st Qu.:2080 | Class :character | Class :character | 1st Qu.:4.000 | 1st Qu.: 220.0 | 1st Qu.: 80.0 | 1st Qu.: 1.000 | 1st Qu.: 2.000 | 1st Qu.: 3.000 | Class :character | Class :character | 1st Qu.:-76.54 | 1st Qu.:3.381 | |
| Median :4160 | Mode :character | Mode :character | Median :5.000 | Median : 330.0 | Median : 123.0 | Median : 2.000 | Median : 3.000 | Median : 3.000 | Mode :character | Mode :character | Median :-76.53 | Median :3.416 | |
| Mean :4160 | NA | NA | Mean :4.634 | Mean : 433.9 | Mean : 174.9 | Mean : 1.835 | Mean : 3.111 | Mean : 3.605 | NA | NA | Mean :-76.53 | Mean :3.418 | |
| 3rd Qu.:6240 | NA | NA | 3rd Qu.:5.000 | 3rd Qu.: 540.0 | 3rd Qu.: 229.0 | 3rd Qu.: 2.000 | 3rd Qu.: 4.000 | 3rd Qu.: 4.000 | NA | NA | 3rd Qu.:-76.52 | 3rd Qu.:3.452 | |
| Max. :8319 | NA | NA | Max. :6.000 | Max. :1999.0 | Max. :1745.0 | Max. :10.000 | Max. :10.000 | Max. :10.000 | NA | NA | Max. :-76.46 | Max. :3.498 | |
| NA’s :3 | NA | NA | NA’s :3 | NA’s :2 | NA’s :3 | NA’s :1605 | NA’s :3 | NA’s :3 | NA | NA | NA’s :3 | NA’s :3 |
Luego de esto, revisamos si hay informacion duplicada que pueda interferir en los resultados mas adelante, por lo cual antes de revisarlo, tenemos que tener en cuenta que la columna ID es un valor ordinal, lo cual es mejor no tenerlo en cuenta, para validar los valores duplicados
## La base de datos (vivienda) contiene 58 registros duplicados
Al realizar el analisis, si hay 58 elementos duplicados, los cuales muestro 5 filas entre ellos a continuacion como referencia:
| id | zona | piso | estrato | preciom | areaconst | parqueaderos | banios | habitaciones | tipo | barrio | longitud | latitud |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2014 | Zona Norte | NA | 3 | 270 | 330 | NA | 3 | 0 | Casa | acopi | -76.51884 | 3.45032 |
| 4826 | Zona Sur | 04 | 4 | 230 | 108 | 2 | 3 | 3 | Apartamento | bosques del limonar | -76.53300 | 3.40800 |
| 870 | Zona Norte | 05 | 3 | 110 | 58 | NA | 2 | 3 | Apartamento | brisas de los | -76.50411 | 3.49393 |
| 336 | Zona Norte | NA | 3 | 87 | 62 | NA | 1 | 3 | Apartamento | chiminangos | -76.49318 | 3.47818 |
| 1656 | Zona Sur | 02 | 4 | 355 | 190 | 1 | 3 | 4 | Casa | ciudad 2000 | -76.51700 | 3.39200 |
Ahora, revisaremos si alguno de los valores categoricos requieren de ajustes en nombres o tipificacion, para lo cual se debe revisar uno por uno para validar su informacion.
| Columna | Valores_Unicos | Ejemplo_Valores | |
|---|---|---|---|
| zona | zona | 6 | NA, Zona Centro, Zona Norte, Zona Oeste, Zona Oriente, Zona Sur |
| piso | piso | 13 | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, NA |
| estrato | estrato | 5 | 3, 4, 5, 6, NA |
| parqueaderos | parqueaderos | 11 | 1, 10, 2, 3, 4, 5, 6, 7, 8, 9, NA |
| banios | banios | 12 | 0, 1, 10, 2, 3, 4, 5, 6, 7, 8, 9, NA |
| habitaciones | habitaciones | 12 | 0, 1, 10, 2, 3, 4, 5, 6, 7, 8, 9, NA |
| tipo | tipo | 3 | Apartamento, Casa, NA |
| barrio | barrio | 437 | 20 de julio, 3 de julio, acopi, agua blanca, aguablanca, aguacatal, alameda, alameda del rio, alameda del río, alamos, alborada, alcazares, alf√©rez real, alferez real, alfonso lopez, alfonso lópez, alfonso lópez i, alto jordán, altos de guadalupe, altos de menga, altos de santa, antonio nariño, aranjuez, arboleda, arboleda campestre candelaria, arboledas, atanasio girardot, autopista sur, bajo aguacatal, barranquilla, barrio 7de agosto, barrio el recuerdo, barrio eucarístico, barrio obrero, barrio tranquilo y, base a√©rea, belalcazar, Belalcazar, belisario caicedo, bella suiza, bella suiza alta, bellavista, benjamín herrera, berlin, bloques del limonar, bochalema, bolivariano, bosques de alboleda, bosques del limonar, boyacá |
Como lo vemos en la tabla 4, hay valores por ejemplo para el atributo barrio, donde algunos barrios estan mal tipificados, y si este valor se necesita validar o para un caso de categorizacion, todos los valores deben estar bien ajustados, se recomienda luego de corregir la tipificacion volver a revisar duplicidad
Pasaremos a revisar valores outliers de las variables que sabemos que son numericas y que son valores cuantificables, lo que se revisaria su comportamiento por medio del grafico de cajas
Como pudimos ver, hay muchos valores outliers, pero todos cuentan con un comportamiento y una variabilidad cercana entre si, es posible que tomar la informacion por completo podria no ser la mejor manera ya que alguna informacion perteneceria a la relacion de una categoria.
En la siguiente grafica, mostraremos la informacion de cada uno de los valores categoricos para conocer cual de ellos podria tener informacion que se pueda relacionar luego con los precios o las areas.
Como lo vemos en la grafica 2, es importante indicar que el tipo de vivienda podria tener un proceso de clasificacion diferente entre cada uno, ya que los valores por lo menos cuentan con una cantidad muy similar y claro, teniendo en cuenta que el valor de vivienda de un apartamento y una casa puede variar bastante.
En el siguiente grafico podremos observar si hay una relacion entre las variables categoricas y numericas, para saber si realmente uno u otro puede tener relevancia entre ellos, y asi determinar posiblemente si se divide el dataset o no.
Aun al realizar la comparacion, vemos que cuentan con muchos outliers, lo que es recomendable luego saber como tratarlos o ver si es necesario revisar si el dataset puede ser dividido
Al hacer una comparativa entre las variables numericas, podremos encontrar una relacion oportuna para saber que variables podrian seguir siendo estimadas para los futuros analisis
Las variables que tienen que ver con el tamaño y las características físicas de la vivienda (como el área construida, el número de parqueaderos y baños) están muy relacionadas con el precio por metro cuadrado. Por otro lado, la ubicación y el estrato socioeconómico también influyen, pero su impacto es más moderado e incluso puede ser negativo dependiendo de la variable.
Para finalizar nuestro analisis descriptivo, indicaremos la relacion de los datos categoricos con graficas de barras, las gráficas usadas muestran cómo se distribuyen los tipos de vivienda, las zonas y los estratos.
En conclusion, los apartamentos son mayoría en casi todas las zonas, especialmente en la Zona Sur y la Zona Norte (Que podriamos deducir que en su mayoria podrian ser apartamentos VIS), mientras que las casas tienen una presencia más fuerte en la Zona Sur y en menor medida en otras zonas. En cuanto a los estratos, la Zona Sur se destaca por tener un mayor número de viviendas en estratos altos (5 y 6) lo que es raro, ya que segun la ubicacion geografica, los estratos mas altos deberian ir a las zonas nortes, mientras que otras zonas presentan mayor diversidad en niveles socioeconómicos.
Se realizó un análisis de independencia utilizando la prueba chi-cuadrado para evaluar la relación entre diferentes variables categóricas de la base de datos vivienda, incluyendo zona, tipo, estrato y parqueaderos. El objetivo fue determinar si existe asociación significativa entre estas variables.
| prueba | estadistico | grados_libertad | valor_p | independencia | |
|---|---|---|---|---|---|
| X-squared | zona vs tipo | 690.930 | 4 | 3.208e-148 | No independientes |
| X-squared1 | zona vs estrato | 3830.435 | 12 | 0.000e+00 | No independientes |
| X-squared2 | tipo vs estrato | 224.331 | 3 | 2.325e-48 | No independientes |
| X-squared3 | zona vs parqueaderos | 690.930 | 4 | 3.208e-148 | No independientes |
| X-squared4 | tipo vs parqueaderos | 3830.435 | 12 | 0.000e+00 | No independientes |
| X-squared5 | estrato vs parqueaderos | 224.331 | 3 | 2.325e-48 | No independientes |
Los resultados muestran valores p extremadamente bajos (menores a 0.05) en todas las comparaciones, por lo que se rechaza la hipótesis de independencia. Esto indica que las variables están relacionadas entre sí.
Para finalizar, es bueno tener en cuenta como se comportan los valores numericos en una grafica de dispersion, para lo cual se muestra a continuacion
La mayoría de las viviendas presentan áreas construidas inferiores a 500 m² y precios por metro cuadrado concentrados entre 200 y 1.500. Se observa una débil tendencia entre ambas variables, con alta dispersión y presencia de algunos valores atípicos, correspondientes a propiedades con áreas muy grandes y precios inusualmente altos o bajos.
Posibles cambios que requiere la información antes de su limpieza:
Teniendo en cuenta la informacion tomada de nuestra etapa de descripcion, haremos los cambios requeridos para que asi la base de datos sea completa y corregida para ser utilizada en los analisis finales.
Eliminacion de la columna ID:
Eliminaremos primero la columna ID ya que al ser ordinal, podria afectar el analisis de los datos. Como lo vimos en el analisis anterior, la informacion tienen un orden de 1 hasta cerca de 8320
| zona | piso | estrato | preciom | areaconst | parqueaderos | banios | habitaciones | tipo | barrio | longitud | latitud |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Zona Oriente | NA | 3 | 250 | 70 | 1 | 3 | 6 | Casa | 20 de julio | -76.51168 | 3.43382 |
| Zona Oriente | NA | 3 | 320 | 120 | 1 | 2 | 3 | Casa | 20 de julio | -76.51237 | 3.43369 |
| Zona Oriente | NA | 3 | 350 | 220 | 2 | 2 | 4 | Casa | 20 de julio | -76.51537 | 3.43566 |
| Zona Sur | 02 | 4 | 400 | 280 | 3 | 5 | 3 | Casa | 3 de julio | -76.54000 | 3.43500 |
| Zona Norte | 01 | 5 | 260 | 90 | 1 | 2 | 3 | Apartamento | acopi | -76.51350 | 3.45891 |
| Zona Norte | 01 | 5 | 240 | 87 | 1 | 3 | 3 | Apartamento | acopi | -76.51700 | 3.36971 |
Arreglando valores mal tipificados en la columna barrios:
Como se observa en la Tabla 4, existen valores repetidos debido a una tipificación incorrecta en la columna barrio. Para corregirlo, primero se recomienda revisar manualmente cada valor único. Esta revisión puede realizarse en un reporte separado (por ejemplo, en Excel o en un archivo de texto), para posteriormente llevar a cabo un proceso de estandarización de dichos valores.
Para realizar una buena validacion de los nombres de los barrios, se decidio tomar en referencia tanto el nombre como de la longitud y la latitud, solo para tener mayor coherencia, esto se uso, realizando un codigo en python, el cual sera ajuntado para futuras validaciones
Luego de hacer ese analisis, tendremos la informacion de los valores que cuentan con una mala tipificacion, en la cual, se creo un diccionario en donde estaba el valor mal tipificado y el correcto.
Para corregir la mal tipificacion, se decidio usar el diccionario y luego de realizar el mapeo, dejar todas las variables del campo barrio en mayusculas, esto como se muestra la tabla a continuacion:
| zona | piso | estrato | preciom | areaconst | parqueaderos | banios | habitaciones | tipo | barrio | longitud | latitud |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Zona Sur | NA | 6 | 1800 | 400 | 3 | 6 | 5 | Casa | BOCHALEMA | -76.54261 | 3.35809 |
| Zona Sur | NA | 6 | 1000 | 189 | 3 | 5 | 4 | Apartamento | BOCHALEMA | -76.54666 | 3.44620 |
| Zona Sur | NA | 5 | 530 | 142 | 2 | 4 | 4 | Casa | BOCHALEMA | -76.55587 | 3.40889 |
| NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| NA | NA | NA | 330 | NA | NA | NA | NA | NA | NA | NA | NA |
Eliminacion de los datos duplicados:
Como vimos en la tabla 3, si hay informacion que requiere ser eliminada porque esta duplicada, para lo cual haremos ese cambio, para limpiar la base de datos y que este mejor preparada para nuestro analisis final.
## Dimension de la tabla antes: 8322 x 12
## Dimension de la tabla después: 8264 x 12
Como se demuestra en los calculos anteriores, totalmente son 58 filas que cuentan con duplicidad completa en todos sus atributos, esto ayudara a manejar mejor los datos en los futuros analisis
Eliminacion y/o Imputación de los datos nulos:
Ahora, pasaremos a manejar los valores NA, los cuales al ver la informacion de la tabla 2, se encuentran en todos los atributos, asi que si es informacion nula en todas las columnas, se deberan eliminar, para lo cual primero revisamos si hay filas totalmente nulas
| zona | piso | estrato | preciom | areaconst | parqueaderos | banios | habitaciones | tipo | barrio | longitud | latitud |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
Como notamos, hay dos filas con datos nulos, para lo cual, seran removidas en su totalidad. Por ende, observemos el cambio de dimension en los datos de filas
## Dimension de la tabla antes: 8264 x 12
## Dimension de la tabla después: 8263 x 12
Ahora seguiremos revisando los datos que pueda haber nulos en uno de las columnas, lo que podriamos revisar luego si hacemos imputacion o debemos eliminar el registro en su totalidad:
| columna | nulos | porcentaje |
|---|---|---|
| piso | 2626 | 31.78 |
| parqueaderos | 1593 | 19.28 |
| zona | 1 | 0.01 |
| estrato | 1 | 0.01 |
| areaconst | 1 | 0.01 |
| banios | 1 | 0.01 |
| habitaciones | 1 | 0.01 |
| tipo | 1 | 0.01 |
| barrio | 1 | 0.01 |
| longitud | 1 | 0.01 |
| latitud | 1 | 0.01 |
| preciom | 0 | 0.00 |
Todavía se observan indicios de que existen filas con valores nulos. Vamos a verificar si hay filas completamente nulas, excluyendo temporalmente la columna preciom, para determinar si se trata de registros válidos o no.
| zona | piso | estrato | preciom | areaconst | parqueaderos | banios | habitaciones | tipo | barrio | longitud | latitud |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NA | NA | NA | 330 | NA | NA | NA | NA | NA | NA | NA | NA |
Como se demuestra en la tabla anterior, si fue correcto indicar que aun hay una fila que no es necesaria para los datos, para lo cual sera eliminada, y se volvera a revisar los datos nulos, que teniendo en cuenta la tabla 9, los nulos se centran mas en los valores de piso y parqueaderos
## Dimensión antes: 8263 x 12
## Dimensión después: 8262 x 12
Para manejar los nulos para piso y parqueaderos, debemos primero revisar si la informacion puede ser imputada o eliminada en su totalidad, como observamos en la tabla 10, almenos el 30% de datos nulos de piso y el 19% de parqueaderos, son valores que pueden para un proceso de prediccion podrian ser necesarios, ademas los valores son bastantes para ser eliminados, para lo cual revisaremos como podemos imputarlos.
Por consiguiente, se puede revisar como se comportan otras columnas en referencia a las columnas nulas, para lo cual, por decision de valores de importancia, dejaremos barrio, tipo y estrato como valores de agrupacion para tomar la moda del piso y parqueadero. Asi veremos esto en un ejemplo de los datos, comos se muestra en la tabla a continuacion
| barrio | tipo | estrato | Numero Piso Nulos=TRUE | Numero Piso Nulos=FALSE |
|---|---|---|---|---|
| 20 DE JULIO | Casa | 3 | 3 | 0 |
| 3 DE JULIO | Casa | 4 | 0 | 1 |
| ACOPI | Apartamento | 3 | 9 | 2 |
| ACOPI | Apartamento | 4 | 26 | 3 |
| ACOPI | Apartamento | 5 | 27 | 6 |
| ACOPI | Apartamento | 6 | 11 | 4 |
Luego de la revisión de valores, se procederá a la imputación de datos en ambas columnas, las cuales corresponden a variables numéricas categóricas. Tomando como referencia las columnas barrio, tipo y estrato, y con base en la tabla anterior, se imputarán los valores faltantes de piso y parqueadero utilizando la moda correspondiente a cada combinación de estas variables.
Volvemos a revisar los valores nulos, luego de hacer la imputacion incial, como vemos en la siguiente tabla, el porcentaje a decrecido bastante, y ha sido positivo. Pero necesitaremos seguir imputando los datos nulos. Como recomendacion, es sugerible quitar un nivel de revision por ejemplo que tome solo (estrato y barrio), (barrio y tipo) o (estrato y tipo).
| columna | nulos | porcentaje |
|---|---|---|
| parqueaderos | 197 | 2.38 |
| piso | 186 | 2.25 |
Al hacer la revision, y para imputar lo poco que falta e ir a la fija con la informacion, es recomendable optar por usar las columnas tipo y estrato, como lo mostramos en la tabla a continuacion, no hay valores nulos que puedan perderse
| estrato | tipo | Numero Piso Nulos=FALSE | Numero Piso Nulos=TRUE |
|---|---|---|---|
| 3 | Apartamento | 600 | 33 |
| 3 | Casa | 750 | 62 |
| 4 | Apartamento | 1375 | 12 |
| 4 | Casa | 705 | 14 |
| 5 | Apartamento | 1741 | 12 |
| 5 | Casa | 964 | 10 |
Con la limpieza de los datos solo para estas dos variables, nos ayudara mucho a encontrar mas facil los valores nulos y no se afectara todos los datos ya que la distribucion final de datos nulos solo es del 2% para esas dos categorias.
Ya con este ultima imputacion, no tenemos informacion nula para ninguno de los valores, lo que apoya mucho la informacion para prediccion futuras, o para los analisis de este informe.
Manejo de Outliers:
Para revisar los outliers, veremos el comportamiento con preciom y las variables categoricas mas relevantes, como Estrato, Tipo, Zona, y Piso (En sentido de revisar nuestra limpieza anterior)
Como vemos, el manejo de outliers para esta base de datos va a ser muy complicada, si no sabemos que metodo es el mas adecuado, de manera visual, podemos identificar que si tomamos por tipo de vivienda, abria mucha informacion perdida, y si lo tomamos por zona, la zona sur maneja mucha informacion por fuera del limite superior. Para lo cual veremos por el momento, tomar el analisis por el estrato.
Una manera idonea de observar los valores outliers, es verificar usando IQR entre preciom y estrato, ya que en la grafica anterior es donde no se presenta tanto ouliers
| Es Outlier | Frecuencia | Porcentaje (%) |
|---|---|---|
| FALSE | 7922 | 95.88 |
| TRUE | 340 | 4.12 |
Al mirar la cantidad de valores outliers, que tiene la informacion de estrato con un 4% de los datos totales, pero tambien si esto se revisa en comparacion con otras columnas categoricas como tipo o zona varia mucho, es mejor manejar los outliers pasando el valor de los numeros a logaritmos. Primero visualizamos como se observan los outliers en esas tres categorias
teniendo en base a la informacion anterior, y que los outliers entre las categorias estan muy relacionados, seria mejor aplicar simetria usando logaritmo +1
Con este cambio, volveremos a visualizar los datos para ver si tiene una mejor simetria
Se ve mucho mejor la informacion distribuida y simetrica de esa manera, se limpiara todas las variables numericas, con el mismo proposito de no alterar y no perder la simetria
Categorizacion de atrubutos:
Se ha categorizado algunas variables a numericos, ya que para poder hacer los proximos analisis, se requiere tomar en cuenta las variables numericas para poder por ejemplo sacar la media o hallar la desviacion estandar, para asi saber si hay relacion con las variables
Para iniciar el Análisis de Componentes Principales (PCA), ya hemos aplicado una transformación logarítmica a las variables con alta relevancia para reducir (outliers). Adicionalmente, consideramos el uso de un PCA robusto, el cual minimiza la influencia de estos valores extremos, garantizando resultados más representativos y estables para análisis posteriores
Iniciamos mostrando como antes se comportaban en grafico de histograma las variables preciom y areaconst, esto con el fin de hallar que la transformacion a valores logaritmos a funcionado perfectamente.
Como veremos en la grafica a continuacion, ambas graficas ya muestran una distribucion normal, aunque poco por pulir ya que el area construida aun se ve un poco de asimetria orientada a la izquierda. pero para no afectar mas los datos, los dejaremos como estan.
Aplicando el analisis de componentes principales a preciom:
Aplicaremos ahora el proceso de validacion de los componentes principales, pero como indicamos de manera robusta. Esto ya que al ser pasado los valores a logaritmo este se comporta mejor con este tipo de valores.
Teniendo en cuenta el porcentaje de cada uno de los valores, los 3 primeros cumplen con la regla de sumar la mayoria de datos de un 80%, lo que seria importante ya empezar a conocer que con 3 variables ya se podria reducir esa cantidad a los componentes.
Como demuestra de igual forma el sentido de la grafica de factores, las mismas 3 variables cuentan con una alta correlacion, solamente tener en cuenta que preciom_log y estrato_num se consideran mas cercanos, lo que refleja una relacion proporcional, por ejemplo el precio si variable en relacion al estrato. Otra manera, de visualizar el valor de tipo_num, es indicar que este valor no tiene relacion significativa con las otras dos variables.
Aplicando el analisis de componentes principales a areaconst:
De igual forma, se utilizo las mismas variables seleccionadas en el anterior proceso, pero ahora cambiando el valor para que tome en referencia areaconst, empezaremos con el grafico de porcentualidades, la cual indica que 3 variables estaria bien para reducir esa cantidad los componentes.
Ahora aplicando el grafico de factores, podremos verificar que cuenta con una distribucion muy diferente al comparado con el precio, lo cual diriamos que ambas variables podrian ser usadas como objetivas en un proceso de prediccion si asi se requiriera.
Como conclusion, podriamos indicar que: tipo_num y areaconst estan cercanos, lo que muestra una relacion y ademas se podria indicar que entre mayor areaconst, el tipo de vivienda es uno u otro. Ademas, el estrato y el area construida son muy perpendiculares, lo que indica que puede que la cantidad de area no necesariamente es por un mejor estrato.
Se realizo la comparacion usando los valores de longitud y latitud, para revisar la agrupacion en relacion a los valores categoricos mas importantes usados a lo largo del proyecto, para lo cual iniciaremos mostrando el proceso de organizacion por zonas.
En el grafico anterior observamos una muy buena agrupacion, ya que al ser identificadas bien las zonas, se podrian indicar mas o menos cuales clusters se formarian, de manera visual solo se observan 4, ya que la zona roja es muy pequeña, posiblemente porque requiere una manera diferente de realizar un agrupamiento, pero con 4 grupos estaria bien representado los datos.
Ahora mostrando la informacion agrupada, pero con una categoria diferente, en este caso se mostrara la informacion por el tipo de la vivienda.
La informacion se muestra muy dispersa, no es una muy buena categoria para ser usada como agrupamiento, esto porque no hay manera de determinar los grupos, ni donde se estaria centrando la informacion.
Dando paso a la siguiente observacion, se revisara ahora una nueva agrupacion por estrato, posiblemente en temas socioeconomicos algunas zonas tengan un estrato exclusivo.
Este grafico muestra algunos grupos, pero no mejores como el de zona, pero de aqui podriamos rescatar que la zona sur es de estratos mas altos y que la zona norte, los estratos mas bajos, y en la parte occidental se podria sacar otro grupo de estrato 5 pero se debe tener mucho cuidado, porque si se usa en un proceso de prediccion, podria ser clasificados como falsos positivos.
Distancia euclidianas:
Ahora en otro escenario, se mostrara como se dispersa la informacion en referencia a las distancias euclidianas, lo cual se genera el numero de clusteres, basado en el dendograma.
Es bueno aclarar, que para mantener una seleccion de distancias mas limpias, se recomienda el metodo de seleccion llamada Word.d2, ya que este ayuda a minimizar las varianzas dentro de los clusters
Segun los grupos indicados en las distancias y en relacion con el siguiente dendograma, si se podria tomar en referencia con 5 grupos, pero es posible tener falsos positivos, pero ademas de esto su ajuste es muy similar con el grafico de geolocalizacion en base a su zona.
Distancias Manhattan:
Aunque en este punto, la distancia manhattan se realiza para comparar con las demas agrupaciones, es importante indicar que, se sigue viendo algunos grupos en todo los valores en el grafico de dispersion, del cual se grafica a continuacion:
Revisando de manera visual los grupos, podemos indicar de nuevo, que tantos grupos pueden ser mucho problema, aunque aun se mantiene algunos elementos en la parte norte, la parte sur y la parte occidente, lo que ya estariamos descartando el tomar esos 3 grupos como fijos.
Distancias Minkowski:
Haciendo la misma validacion, con otro metodo de distanciamiento, haremos la revision de los clusters en las distancias minkowski, por el momento tomaremos 3 clusters, ya que el dendograma de la distancia tiene una mejor usabilidad en este punto.
La distancia Minkowski arroja valores mejores vistos en los anteriores agrupaciones, y afirma que siguen habiendo 3 zonas mas relevantes, pero en esta ocasion resalta mas la zona norte, lo que si se empleara un proceso de prediccion, los elementos en la zona norte, tendrian una precision de casi un 80% de acierto.
Como punto de estudio, es importante saber que las distancias y los diferentes metodos de agrupacion podrian variar si vemos otros metodos, pero siempre hariamos parte de que la grafica por zonas seria el mejor metodo de agrupacion para la revision de variables y procesos de prediccion futuras.
Haremos ahora la revision de la relacion por varianza de componentes por los dos tipos de variables que podrian ser usadas, en este caso entre zona y estrato.
Nota: El analisis de correspondencia solo se puede hacer a atributos con mas de dos dimensiones, por eso no es posible realizarla a la variable tipo de vivienda
Entre los dos ejes acumulan un 97.6% de la información, lo cual es genial, ya que significa que la representación de ambas dimensiones es una buena proyección de la estructura de los datos.
Para la siguiente grafica, podemos ver las siguientes relaciones: * Zona Oriente está muy cercana al estrato 3, lo que sugiere que en esa zona este estrato es predominante. * Zona Oeste se asocia claramente con el estrato 6. * Zona Sur y Zona Norte están cerca del estrato 5 y en menor medida del 4, indicando relación.
Los dos primeros ejes explican juntos ~75% de la variabilidad (38% + 36.8%), lo que es muy alto para este tipo de análisis. Esto significa que puedes interpretar el mapa factorial usando solo Dim1 y Dim2 sin perder demasiada información.
Depuración de datos antes del análisis
Tratamiento de outliers y transformación de datos * Aplicación de transformación logarítmica (+1) para mejorar la simetría y reducir el impacto de valores extremos.
Categorización y preparación de variables para análisis multivariado * Conversión de variables numéricas categóricas (como piso o parqueaderos) a formato numérico estandarizado, esto ya que era necesario por que algunos analisis requerian de obtener su media o calcular su desviacion estandar
El mercado inmobiliario en Cali presenta una fuerte segmentación por tipo de vivienda y zona geográfica, con predominio de apartamentos en la oferta y una alta asociación entre características físicas y ubicación, pero hay algunos elementos que cumplen con una mayor relacion que a lo largo del informe fueron usados, como lo son tipo, zona, y estrato.
La limpieza y estandarización de datos, junto con el manejo controlado de outliers, son pasos críticos para garantizar resultados confiables en análisis multivariados aplicados a la toma de decisiones estratégicas en el sector inmobiliario, para lo cual, fueron los procesos que tomaron mas tiempo, porque se requiere primero saber que acciones se deben ejecutar y que otras no para no afectar los datos.