Case studies in network community detection

Community structure describes the organization of a network into subgraphs that contain a prevalence of edges within each subgraph and relatively few edges across boundaries between subgraphs. The development of community-detection methods has occurred across disciplines, with numerous and varied algorithms proposed to find communities. As we present in this Chapter via several case studies, community detection is not just an “end game” unto itself, but rather a step in the analysis of network data which is then useful for furthering research in the disciplinary domain of interest. These case-study examples arise from diverse applications, ranging from social and political science to neuroscience and genetics, and we have chosen them to demonstrate key aspects of community detection and to highlight that community detection, in practice, should be directed by the application at hand. Most networks representing real-world systems display community structure, and many visualizations of networks lend themselves naturally to observations about groups of nodes that appear to be more connected to each other than to the rest of the network. One might be reasonably curious about why this is such a common feature across a great variety of real networks, and even more intriguingly, what do the groups mean? Considering examples from different disciplines, one can observe that these groups (or communities) often have important roles in the organization of a network. For example, in a social network where nodes represent individuals and edges describe friendships between them, communities can correspond to groups of people with shared interests (Granovetter, 1973; McPherson et al., 2001; Moody and White, 2003;  1977). In the graph of the World Wide Web, where a directed edge between web pages represents a hyperlink from one to the other, communities often correspond to webpages with related topics (Flake et al., 2000). In brain networks of interconnected neurons or cortical areas, communities can correspond to specialized functional components such as visual and auditory systems (Sporns and Betzel, 2016). In networks representing interactions among proteins, communities can group together proteins that contribute to the same cellular function (Spirin and Mirny, 2003). Across each of these examples, the communities provide a new level of description of the network, and this intermediate (that is, “mesoscopic”) perspective between the microscopic (nodes) and macroscopic (the whole network) domains proves to be very useful in understanding the essential functionality and organizational principles of a network. In particular, one of the motivations to identify communities in many of the aforementioned applications is that the network structure aligns with data attributes such as age, location, interests, 1 ar X iv :1 70 5. 02 30 5v 1 [ ph ys ic s. so cph ] 5 M ay 2 01 7 health, race, sex and so on. However, congruent with most community-detection algorithms, we refer to structural communities in which there is a prevalence of edges between nodes in the same community versus those between communities. Importantly, this notion is a topological property of the network and is agnostic to attributes. In principle, one can choose other definitions for what constitutes a community, and we note that for attributed (also called annotated) networks there is growing interest in developing community-detection algorithms that utilize both structural and attribute information (Binkiewicz et al., 2014; Bothorel et al., 2015; Newman and Clauset, 2016; Peel et al., 2017; Yang et al., 2013). While here we do not explore these possibilities, and focus our attention on communities in the topological sense, it is important to note that there is often positive correlation between community structure and attribute information due to homophily (Aral et al., 2009; McPherson et al., 2001)—that is, edges exist preferentially between nodes with similar attributes. Generally speaking, studying the interplay between attribute information and network structure is complicated due to confounding effects (Shalizi and Thomas, 2011). Detecting communities in an automated manner is not a simple pursuit, first, because although the qualitative notions of communities may be intuitive, translating such ideas into an appropriate modeling framework can be challenging. In particular, various applications call for different notions of a community, each producing a different mesoscopic description of a network. Second, the computational complexity of community detection can be a fundamental issue; for example, the number of possible partitions of nodes into non-overlapping groups is non-polynomial in the size of the network (and allowing overlapping communities increases the number of possibilities), motivating important work on different heuristics for efficiently identifying communities. Such challenges make community detection one of the most complex—yet fascinating—areas of network science, with a huge and ever increasing number of different algorithms available in the literature. We only indicate a few classes of community-detection methods here, referring the reader to comprehensive community-detection reviews by Porter, Onnela, and Mucha (2009); Fortunato (2010); and Fortunato and Hric (2016) (see also a recent review by Schaub et al., 2017, on the conceptual differences between different perspectives on community detection). While the ideas of community detection have been around in sociology for decades (see, e.g., Coleman, 1964; Freeman, 2004; Moody and White, 2003), the field has benefited from significant contributions across numerous disciplines, proposing a variety of methods and algorithms for automating community detection. Graph partitioning (e.g., Barnes, 1982; Fiedler, 1973; Kernighan and Lin, 1970; Mahoney et al., 2012) spans a large literature across computer science and mathematics, aiming to divide a network into a specified number of groups so that some selected quantity is optimized, such as the number of edges between the groups (i.e., cut size). Modularity maximization (Newman and Girvan, 2004), a different optimization approach for graph partitioning originating in the physics literature, aims to find the partition with the largest difference between the total weight of within-community edges and that expected under a null model—that is, a random-network model with selected properties. Modularity maximization typically leads to more balanced community sizes, can account for degree heterogeneity in the network, and does not require a priori specification of the number of communities. However, it is well-known to suffer from a resolution limit (Fortunato and Barthélemy, 2007), and it is not at all clear how to best interpret the different numbers of communities that can be obtained by varying resolution parameters (Arenas et al., 2008b; Reichardt and Bornholdt, 2006). Statistical inference (e.g., Ball et al., 2011;  2006; Karrer and Newman, 2011; Peixoto, 2013, 2014), arising from the statistics literature, typically aims to identify a parametrized generative model that describes the network (e.g., with maximum likelihood). For example, stochastic