Introducción al análisis topológico de datos con R (phom) donde vemos como utilizar la homología de persistencia como herramienta de análisis de datos, diagramas de persistencia y código de barras como salida visual para visualizar las propiedades topológicas.
Posiciones en el IDH global de EUA (1950-2024).pdf
Introducción al análisis topológico de datos con R (phom)
1. Introducción al análisis
topológico de datos
en R. (phom)
Grupo de Interés Local de Madrid – 26 de Noviembre.
Alfonso de Uña del Brío.
2. Alfonso de Uña del Brío briofons@gmail.com
Análisis topológico de datos
Es una técnica para el estudio cualitativo de datos.
Desarrollada en los últimos 15 años por un grupo de topólogos
Gunnar Carlsson
Herbert Edelsbrunner
Robert Ghrist
John L. Harer
Afra Zomorodian
Objetivo:
Aplicar la topología algebraica para obtener técnicas y herramientas que nos
permitan estudiar las propiedades topológicas y geométricas de un conjunto de
datos.
3. Paradigma análisis topológico de los datos
Se les asocia
DATOS Estructura topológica
Alfonso de Uña del Brío briofons@gmail.com
Propiedades topológicas
Se
Retornamos a estudian
los datos
4. Alfonso de Uña del Brío briofons@gmail.com
ATD como herramienta
Es una herramienta de análisis de datos meramente heurística.
Rama muy nueva dentro del desarrollo de la teoría de probabilidad y estadística.
Probabilidad en espacios de Banach
Topología estocástica
Inferencia estadística para homología persistente
Tiene aplicaciones muy concretas en contextos muy variados
5. En busca de estructuras en los conjunto de datos
• A partir de un conjunto de datos queremos obtener información sobre que estructura forma en el
Alfonso de Uña del Brío briofons@gmail.com
espacio.
• Uso de la topología no depende de la geometría sino de las propiedades invariantes
6. Alfonso de Uña del Brío briofons@gmail.com
Topología de análisis de datos.
Análisis topológico de datos según Carlsson:
Como inferir estructuras de grandes dimensiones desde otras con dimensiones
menores
Como crear una estructura global desde un conjunto de puntos discretos.
Está basado en como nuestro cerebro infiere la información del mundo que nos
rodea.
Ejemplo: el ojo como aparato óptico es bastante malo es gracias a nuestro cerebro
que a partir de las formas vagas que nos llegan infiere el mundo tal y como lo
entendemos (visualización en 3d).
7. Concepto Matemático: Homología persistente
Alfonso de Uña del Brío briofons@gmail.com
Homología persistente:
Estructura topológica: Complejos simpliciales.
Propiedades topológicas: Grupos de homología, números de Betti.
8. Alfonso de Uña del Brío briofons@gmail.com
Complejos simpliciales
9. Alfonso de Uña del Brío briofons@gmail.com
Propiedades topológicas
Tenemos una serie de
propiedades topológicas que se
van formando a medida que el
radio de los puntos van
creciendo.
Cada una de estas propiedades
tiene un tiempo de vida, será
interesante para el estudio de los
datos. (Detección de ruido).
10. Alfonso de Uña del Brío briofons@gmail.com
Números de Betti
11. Alfonso de Uña del Brío briofons@gmail.com
Homología persistente
Descripción matemática:
La teoría de la homología persistente crea la homología simplicial desde el algebra
topológica, donde la homología simplicial define un conjunto de invariantes
topológicos de complejos simpliciales con los que se puede describir las
características topológicas de las formas…
Gunnar Carlsson, Topology and data, Bulletin of the American Mathematical Society 46 (2009), noº2, 255–308.
12. Alfonso de Uña del Brío briofons@gmail.com
Homología de persistencia
Dada una nube de puntos X {x1,x2,x3,…} queremos obtener información sobre la
forma de estos puntos en el espacio. Además permite la descomposición
multidimensional de las características topológicas de nuestro conjunto de datos
Relativamente nueva que se está incorporando cada vez más a diferentes campos
de investigación. (En problemas concretos)
Ecología
Genética
Procesamiento de imágenes
Visión artificial (Reconocimiento de objetos en 3D)
Redes de sensores
Machine Learning
13. Pasos para construer un código de barras
Alfonso de Uña del Brío briofons@gmail.com
Step 1
Inicio
• Nube de
puntos
Step 2
Complejos
Simpliciales
• Parámetro
radio
Step 3
homología
• Construir
homología
persistente
Step 4
Construir
Barcode
• Basado nº
Betti
14. Creación de un código de barras a través de complejos
simpliciales
Alfonso de Uña del Brío briofons@gmail.com
15. Alfonso de Uña del Brío briofons@gmail.com
Vídeo creación de código de barras
16. Paquete “pHom”: Persistent Homology in R
Es un paquete de R para generar la homología persistente de conjunto de datos
en el espacio.
La homología persistente es una herramienta algebraica que permite acceder a
propiedades topológicas de un conjunto de datos dados en varias dimensiones.
Clustering de las propiedades homológicas de los datos en muchas dimensiones.
Version: 1.0.3
Depends: Rcpp (≥ 0.9.7)
LinkingTo: Rcpp
Published: 2014-02-09
Author: Andrew Tausz
Maintainer: Andrew Tausz <atausz at stanford.edu>
License: BSD_3_clause + file LICENSE
Alfonso de Uña del Brío briofons@gmail.com
17. Alfonso de Uña del Brío briofons@gmail.com
Paquete “pHom”
> intervals <- pHom(X, max_dim, max_f, metric = "manhattan")
Función que genera los intervalos de cada clase en cada dimensión hasta los límites que nos
interese, solo se le puede pasar le valor máximo de la filtración (épsilon - radio).
Dos modos de filtración (rips y …)
Nos devuelve una matriz con tres columnas con dimensión inicio y fin
18. Alfonso de Uña del Brío briofons@gmail.com
Ejemplo
library(phom)
x <- runif(100)
y <- runif(100)
points <- t(as.matrix(rbind(x, y)))
max_dim <- 2
max_f <- 0.2
#Obtención de los intervalos inicio fin
intervals <- pHom(points, max_dim, max_f, metric="manhattan")
#diagrama de persistencia
plotPersistenceDiagram(intervals, max_dim, max_f,
title="Random Points in Cube with l_1 Norm")
19. Alfonso de Uña del Brío briofons@gmail.com
Ejemplo: Diagrama de persistencia
El diagrama de persistencia sería el siguiente:
Observamos más lazos de dimensión uno
20. Alfonso de Uña del Brío briofons@gmail.com
Ejemplo
library(phom)
N <- 50
x1 <- rnorm(N) * 0.1
y1 <- rnorm(N) * 0.1
X1 <- t(as.matrix(rbind(x1, y1)))
x2 <- rnorm(N) * 0.1 + 0.5
y2 <- rnorm(N) * 0.1 + 0.5
X2 <- t(as.matrix(rbind(x2, y2)))
x <- cbind(x1, x2)
y <- cbind(y1, y2)
X <- as.matrix(rbind(X1, X2))
max_dim <- 0
max_f <- 0.8
intervals <- pHom(X, max_dim, max_f, metric =
"manhattan")
21. Alfonso de Uña del Brío briofons@gmail.com
Ejemplo de Código de barras
plotBarcodeDiagram(intervals, max_dim, max_f, title = "")
22. Alfonso de Uña del Brío briofons@gmail.com
Ejemplo
t <- 2 * pi * runif(100) Diagrama de persistencia
x <- cos(t); y <- sin(t) plotPersistenceDiagram()
X <- t(as.matrix(rbind(x, y)))
23. Alfonso de Uña del Brío briofons@gmail.com
Interpretación del código de barras
https://dreamtolearn.com/ryan/data_analytics_viz/50
24. Alfonso de Uña del Brío briofons@gmail.com
Interpretación del código de barras
25. Una vez obtenido un código de barras…
Alfonso de Uña del Brío briofons@gmail.com
¿Y ahora qué?
Tenemos que interpretar el código de barras en nuestro estudio.
¿Qué significa tener agujeros de dimensión dos en nuestros datos?
Interpretar las diferencias topológicas de diferentes espacios.
Interpretar las modificaciones de las propiedades en el tiempo con nuestro conjunto de
datos.
Cuándo es útil utilizar ATD (TAD):
Capacidad para manejar gran cantidad de datos computacionalmente.
Seremos capaces de detectar una estructuras globales con ruido en nuestros datos.
Podemos descubrir patrones ocultos en los datos y buscar tales patrones dentro de
un conjunto mayor de datos o otros datos dentro del mismo contexto.
26. Estructura global de una nube de puntos
Alfonso de Uña del Brío briofons@gmail.com
http://www.ams.org/journals/bull/2008-45-01/S0273-0979-07-
01191-3/S0273-0979-07-01191-3.pdf
BARCODES
27. Alfonso de Uña del Brío briofons@gmail.com
Interpretación en el espacio biológico
28. Alfonso de Uña del Brío briofons@gmail.com
Interpretación en el espacio biológico
TDA en nichos ecológicos. Vidal Allí
29. Alfonso de Uña del Brío briofons@gmail.com
Bibliografía
Conferencia "TDA y Genética", José María Ibarra Rodríguez
https://www.youtube.com/watch?v=c7pZpTvpLTY
Conferencia "TDA en nichos ecológicos", Vidal Alí
https://www.youtube.com/watch?v=EZibw3cdcyw
Conferencia "TDA, Persistent homology", Dr. José Antonio de la Peña
https://www.youtube.com/watch?v=sB2kA46ALNE
http://cran.r-project.org/web/packages/phom/vignettes/phom.pdf
Barcodes: The persistent topology of data
http://www.math.upenn.edu/~ghrist/preprints/barcodes.pdf
30. Alfonso de Uña del Brío briofons@gmail.com
Bibliografía
Topological Data Analysis
http://www.cs.dartmouth.edu/~afra/papers/ams12/tda.pdf (Afra Zomorodian)
Computational Topology and Data Analysis
http://web.cse.ohio-state.edu/~tamaldey/course/CTDA/CTDA.html
Topology and data (Gunnar Carlsson)
http://www.ams.org/journals/bull/2009-46-02/S0273-0979-09-01249-X/