Вы находитесь на странице: 1из 31

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.
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.
Paradigma análisis topológico de los datos

DATOS Se les asocia Estructura topológica

Se
Retornamos a estudian
los datos Propiedades topológicas
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


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
espacio.

• Uso de la topología no depende de la geometría sino de las propiedades invariantes


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).
Concepto Matemático: Homología persistente

 Homología persistente:

 Estructura topológica: Complejos simpliciales.

 Propiedades topológicas: Grupos de homología, números de Betti.


Complejos simpliciales
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).
Números de Betti
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.
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
Pasos para construer un código de barras

Step 1 Step 2 Step 3 Step 4


Inicio Complejos homología Construir
• Nube de Simpliciales • Construir Barcode
puntos • Parámetro homología • Basado nº
radio persistente Betti
Creación de un código de barras a través de complejos
simpliciales
Vídeo creación de código de barras
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
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
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")
Ejemplo: Diagrama de persistencia

 El diagrama de persistencia sería el siguiente:


 Observamos más lazos de dimensión uno
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")
Ejemplo de Código de barras

plotBarcodeDiagram(intervals, max_dim, max_f, title = "")


Ejemplo

t <- 2 * pi * runif(100) Diagrama de persistencia


x <- cos(t); y <- sin(t) plotPersistenceDiagram()
X <- t(as.matrix(rbind(x, y)))
Interpretación del código de barras

https://dreamtolearn.com/ryan/data_analytics_viz/50
Interpretación del código de barras
Una vez obtenido un código de barras…

 ¿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.
Estructura global de una nube de puntos

http://www.ams.org/journals/bull/2008-45-01/S0273-0979-07-
01191-3/S0273-0979-07-01191-3.pdf
BARCODES
Interpretación biológica en el espacio biológico
Interpretación biológica en el espacio biológico

TDA en nichos ecológicos. Vidal Allí


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
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/

Вам также может понравиться