The stochastic block model is a generative model for random graphs. This model tends to produce graphs containing communities, subsets of nodes characterized by being connected with one another with particular edge densities. For example, edges may be more common within communities than between communities. Its mathematical formulation was first introduced in 1983 in the field of social network analysis by Paul W. Holland et al. The stochastic block model is important in statistics, machine learning, and network science, where it serves as a useful benchmark for the task of recovering community structure in graph data.
The stochastic block model takes the following parameters:
n
\{1,\ldots,n\}
C1,\ldots,Cr
r x r
P
The edge set is then sampled at random as follows: any two vertices
u\inCi
v\inCj
Pij
n
C1,\ldots,Cr
If the probability matrix is a constant, in the sense that
Pij=p
i,j
G(n,p)
The planted partition model is the special case that the values of the probability matrix
P
p
q
p
q
p>q
p<q
Returning to the general stochastic block model, a model is called strongly assortative if
Pii>Pjk
j ≠ k
Pii>Pij
i ≠ j
Much of the literature on algorithmic community detection addresses three statistical tasks: detection, partial recovery, and exact recovery.
The goal of detection algorithms is simply to determine, given a sampled graph, whether the graph has latent community structure. More precisely, a graph might be generated, with some known prior probability, from a known stochastic block model, and otherwise from a similar Erdos-Renyi model. The algorithmic task is to correctly identify which of these two underlying models generated the graph.
In partial recovery, the goal is to approximately determine the latent partition into communities, in the sense of finding a partition that is correlated with the true partition significantly better than a random guess.
In exact recovery, the goal is to recover the latent partition into communities exactly. The community sizes and probability matrix may be known or unknown.
Stochastic block models exhibit a sharp threshold effect reminiscent of percolation thresholds. Suppose that we allow the size
n
n
For partial recovery, the appropriate scaling is to take
Pij=\tildePij/n
\tildeP
1-o(1)
(\tildep-\tildeq)2>2(\tildep+\tildeq)
1-o(1)
(\tildep-\tildeq)2<2(\tildep+\tildeq)
For exact recovery, the appropriate scaling is to take
Pij=\tildePijlogn/n
r
\sqrt{\tildep}-\sqrt{\tildeq}=\sqrt{r}
In principle, exact recovery can be solved in its feasible range using maximum likelihood, but this amounts to solving a constrained or regularized cut problem such as minimum bisection that is typically NP-complete. Hence, no known efficient algorithms will correctly compute the maximum-likelihood estimate in the worst case.
However, a wide variety of algorithms perform well in the average case, and many high-probability performance guarantees have been proven for algorithms in both the partial and exact recovery settings. Successful algorithms include spectral clustering of the vertices, semidefinite programming, forms of belief propagation, and community detection among others.
Several variants of the model exist. One minor tweak allocates vertices to communities randomly, according to a categorical distribution, rather than in a fixed partition. More significant variants include the degree-corrected stochastic block model, the hierarchical stochastic block model, the geometric block model, censored block model and the mixed-membership block model.
Stochastic block model have been recognised to be a topic model on bipartite networks.[1] In a network of documents and words, Stochastic block model can identify topics: group of words with a similar meaning.
Signed graphs allow for both favorable and adverse relationships and serve as a common model choice for various data analysis applications, e.g., correlation clustering. The stochastic block model can be trivially extended to signed graphs by assigning both positive and negative edge weights or equivalently using a difference of adjacency matrices of two stochastic block models.[2]
GraphChallenge[3] encourages community approaches to developing new solutions for analyzing graphs and sparse data derived from social media, sensor feeds, and scientific data to enable relationships between events to be discovered as they unfold in the field. Streaming stochastic block partition is one of the challenges since 2017.[4] Spectral clustering has demonstrated outstanding performance compared to the original and even improved[5] base algorithm, matching its quality of clusters while being multiple orders of magnitude faster.[6] [7]