A flexible multiscale approach to overlapping community detection
In this work, we develop a flexible methodology for detecting specific notions of community, with a focus on overlapping communities in social networks. Because the word community is an ambiguous term, it is necessary to quantify what it means to be a community within the context of a particular type of problem. Our interpretation is that this quantification should be done at a minimum of three scales. These scales are at the level of: individual nodes, individual communities, and the network as a whole. Each of these scales involves quantitative features of community structure that are not accurately represented at the other scales, but are important for defining a particular notion of community. We exemplify sensible ways to quantify what is desired at each of these scales for a notion of community applicable to social networks, and use these models to develop a prototypical community detection algorithm. Some appealing features of the resulting method are that it naturally allows for nodes to belong to multiple communities, and is computationally efficient for large networks with low overall edge density. The scaling of the algorithm is \(O(N\overline{k^2} + \overline{N_{\rm com}^2})\), where N is the number of nodes in the network, \(\overline{N_{\rm com}^2}\) is the average squared community size, and \(\overline{k^2}\) is the expected value of a nodes degree squared.
multiscale overlapping communities community detection social networks edge descriptor set