40
$\begingroup$

I was wondering if anyone could help me out with finding a nice introductory text for topological data analysis (I'm speaking as somebody who has two semesters of experience with topology, and much less experience with data analysis.) Are there any self-contained elementary resources on the subject? And if not, is there a sort of road map for the subject (i.e. a generally-agreed-upon sequence of topics that I should study)?

I saw a nice overview here: http://www.cs.dartmouth.edu/~afra/papers/ams12/tda.pdf, and that piqued my interest in the topic. Thanks in advance for the help!

$\endgroup$
4
  • $\begingroup$ I know nothing about data analysis, but, in addition to general topology that you probably took, you would need some basic algebraic topology as well (simplicial complexes, homology, cohomology, Poincare duality). $\endgroup$ Commented May 29, 2014 at 15:38
  • 1
    $\begingroup$ mathoverflow.net/questions/141157/… on MathOverflow may also be of interest. $\endgroup$ Commented Oct 16, 2014 at 17:54
  • 1
    $\begingroup$ That link seems to be obsolete. $\endgroup$ Commented Dec 20, 2016 at 6:28
  • 1
    $\begingroup$ David Austin, Finding Holes in the Data, Feature Column of the AMS, December 2016. $\endgroup$ Commented Dec 20, 2016 at 7:37

5 Answers 5

17
$\begingroup$

At the time of writing, I'm not aware of any books that are very specifically about topological data analysis (TDA), apart from the collected papers in Topological Methods in Data Analysis and Visualization and its two sequels, but there are a handful on computational topology that contain valuable background and details for TDA. Gurjeet has already mentioned Afra Zomorodian's Topology for Computing. Others include:

At the moment, knowledge of statistics does not appear to be a prerequisite, although there is some interesting work in that direction at CMU: http://www.stat.cmu.edu/topstat/. It is helpful to be comfortable with multivariable calculus, linear algebra, introductory abstract algebra (especially group theory) and basic point-set topology. Prior acquaintance with algebraic topology and manifolds would be even better. For comparison purposes, it may be interesting to look into clustering algorithms such as $k$-means and hierarchical clustering.

You may want to take a look at Peter Saveliev's Topology Illustrated (which is indeed liberally and helpfully illustrated, so the title is accurate) with its emphasis on homology, and Robert Ghrist's Elementary Applied Topology for a broad-ranging invitation to applied topology. Michael Robinson's Topological Signal Processing could also be of interest.

Update: The importance of the whole: topological data analysis for the network neuroscientist by Sizemore, Phillips-Cremins, Ghrist & Bassett is a nice introductory paper for a first look at TDA.

Update in January 2023: Last year I came across two new books on TDA: Topological Data Analysis with Applications by Carlsson & Vejdemo-Johansson and Computational Topology for Data Analysis by Dey & Wang.

$\endgroup$
2
  • 3
    $\begingroup$ As an update to this post, Saveliev's text is no longer a draft and has published a first edition as of 2016. $\endgroup$ Commented Jun 12, 2017 at 10:09
  • 1
    $\begingroup$ @Chill2Macht: Thank you! I have updated the link. $\endgroup$ Commented Jan 1, 2019 at 18:01
3
$\begingroup$

Afra's paper is a really good introduction. He has also written a really accessible book which is accessible here:

http://www.amazon.com/Computing-Cambridge-Monographs-Computational-Mathematics/dp/0521136091/ref=sr_1_1?ie=UTF8&qid=1401393274&sr=8-1&keywords=afra+zomorodian

I would recommend playing with some software. Here's some:

http://comptop.stanford.edu/programs/

$\endgroup$
5
  • 4
    $\begingroup$ The linked book seems to be about something else, at least if you believe the description. It seems to be about computational aspects of topology, as opposed to using topological methods for data analysis a la Gunnar Carlsson. $\endgroup$ Commented May 29, 2014 at 20:03
  • $\begingroup$ The link to CompTop at Stanford doesn't seem to work. Is it temporarily down or have the resources been moved elsewhere? $\endgroup$ Commented Oct 16, 2014 at 17:36
  • $\begingroup$ @GrumpyParsnip: comparing the table of contents of Topology for Computing with Zomorodian's article Topological Data Analysis shows that there is significant overlap. Also, Zomorodian has written papers together with Carlsson on persistent homology. $\endgroup$ Commented Oct 17, 2014 at 5:25
  • $\begingroup$ @JW: you're right, I was too hasty. There is some discussion on TDA in this book. Your linked paper also looks like a good reference. $\endgroup$ Commented Oct 17, 2014 at 14:41
  • $\begingroup$ @GrumpyParsnip: no problem. By the way, the linked paper is simply from the original question. $\endgroup$ Commented Oct 17, 2014 at 14:56
3
$\begingroup$

I'm also not aware of any whole books on the topic. Only highly technical research articles which are fairly impenetrable as a starting point. In my opinion one of the best ways to learn would be to start trying playing with TDA methods in code and reviewing example uses of TDA in practice.

A few good python libraries exist for TDA:

http://gudhi.gforge.inria.fr/

https://github.com/giotto-ai/giotto-learn

https://github.com/scikit-tda/scikit-tda

You can start reading the tutorials for these tools along with articles about their use:

An overview: https://towardsdatascience.com/topological-data-analysis-unpacking-the-buzzword-2fab3bb63120

An intro to gudhi: https://towardsdatascience.com/a-concrete-application-of-topological-data-analysis-86b89aa27586

Application to DL application: https://towardsdatascience.com/from-tda-to-dl-d06f234f51d

An application to de-noising feature preparation (disclaimer, I was an author) using giotto-learn: https://towardsdatascience.com/the-shape-that-survives-the-noise-f0a2a89018c6

and many others on towardsdatascience if you just search with code you can download and play with.

Many of these and similar articles have links to binder hosted jupyter nbs which you can try.

$\endgroup$
3
$\begingroup$

Although this is an old question, I'll answer it since new people might find some new references useful. At my University, the professor suggested the book Geometric and Topological Inference as the main source on Topological Data Analysis. Also, here is the link to his course notes.

$\endgroup$
1
$\begingroup$

All the other answers are great! Focusing more on the implementation of ideas in topological data analysis, I wrote a tutorial on topological data analysis and keep a list of resources on topogical data analysis

The idea is to reproduce the pipeline presented in P. Y. Lum et al., “Extracting insights from the shape of complex data using topology,” Scientific Reports, vol. 3, no. 1, Dec. 2013. using Python.

This pipeline allows to turn a dataset into a graph, preserving connected components, as presented below.

touching tori

$\endgroup$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.