A Spectral Framework for Tracking Communities in Evolving Networks

Jacob Hume, Laura Balzano
12/10/2024
cs.SIcs.LGstat.ML

No official code found. Best implementation: JacobH140/century-of-college-football (1 star, MIT, last commit 2024-11-22). 1 more below.

Abstract

Discovering and tracking communities in time-varying networks is an important task in network science, motivated by applications in fields ranging from neuroscience to sociology. In this work, we characterize the celebrated family of spectral methods for static clustering in terms of the low-rank approximation of high-dimensional node embeddings. From this perspective, it becomes natural to view the evolving community detection problem as one of subspace tracking on the Grassmann manifold. While the resulting optimization problem is nonconvex, we adopt a block majorize-minimize Riemannian optimization scheme to learn the Grassmann geodesic which best fits the data. Our framework generalizes any static spectral community detection approach and leads to algorithms achieving favorable performance on synthetic and real temporal networks, including those that are weighted, signed, directed, mixed-membership, multiview, hierarchical, cocommunity-structured, bipartite, or some combination thereof. We demonstrate how to specifically cast a wide variety of methods into our framework, and demonstrate greatly improved dynamic community detection results in all cases.

View on arXivView PDF

Code Implementations(2)

MIT

A temporal network based on 100 years of American college football games (1924-2024) with dynamic ground-truth communities

10Python, Jupyter NotebookNov 21, 20241 years agoMIT
clusteringcommunity-detectiongraph-algorithmsgraph-learningmachine-learning+2 more
MIT
00Python, Jupyter NotebookNov 22, 20241 years agoMIT

Similar Papers

Cite this paper

@article{hume2024spectral,
  title  = {A Spectral Framework for Tracking Communities in Evolving Networks},
  author = {Jacob Hume and Laura Balzano},
  year   = {2024},
  eprint = {2412.07378},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2412.07378v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2412.07378.svg)](https://codeofpaper.com/paper/2412.07378)

Discussion