37 votos

Inferencia usando el análisis de datos topológicos: ¿Vale la pena que un estadístico regular aprenda TDA?

Después de haber leído Gunnar Carlsson Topología de Datos y me siento entusiasmo a la hora de utilizar algunas topológico de análisis de datos (TDA) métodos en mi actual investigación, principalmente en ciencias sociales. A menudo nos manejar grandes bases de datos y creo que puede ser un ejercicio interesante para hacer TDA. Me pregunto dos cosas sobre el estado actual y el propósito de la TDA (yo no entiendo TDA principales ventajas no son para las ciencias sociales, aunque):

  1. Hay TDA métodos que pueden utilizarse para establecer una relación entre una variable de interés y un conjunto de (posible) variables explicativas? Esto es, para hacer algún tipo de inferencia estadística?
  2. Podemos hacer predicciones sobre la base de ESTAS herramientas?

Cualquier referencia bibliográfica o explicación acerca de por qué esto no es posible se agradece.

27voto

PBR Puntos 36

Permítanme responder a la pregunta general primera: en función de lo que realmente quieres hacer, el código de barras de tipo invariantes extraídos por el análisis topológico de datos puede ser muy útil en su trabajo. Y no se tarda demasiado conocimiento previo para el uso de la TDA herramientas. Por ejemplo, si todo lo que quiero hacer es demostrar que dos conjuntos de datos son cualitativamente diferentes, usted puede calcular su código de barras (yo he escrito un software para hacer esto, como tienen los demás) y calcular la diferencia entre ellos. Es fácil, rápido y gratis, así que ¿por qué no probar algo ortogonal y complementarios a los existentes técnicas?


La costumbre de canalización para la TDA es la siguiente: a partir de los datos, imponer la estructura de un filtro de células complejas, calcular la homología persistente, y la salida de código de barras. La razón que usted puede encontrar que es difícil obtener respuestas precisas a sus preguntas es muy simple: todo depende de cómo la filtración es inventado! Es un poco de una forma de arte para saber exactamente lo que para el cálculo de la homología persistente de, teniendo en cuenta las características que usted realmente preocupa.


He aquí un típico TDA enfoque a su primera pregunta: vamos a la variable dependiente ser $x$ y las variables independientes $y_1,\ldots,y_n$.

Supongamos, por umbralización y binning si es necesario, que cada una de las $y_j$ alcanza sólo un número finito de estados. Construir el indicador complejo en el $n$-partita gráfico cuyo vértice papeleras corresponden a los valores obtenidos por el $y_j$s. Cada simplex es ponderado por la mínima $x$-valor correspondiente a la $y$-valores fijos por sus vértices. Estos pesos darle un filtrado simplicial complejo, y los generadores de la $0$-dimensiones de la persistencia de los intervalos de la super-levelset de filtración de decirle que la configuración de $y$s corresponden a $x$ valores.


Respecto a su segunda pregunta, depende mucho de lo que quieres decir por "predicciones". Dos ejemplos de uso persistente de homología de las predicciones, considere la posibilidad de Liz Munch tesis de Doctorado disponible aquí. Es posible predecir -- hasta cierto punto-la cobertura de falla en el sensor de redes de modelado como de los dispositivos con una determinada probabilidad de fallos. Tal vez una modificación de este modelo podría hacer predicciones en situaciones que son de interés para usted.

12voto

PBR Puntos 36

Actualización: Hay un ahora, un nuevo papel por Otter et al cual fue a través de todos los problemas de comparación de muchos paquetes de software para el rendimiento, la memoria, la facilidad de uso, etc.: http://arxiv.org/abs/1506.08903

