Análisis Topológico de Datos

12/7/2023
AUTOR
Colegio de matemáticas Bourbaki

En esta edición de nuestro boletín vamos a explicar cómo funciona el pipeline del análisis topológico de datos (TDA) y cuáles son sus ventajas sobre otras técnicas de machine learning.

Al final del texto ilustraré las herramientas de TDA con dos ejemplos muy interesantes donde se aplican, uno sobre la detección temprana del párkinson y el otro sobre la detección de fallas en la red de aeropuertos en USA.

Los temas que trataremos son:

  1. Estadística, geometría y topología
  2. Variables latentes y topología algebráica
  3. Homología persistente
  4. Dos aplicaciones de TDA

Quienes estén interesados en nuestro curso Topological Data Analysis for practicioners, el cual comenzará en Septiembre y será dedicado exclusivamente a nuestros estudiantes del Track de Ciencia de Datos los invitamos a escribirnos. El curso será en Python y estará enfocado en estudiantes que no necesariamente tengan una formación en topología.

Estadística, geometría y topología

El análisis estadístico de las bases de datos es la primera herramienta que podemos utilizar para analizar la información y detectar patrones que nos permitan resolver un problema.

Desafortunadamente el análisis estadístico puede no ser suficiente para resolver un problema sofisticado, pensemos por ejemplo en el modelo detrás de ChatGPT, una estudio estadístico de las correlaciones entre dos variables (el prompt y la respuesta) es muy débil para lograr un rendimiento como el de ChatGPT y necesariamente sobre-ajustará.

No alt text provided for this image
ChatGPT vs C-3PO

Para lograr capturar mejor la señal existen algoritmos de machine learning que toman en cuenta no solo la estadística sino la geometría y la estructura diferencial del problema, pensemos por ejemplo en gradient descent. Para poder aprovechar exitosamente estas ideas es necesario definir una función de pérdida, acotar la familia de los posibles modelos que nos interesan (la arquitectura de nuestras funciones) y mucho más importante es necesario supervisar (o auto-supervisar) nuestros datos. Lo anterior podría ser restrictivo y es en este caso en el que se necesitan nuevas ideas.

Existe una estructura matemática intermedia entre la estadística y la diferencial que es la topológica la cual se concentra en las transformaciones topológicas de nuestros datos.

No alt text provided for this image
El algoritmo del gradiente descendente

Para poner un ejemplo, bajo la lupa única de estas transformaciones topológicas, dos conjuntos de datos A (digamos una población de clientes) y B (una población de productos) que se agrupan cada uno en tres clusters bien definidos, son exactamente iguales. Esto podría podría parecer poco intuitivo pues las variables del conjunto de datos A podrían estar en decenas (por ejemplo información sociodemográfica de nuestros clientes) mientras que las del conjunto B en miles (número de ventas por sucursal), peor aún podrían no estar a la misma distancia entre sí los 3 clústers en la base A y en la B. Como es común en matemáticas, algunas veces perder un poco de la estructura puede ayudar a detectar los patrones que nos interesan.

Variables latentes y topología algebráica

Como lo mencionamos anteriormente, desde los ojos de la topología algebraica, cualesquiera 3 clústers de datos son exactamente lo mismo, el clúster al que pertenece alguno de nuestros registros (clientes o productos) puede entenderse como una variable no observada dentro de A y B, a la cual la llamaremos latente.

No es aventurado decir que Machine Learning está especializado en buscar variables latentes en nuestros datos. Un ejemplo de estas variables con el que están ampliamente familiarizados los Científicos de Datos son las llamadas Componentes Principales.

No alt text provided for this image
Reducción de la dimensión

Las componentes principales tienen la desventaja de ser combinaciones lineales de nuestras variables originales lo cual es una suposición restrictiva, no todos los fenómenos que conocemos se comportan proporcionalmente a sus variables explicativas, pensemos en los precios de las acciones en la bolsa.

La topología algebraica permite estudiar objetos geométricos mediante invariantes algebráicos, por ejemplo el número 3 en los que se agrupan los datos A y B son un invariante algebráico, si una nueva base de datos se agrupara en 4 clústers bien definidos, no sería topológicamente equivalente a A (ni a B).

No alt text provided for this image
Género o genus es un invariante topológico

Existen otros inviariantes algebráicos más complejos que nos podrían ayudar a distinguir entre las bases de datos A y B. Por ejemplo supongamos que los tres clústers de A rodeen a un punto mientras que los registros en alguno de los clústers en B están rodeando a una esfera, es decir existen coordenadas imposibles para esos registros dentro de ese clúster, al número de huecos donde las coordenadas están prohibidas se le conoce como el género del espacio.

Homología persistente

Hasta el momento hemos pensado en nuestras bases de datos como conjuntos deterministas, inclusive cercanos a ecuaciones algebraicas lo cual es absolutamente falso en ciencia de datos. Toda la información con la que trabajamos tiene necesariamente ruido y es precisamente el objetivo de la Ciencia de Datos lograr extraer la señal que contiene información sobre nuestro problema.

No alt text provided for this image

Para tratar este problema existen aproximaciones de los invariantes topológicos de los que hemos hablado hasta ahora que permiten suponer una construcción incompleta de nuestros espacios topológicos, únicamente con algunas de nuestras observaciones, para realizar esta construcción es necesario aproximar a la topología por medio de objetos simples que van aumentando su dimensión. Los invariantes topológicos de esta teoría reciben el nombre de persistent landscapes, persistent barcodes o persistent diagrams.

Dos aplicaciones de TDA

Para ser concretos en este texto pensemos por ejemplo en los siguientes dos problemas los cuales han sido resueltos mediante TDA, más adelante compartiremos las referencias:

  1. Determinar si una persona enfermará de Párkinson utilizando su información genética.
  2. Detectar ineficacias en la red de aeropuertos de un país que puedan desencadenar retrasos masivos.

Notemos que el primero de estos problemas es común plantearlo como un problema supervisado pues no es descabellado imaginar que contamos con las etiquetas de los pacientes con párkinson.

En el artículo A Topological Data Analysis Approach on Predicting Phenotypes from Gene Expression Data, se utilizan invariantes topológicos como nuevas features para clasificar mejor a los pacientes con párkinson.

No alt text provided for this image
Aplicaciones de TDA a la aviación.

El segundo problema es un poco más complicado pues aunque podríamos utilizar información histórica sobre retrasos masivos, la cantidad de etiquetas es tan pequeña que es preferible abordarlo como un problema no-supervisado.

En el artículo Topological data analysis for aviation applications se identifican algunos invariantes algebraicos con características que distinguen a un aeropuerto de otro, es notable que esas características están bastante bien comprendidas y aunque no están incluidas en la base de datos tienen una traducción transparente, esto no siempre ocurre.

Oferta académica