Clustering temporal networks

Many data sets consist of individuals interacting in pairs, and whose interactions evolve over time. Examples include communication networks (emails, etc.), face-to-face interaction between individuals or transportation networks. Community detection (or graph clustering) is a common task in network science; it consists in finding subsets of nodes that are similar to each other.

The goal of this internship is to study methods for clustering temporal networks, in particular when the number of temporal snapshots grows to infinity (and the number of nodes might go to infinity as well, or be constant). A strategy will be to adapt existing clustering methods for time series, such as [1].


  • programming skills (python)
  • good knowledge of probability


  • familiarity with (random) graphs, and python packages such as networkx


[1] Khaleghi, A., Ryabko, D., Mari, J., & Preux, P. (2016). Consistent algorithms for clustering time series. Journal of Machine Learning Research, 17(3), 1-32.