1.3 Basics of network structure
1.3.4 Community detection
Continuing the trend of expanding the scale of focus of connection patterns, the scale within a network called the intermediate scale, referred to in Physics as the mesoscopic scale, will be discussed. In real networks, connections between vertices are not random. Vertices have internal characteristics that play into how they connect with their neighbors. A common dynamic in many networks is assortative mixing, sometimes called homophily: actors in the network with a particular property are more likely to connect to others with the same property. For example, students are more likely to be friends with other students of the same age, sex, or race [97, 124].
7However, it is incorrect to think of the weakly connected component as the union of the in-
and out-components, as this does not necessarily include all of the vertices in the weakly connected component.
When studying networks, the internal mechanisms that generate the network are usually not known, but the effect is seen. Intuitively, the converse of the previous paragraph should be true: the connection patterns should be informative about the vertices in the network, and this is the goal of community detection. For a specific subset of vertices, it is said to be a community if the vertices primarily connect to other vertices within the subset [54, 58]. An example of such a structure is shown in Figure 1.6. While researchers all agree that this structure must be true in a loose sense, the precise definition of a community is subject to much debate [54]. Depend- ing on the context, communities can even be disjoint or overlapping. Community structure and the associated network mechanisms is an important topic for network scientists and a lot of work has gone into studying the subject. For the reader inter- ested in the subject who wants significant detail on the problem and the work done to date, Fortunato gives an excellent review of the entire subject in [54].
Figure 1.6: Example of a network with communities. The vertices are colored accord- ing to which of the three separate communities they belong.
There are several early methods for community detection worth mentioning. The first is hierarchical clustering, which arose out of sociological interests. The idea behind hierarchical clustering is that similar vertices (for however similar is defined in the particular context) should slowly aggregate in a pairwise fashion until eventually
the entire network has aggregated into one single group. Then the objective is to find the right scale at which to stop the agglomeration. Similarly hierarchical clustering can be run by dividing up the network until each vertex is in its own group, which is known as a divisive algorithm. Whether agglomerative or divisive, the full algorithm is represented as a picture in the form of a dendrogram, a form of tree where all the vertices are lined up in a row and connections up the tree show the different agglomeration/division steps. The final cut is a horizontal line where the connections above the line are ignored and the connections below the line form the communities. An example of this technique is the method by Newman and Girvan [108].
The second method is graph partitioning, a method which originated in computer science. The goal of graph partitioning is to minimize the number of edges that run between two groups of a given size, i.e. to find the groups of vertices that require the fewest number of removed edges to create two separate connected components. This is commonly done by computing the Laplacian matrix, a positive semi-definite matrix closely related to the adjacency matrix [29]. The zero eigenvalues of the Laplacian matrix have associated eigenvectors that correspond to the different connected com- ponents of the network. Thus intuitively, two groups of vertices that only have a few edges between them should have a fairly small corresponding eigenvalue, and many graph partitioning methods are based around finding these small eigenvalues [52].
One of the more famous recent measures for community detection is modularity, which grew out of the Girvan-Newman algorithm mentioned above [108]. The idea behind modularity is that two vertices connected by an edge in the same community should get a positive score, but receive a penalty if the two vertices are not connected by an edge, so that a good set of communities gives a high modularity score. The exact amount of penalty can be changed depending on the preferred community structure, but is most commonly taken to be the expected number of edges between the two vertices under the configuration model (to be described in section 1.3.5) so that the
trivial grouping of the entire network being one community gives a modularity of 0. In this case the expression for modularity can be written as Q = (Aij−
kikj
2m)δ(gi, gj),
where gi is the community of vertex i and δ is the Kronecker delta8.
In an ideal world, it would be possible to find the best modularity score over all combinations of communities, but this has been proven to be difficult [21]. Many computational methods have been devised to approximately maximize modularity, and in practice this measure and the numerous methods do a very good job of finding community structure in networks [54]. Modularity does have a few known problems however, for instance it cannot be used to find very small communities [55], may not have a unique optimum [59], and is somewhat unsatisfactory from a formal view- point [17, 155].
Sometimes it is desired to discuss variants of community structure. As mentioned earlier in the section, there is a problem known as overlapping community detection where vertices are allowed to belong to multiple groups. An early method created for detecting overlapping communities is clique percolation [112]. This method looks for cliques with c vertices in them (where c is an input to the method), and defines two such cliques to be adjacent if they share c − 1 vertices. Then a community is the set of vertices that can be reached by traversing adjacent cliques with c vertices as though they were paths. Since a vertex can be in multiple cliques with c vertices that are not necessarily adjacent, this method inherently gives overlapping communities.
Many methods like clique percolation are based on the local structure of the network [9]. These methods are based around growing communities in the network rather than splitting the network up into communities. This has the advantage of finding communities that are compact, connected, and potentially overlapping, several aspects of which are not guaranteed by global methods. The number of communities
8Modularity is often written with a normalizing factor of 1
2mso that it is restricted to run between
−1 and 1, although this does not affect the extracted community structure for a given network in any way since it is just a multiplicative constant.
that local methods find is also dependent on the graph structure rather than being a set number, which could be seen as an advantage or disadvantage depending on the application9. It may also be desirable to allow for disassortative structure in
the community (for example as found in a bipartite network), something which these local methods cannot address. Many of these points will be discussed in further detail throughout this dissertation.