11/18/2020

Motivación

Uno de los objetivos de DS es encontrar cierta heterogeneidad en los datos.

¿Cómo podemos dividir nuestros datos en subgrupos cuando no existe una variable para clasificarlos?

Por un momento imagine que trabaja para el departamento de marketing de un empresa…

Los datos

¿Cómo capturar la “heterogeneidad” en los datos?

Existen varias técnicas, las dos más utilizadas en la práctica son análisis de componentes principales (PCA) y análisis de cluster.

Ambos son dos métodos estadísticos data-driven (dejamos a los datos hablar).

Apuntan a distintos fines:

  • PCA busca reducir la dimensionalidad, es decir, reducir el número de variables de importancia en nuestra base de datos.
  • Los métodos de clusterización buscan separar en distintos subgrupos las observaciones de la base de datos.

Análisis de Cluster

Análisis de Cluster

Los métodos de clusterización tienen como finalidad encontrar cierta heterogeneidad en los datos que nos permitan separar en subgrupos nuestra muestra.

Existen diferentes tipos (ejemplos):

  • Basados en centroides: k-means.
  • Basados en densidad: DBSCAN, OPTICS ,etc.
  • Basados en distribución: EM.

K-means

La idea detrás de este método es que, después de elegir la cantidad de cluster, la asignación a cada cluster de las observaciones sea al que este más cercano de la media.

En términos un poco más estricto el algoritmo iterará hasta que se minimice la distancia de cada observación a cada centroide de cada cluster.

¿Pero cómo funciona esto en la práctica?

Supongamos que deseamos “K” grupos para separar a nuestros datos:

  • Paso 1: Se eligen “K” centroides ubicados de forma aleatoria.

  • Paso 2: A cada observación se le asigna uno de los “K” grupos en función del centroide más cercano.

  • Paso 3: Una vez asignados los grupos a todas las observaciones, se calculan los “K” nuevos centroides.

  • Paso 4: Repetir (2) y (3) hasta que no haya cambios en cada cluster

¿Pero cómo funciona esto en la práctica?

¿Debilidades o cuidados?

  • El método de K-means es sensible a la magnitud de las variables que utilizamos

  • Los datos atípicos suelen tener mucho peso en la elección de la posición de los centroides.

  • Algoritmo no garantiza necesariamente la convergencia

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

Cuando los cluster están bien separados, es normal encontrar cluster que gráficamente se ven esféricos o convexos. Pero ¿Cuándo esto no ocurre?

DBSCAN

Este método de clusterización nos permite encontrar cluster no convexos.

Es un método basado en densidad, ya que resalta la idea de las vecindades más pobladas.

En términos simples, el algoritmo crea vecindades dada un radio épsilon (eps) y un mínimo de observaciones que deben pertenecer a la vecindad. El cluster se formará por todas las vecindades que estén conectadas.

¿Pero cómo funciona esto en la práctica?

El método DBSCAN sigue la siguiente lógica:

  • Paso 1: Elegir un mínimo de puntos M y un radio épsilon R

  • Paso 2: Etiquete todas las observaciones según el tipo de punto que son (core point, border point o bien outlier point)

  • Paso 3: Eliminar los noise point

  • Paso 4: Para todos los puntos “p” no eliminados se les creará un nuevo cluster con todos los puntos que están density-connected con “p”.

¿Pero cómo funciona esto en la práctica?

¿Pero cómo funciona esto en la práctica?

Comenzaremos con una observación de forma aleatoria y veremos qué tipo de observación es.

En este caso específico (punto rojo), tenemos que la observación es un core point, puesto que cumple el mínimo de 6 puntos en el radio.

¿Pero cómo funciona esto en la práctica?

Seguiremos realizando el procedimiento para el resto de las observaciones.

En este caso específico (punto amarillo), tenemos que la observación es un border point, puesto que no cumple el mínimo de 6 puntos en el radio.

¿Pero cómo funciona esto en la práctica?

Una vez seleccionamos todos los puntos según si son core points (pintados rojos), border points (pintados con amarillo) y outilers (pintados grises) construiremos nuestros clusters.

Los clusters se formarán entre la unión de core points que tienen una distancia menor al radio R

¿Pero cómo funciona esto en la práctica?

¿Ventajas y desventajas en DBSCAN?

Es robusto a outliers (no todas las observaciones necesariamente tienen cluster)

No requiere un número específico de observaciones por cluster

Problema: Es arbitrario el radio épsilon y el mínimo de puntos que se elige.

Laboratorio 11

Utilizaremos los paquetes “factoextra” y “dbscan” para realizar análisis de cluster. Las funciones a utilizar son las siguientes:

kmeans: permite clusterizar una base de datos mediante el método kmeans. Argumentos:

  • x: base de datos.
  • centers: número de clusters.
  • nstart: número de aleatorizaciones iniciales.

dbscan: permite clusterizar una base de datos mediante el método dbscan. Argumentos:

  • x: base de datos.
  • eps: radio de definición de la vecindad.
  • minPts: número de puntos mínimos para constituir una vecindad. (Por defecto 3).

Laboratorio 11

kNNdistplot: permite visualizar la distancia promedio a los k vecinos más cercano de cada observación de la base de datos.

  • x: base de datos.
  • k: número de vecinos a considerar.

fviz_cluster: permite visualizar gráficamente los cluster.

  • object: objeto tipo cluster que se quiere visualizar
  • data: base de datos.