Z-score-based modularity for community detection in networks
Identifying community structure in networks is an issue of particular interest in network science. The modularity introduced by Newman and Girvan [Phys. Rev. E 69, 026113 (2004)] is the most popular quality function for community detection in networks. In this study, we identify a problem in the concept of modularity and suggest a solution to overcome this problem. Specifically, we obtain a new quality function for community detection. We refer to the function as Z-modularity because it measures the Z-score of a given division with respect to the fraction of the number of edges within communities. Our theoretical analysis shows that Z-modularity mitigates the resolution limit of the original modularity in certain cases. Computational experiments using both artificial networks and well-known real-world networks demonstrate the validity and reliability of the proposed quality function.
💡 Research Summary
The paper addresses a well‑known shortcoming of the classic modularity function introduced by Newman and Girvan, namely its resolution limit: modularity maximization often fails to detect small communities, especially when they are cliques linked by single edges, and it can produce many nearly optimal partitions. The authors first point out a conceptual flaw: two different partitions can yield the same modularity value even though one partition may be statistically far rarer than the other. To capture this rarity, they propose a new quality function called Z‑modularity.
Z‑modularity is built on the same null‑model used for modularity (random placement of edges preserving vertex degrees) but treats the number of edges placed inside communities as a random variable X following a binomial distribution B(N, p), where p = Σ_C (D_C / 2m)² is the probability that a randomly placed edge falls inside a community. By the central limit theorem, for large N the fraction X/N is approximately normal with mean p and variance p(1‑p)/N. The Z‑score of a given partition C is then
Z(C) = ( Σ_C m_C / m – Σ_C (D_C / 2m)² ) / √
Comments & Academic Discussion
Loading comments...
Leave a Comment