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.

Introducción al análisis topológico de datos con R (phom)

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Introducción al análisis topológico de datos con R (phom)

Introducción al análisistopológico de datosen R. (phom)

Grupo de Interés Local de Madrid – 26 de Noviembre.Alfonso de Uña del Brío.

Page 2: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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.

Page 3: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Paradigma análisis topológico de los datos

DATOS Estructura topológica

Propiedades topológicas

Se les asocia

Se estudianRetornamos a

los datos

Page 4: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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

Page 5: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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

Page 6: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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

Page 7: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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.

Page 8: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Complejos simpliciales

Page 9: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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

Page 10: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Números de Betti

Page 11: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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.

Page 12: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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

Page 13: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Pasos para construer un código de barras

Step 1 Inicio

• Nube de puntos

Step 2 ComplejosSimpliciales

• Parámetroradio

Step 3 homología

• Construirhomologíapersistente

Step 4 ConstruirBarcode

• Basado nº Betti

Page 14: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Creación de un código de barras a través de complejos simpliciales

Page 15: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Vídeo creación de código de barras

Page 16: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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

Page 17: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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

Page 18: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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")

Page 19: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Ejemplo: Diagrama de persistencia

El diagrama de persistencia sería el siguiente:

Observamos más lazos de dimensión uno

Page 20: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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")

Page 21: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Ejemplo de Código de barras

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

Page 22: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Ejemplo

t <- 2 * pi * runif(100) Diagrama de persistenciax <- cos(t); y <- sin(t) plotPersistenceDiagram()

X <- t(as.matrix(rbind(x, y)))

Page 23: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Interpretación del código de barras

https://dreamtolearn.com/ryan/data_analytics_viz/50

Page 24: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Interpretación del código de barras

Page 25: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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.

Page 26: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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

Page 27: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Interpretación en el espacio biológico

Page 28: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

Interpretación en el espacio biológico

TDA en nichos ecológicos. Vidal Allí

Page 29: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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

Page 30: Introducción al análisis topológico de datos con R (phom)

Alfonso de Uña del Brío [email protected]

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/

Page 31: Introducción al análisis topológico de datos con R (phom)