Esta nueva respuesta es en respuesta al comentario de abajo de mi respuesta original preguntando sobre la persistencia de la homología de software de phom... añadir toda esta información en la respuesta existente, las cosas serían difíciles de manejar. En cualquier caso, aquí es una lista de las que me he topado:

  1. jPlex es una biblioteca escrita en java. Es mantenido por Carlsson CompTop grupo. Se encarga de filtrado simplicial complejos y salidas de códigos de barras. Este tutorial explica cómo ejecutar jPlex dentro de Matlab, pero también puedes utilizarla de forma independiente a través de Beanshell.
  2. Dioniso está escrito en C++ y mantenido por Morozov. En su página usted puede encontrar maneras de enlazar el código de python, pero tenga en cuenta que usted necesitará por lo menos Impulso y CMake para llegar incluso a los módulos básicos para compilar. Se encarga de filtrado simplicial complejos de diversos tipos (por ejemplo, Rasgaduras y Cech complejos).
  3. Sé muy poco acerca de la increíblemente nombre de phat biblioteca de C++ salvo lo que pretende calcular la persistencia en forma distribuida, lo cual puede ser útil si se ejecuta fuera de la memoria. El subyacente de papel que explica la paralelización es aquí.
  4. Mrozek tiene un paquete de software autónomo escrito en C++ para calcular la homología persistente de filtrado cúbico de rejillas que son la entrada como archivos de texto.
  5. Hay mi propio Perseo , que es completamente independiente de diseño. Se encarga tanto de la cúbica y simplicial filtraciones. Todos los de entrada y de salida se controla a través de simples archivos de texto (consulte la página enlazada para el formato de las descripciones). Utiliza discretos Morse teoría de reducir drásticamente el tamaño de la entrada de filtración, mientras que la preservación persistente homología de grupos, como se explica en este documento, de manera que he encontrado para ser más rápido y menos memoria hambre que al menos jplex y dioniso.

Por último, tenga en cuenta que el algoritmo original por Zomorodian y Carlsson es no es difícil de implementar en su idioma preferido o el medio ambiente. Así que si ninguno de los mencionados paquetes son adecuados, usted podría escribir y depurar su propio en menos de una semana, dado moderada habilidades de programación.

8voto

Matthew Read Puntos 35808

Topológico de análisis de datos es muy mucho en su infancia como un campo. Ahora hay mucho más de los métodos disponibles de teoremas y la costumbre intelectual "infraestructura" que uno podría esperar de una rama de las matemáticas/estadísticas.

Mi impresión es que en la actualidad las personas son en gran parte jugando con las ideas en varios aplicado situaciones, tratando de ver qué tipo de inferencias de las herramientas que permiten hacer. Esto está en contraste con el deseo de demostrar teoremas fundamentales. Muchos muy básico de preguntas abiertas acerca de las herramientas que la persistencia de la homología y que sus hermanos de ideas presentes.

Así que para responder a sus preguntas (1) y (2), sí existen este tipo de herramientas. Pero dado que el campo es relativamente primordial, la medida puede utilizar las herramientas para hacer lo que te gusta se rigen en gran medida por la suerte que tienes de conseguir y lo bien que se puede hacer inferencias entre topologial cálculos como la homología y la intuición geométrica.

7voto

cpuguru Puntos 857

Hubo un taller sobre análisis topológico de datos (TDA) en el Instituto de Matemáticas y sus Aplicaciones en octubre de 2013.

Enlace: http://www.ima.umn.edu/2013-2014/W10.7-11.13/

Nota, en particular, el tutorial de la inferencia estadística para la TDA por Alessandro Rinaldo: http://ima.umn.edu/videos/?id=2443y ver la CMU TopStat página en http://www.stat.cmu.edu/topstat/.

Actualización: hay un paquete de R disponible para el TDA - ver http://www.stat.cmu.edu/~flecci/software/index.html. Véase también el tutorial en http://www.stat.cmu.edu/topstat/Talks/files/Jisu_150623_TDA_tutorial.pdf.

3voto

El paquete computacional estándar en esta área se ha convertido en javaPlex. Está escrito por un compañero de Stanford (Andrew Tausz) y es una actualización importante de la versión anterior de jPlex. Parece ser el mejor en términos de gestión activa y fácil de usar. Además del código de la biblioteca, contiene muchos ejemplos de uso.

El sitio principal para ello es: http://appliedtopology.github.io/javaplex/ .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X