Chapter 3

Network Measures

In February 2012, Kobe Bryant, the American basketball star, joinedChinese microblogging site Sina Weibo. Within a few hours, more than 100,000 followers joined his page, anxiously waiting for his first microblogging post on the site. The media considered the tremendous number of followers Kobe Bryant received as an indication of his popularity in China. In this case, the number of followers measured Bryant’s popularity among Chinese social media users. In social media, we often face similar tasks in which measuring different structural properties of a social media network can help us better understand individuals embedded in it. Corresponding measures need to be designed for these tasks. This chapter discusses measures for social media networks.

When mining social media, a graph representation is often used. This graph shows friendships or user interactions in a social media network. Given this graph, some of the questions we aim to answer are as follows:

To answer these and similar questions, one first needs to define measures for quantifying centrality, level of interactions, and similarity, among other qualities. These measures take as input a graph representation of a social interaction, such as friendships (adjacency matrix), from which the measure value is computed.

To answer our first question about finding central figures, we define measures for centrality. By using these measures, we can identify various types of central nodes in a network. To answer the other two questions, we define corresponding measures that can quantify interaction patterns and help find like-minded users. We discuss centrality next.

3.1 Centrality

Centrality defines how important a node is within a network.

3.1.1 Degree Centrality

In real-world interactions, we often consider people with many connections to be important. Degree centrality transfers the same idea into a measure. The degree centrality measure ranks nodes with more connections higher in terms of centrality. The degree centrality C_d for node v_i in an undirected graph is

C_d(v_i) = d_i,(3.1)

where d_i is the degree (number of adjacent edges) of node v_i. In directed graphs, we can either use the in-degree, the out-degree, or the combination as the degree centrality value:

C_d(v_i) = d^{\rm in}_i\quad{\text{\textit{}~~~~~~~\text{(prestige)}}},(3.2)
C_d(v_i) = d^{\rm out}_i\quad{\text{\textit{}~~~~~~\text{(gregariousness)}}},(3.3)
C_d(v_i) = d^{\rm in}_i+d^{\rm out}_i.(3.4)
When using in-degrees, degree centrality measures how popular a node is and its value shows prominence or prestige

Prominence or
Prestige
. When using out-degrees, it measures the gregariousness of a node. When we combine in-degrees and out-degrees, we are basically ignoring edge directions. In fact, when edge directions are removed, Equation 3.4 is equivalent to Equation 3.1, which measures degree centrality for undirected graphs.

The degree centrality measure does not allow for centrality values to be compared across networks (e.g., Facebook and Twitter). To overcome this problem, we can normalize the degree centrality values.

Normalizing Degree Centrality

Simple normalization methods include normalizing by the maximumpossible degree,

C_d^{\rm norm}(v_i) = \frac{d_i}{n-1},(3.5)

where n is the number of nodes. We can also normalize by the maximum degree,

C_d^{\rm max}(v_i) = \frac{d_i}{\max_j d_j}.(3.6)

Finally, we can normalize by the degree sum,

C_d^{\rm sum}(v_i) = \frac{d_i}{\sum_j d_j}=\frac{d_i}{2|E|}=\frac{d_i}{2m}.(3.7)

Figure 3.1: Degree Centrality Example
Example 3.1

Figure 3.1 shows a sample graph. In this graph, degree centrality for node v_1 is C_d(v_1)=d_{1}=8, and for all others, it is C_d(v_j)=d_j=1, j \neq 1.

3.1.2 Eigenvector Centrality

In degree centrality, we consider nodes with more connections to be more important. However, in real-world scenarios, having more friends does not by itself guarantee that someone is important: having more important friends provides a stronger signal.

Eigenvector centrality tries to generalize degree centrality by incorporating the importance of the neighbors (or incoming neighbors in directed graphs). It is defined for both directed and undirected graphs. To keep track of neighbors, we can use the adjacency matrix A of a graph. Let c_e(v_i) denote the eigenvector centrality of node v_i. We want the centrality of v_i to be a function of its neighbors’ centralities. We posit that it is proportional to the summation of their centralities,

c_e(v_i) = \frac{1}{\lambda}\sum_{j=1}^{n}A_{j,i}c_e(v_j),(3.8)
where \lambda is some fixed constant. Assuming \mathbf{C}_e=(C_e(v_1), C_e(v_2), \dots, C_e(v_n))^{T} is the centrality vectors for all nodes, we can rewrite Equation 3.8 as
\lambda \mathbf{C}_e = A^T \mathbf{C}_e.(3.9)

This basically means that \mathbf{C}_e is an eigenvector of adjacency matrix A^T (or A in undirected networks, since A=A^T) and \lambda is the corresponding eigenvalue. A matrix can have many eigenvalues and, in turn, many corresponding eigenvectors. Hence, this raises the question: which eigenvalue–eigenvector pair should we select? We often prefer centrality values to be positive for convenient comparison of centrality values across nodes. Thus, we can choose an eigenvalue such that the eigenvector components are positive.1 This brings us to the

Perron-Frobenius TheoremPerron-Frobenius theorem.

Theorem 3.1

Let A \in \mathbb{R}^{n\times n} represent the adjacency matrix for a [strongly] connected graph or A: A_{i,j} > 0 (i.e. a positive n by n matrix). There exists a positive real number (Perron-Frobenius eigenvalue) \lambda_{\rm max}, such that \lambda_{\rm max} is an eigenvalue of A and any other eigenvalue of A is strictly smaller than \lambda_{\rm max}. Furthermore, there exists a corresponding eigenvector \mathbf{v}=(v_1, v_2, \dots, v_n) of A with eigenvalue \lambda_{\rm max} such that \forall v_i > 0.

Therefore, to have positive centrality values, we can compute the eigenvalues of A and then select the largest eigenvalue. The corresponding eigenvector is \mathbf{C}_e. Based on the Perron-Frobenius theorem, all the components of \mathbf{C}_e will be positive, and this vector corresponds to eigenvector centralities for the graph.

image
(a) A 3 node graph
image
(b) A 5 node graph
Figure 3.2: Eigenvector Centrality Example.
Example 3.2

For the graph shown in Figure 3.2(a)(a), the adjacency matrix is

A= \left[ \begin{array}{ccc} 0&1&0\\ 1&0&1\\ 0&1&0\end{array}\right].(3.10)

Based on Equation 3.9, we need to solve \lambda \mathbf{C}_e = A \mathbf{C}_e, or

(A-\lambda I)\mathbf{C}_e=0.(3.11)

Assuming \mathbf{C}_e=[u_1~u_2~u_3]^T,

\left[ \begin{array}{ccc} 0-\lambda&1&0\\ 1&0-\lambda&1\\ 0&1&0-\lambda\end{array}\right]\left[ \begin{array}{c} u_1\\ u_2\\ u_3\end{array}\right]=\left[ \begin{array}{c} 0\\ 0\\ 0\end{array}\right].(3.12)

Since \mathbf{C}_e \neq [0~0~0]^T, the characteristic equation is

{\it det}(A-\lambda I)=\left| \begin{array}{ccc} 0-\lambda&1&0\\ 1&0-\lambda&1\\ 0&1&0-\lambda\end{array}\right|=0,(3.13)

or equivalently,

(-\lambda)(\lambda^2-1)-1(-\lambda)=2\lambda - \lambda^3=\lambda(2-\lambda^2)=0.(3.14)

So the eigenvalues are (-\sqrt{2},0,+\sqrt{2}). We select the largest eigenvalue: \sqrt{2}. We compute the corresponding eigenvector:

\left[ \begin{array}{ccc} 0-\sqrt{2}&1&0\\ 1&0-\sqrt{2}&1\\ 0&1&0-\sqrt{2}\end{array}\right]\left[ \begin{array}{c} u_1\\ u_2\\ u_3\end{array}\right]=\left[ \begin{array}{c} 0\\ 0\\ 0\end{array}\right].(3.15)

Assuming \mathbf{C}_e vector has norm 1, its solution is

\mathbf{C}_e=\left[ \begin{array}{c} u_1\\ u_2\\ u_3\end{array}\right]=\left[ \begin{array}{c} 1/2\\ \sqrt{2}/2\\ 1/2\end{array}\right],(3.16)

which denotes that node v_2 is the most central node and nodes v_1 and v_3 have equal centrality values.

Example 3.3

For the graph shown in Figure 3.2(b)(b), the adjacency matrix is as follows:

A= \left[ \begin{array}{ccccc} 0&1&0&1&0\\ 1&0&1&1&1\\ 0&1&0&1&0\\ 1&1&1&0&0\\ 0&1&0&0&0\end{array}\right].(3.17)

The eigenvalues of A are (-1.74,-1.27,0.00,+0.33,+2.68). For eigenvector centrality, the largest eigenvalue is selected: 2.68. The corresponding eigenvector is the eigenvector centrality vector and is

\mathbf{C}_e= \left[ \begin{array}{c} 0.4119\\ 0.5825\\ 0.4119\\ 0.5237\\ 0.2169\end{array}\right].(3.18)

Based on eigenvector centrality, node v_2 is the most central node.

3.1.3 Katz Centrality

A major problem with eigenvector centrality arises when it considers directed graphs (see Problem 1 in the Exercises). Centrality is only passed on when we have (outgoing) edges, and in special cases such as when a node is in a directed acyclic graph, centrality becomes zero, even though the node can have many edges connected to it. In this case, the problem can be rectified by adding a bias term to the centrality value. The bias term \beta is added to the centrality values for all nodes no matter how they are situated in the network (i.e., irrespective of the network topology). The resulting centrality measure is called the Katz centrality and is formulated as

C_{\rm Katz}(v_i) = \alpha\sum_{j=1}^{\rm n}A_{j,i}C_{\rm Katz}(v_j)+\beta.(3.19)

The first term is similar to eigenvector centrality, and its effect is controlled by constant \alpha. The second term \beta, is the bias term that avoids zero centrality values. We can rewrite Equation 3.19 in a vector form,

\mathbf{C}_{\rm Katz} = \alpha A^T \mathbf{C}_{\rm Katz}+\beta\mathbf{1},(3.20)

where \mathbf{1} is a vector of all 1’s. Taking the first term to the left hand side and factoring C_{\rm Katz},

\mathbf{C}_{\rm Katz} = \beta(\mathbf{I}-\alpha A^T)^{-1} \cdot \mathbf{1}.(3.21)

Since we are inverting a matrix here, not all \alpha values are acceptable. When \alpha=0, the eigenvector centrality part is removed, and all nodes get the same centrality value \beta. However, once \alpha gets larger, the effect of \beta is reduced, and when \det(\mathbf{I}-\alpha A^T)=0, the matrix \mathbf{I}-\alpha A^T becomes non-invertible and the centrality values diverge

Divergence in
Centrality
Computation
. The \det(\mathbf{I}-\alpha A^T) first becomes 0 when \alpha=1/\lambda, where \lambda is the largest eigenvalue2 of A^T. In practice, \alpha < 1/\lambda is selected so that centralities are computed correctly.

Figure 3.3: Katz Centrality Example.
Example 3.4

For the graph shown in Figure 3.3, the adjacency matrix is as follows:

A= \left[ \begin{array}{ccccc} 0&1&1&1&0\\ 1&0&1&1&1\\ 1&1&0&1&1\\ 1&1&1&0&0\\ 0&1&1&0&0\end{array}\right]=A^T.(3.22)

The eigenvalues of A are (-1.68, -1.0, -1.0,+0.35,+3.32). The largest eigenvalue of A is \lambda=3.32. We assume \alpha=0.25 < 1/\lambda and \beta=0.2. Then, Katz centralities are

\mathbf{C}_{Katz} = \beta(\mathbf{I}-\alpha A^T)^{-1}\cdot\mathbf{1}=\left[ \begin{array}{c} 1.14\\ 1.31\\ 1.31\\ 1.14\\ 0.85\end{array}\right].(3.23)

Thus, nodes v_2, and v_3 have the highest Katz centralities.

3.1.4 PageRank

Similar to eigenvector centrality, Katz centrality encounters some challenges. A challenge that happens in directed graphs is that, once a node becomes an authority (high centrality), it passes all its centrality along all of its out-links. This is less desirable, because not everyone known by a well known person is well known. To mitigate this problem, one can divide the value of passed centrality by the number of outgoing links (out-degree) from that node such that each connected neighbor gets a fraction of the source node’s centrality:

C_{p}(v_i) = \alpha\sum_{j=1}^{n}A_{j,i} \frac{ C_{p}(v_j) }{d_j^{\rm out}}+\beta.(3.24)

This equation is only defined when d_j^{\rm out} is nonzero. Thus, assuming that all nodes have positive out-degrees (d_j^{\rm out} > 0)3, Equation 3.24 can be reformulated in matrix format,

\mathbf{C}_{p}=\alpha A^T D^{-1} \mathbf{C}_{p} + \beta \mathbf{1},(3.25)
which we can reorganize,
\mathbf{C}_{p}=\beta(\mathbf{I}-\alpha A^T D^{-1} )^{-1} \cdot \mathbf{1},(3.26)

where D = {\it diag}(d_1^{\rm out},d_2^{\rm out},\dots,d_n^{\rm out}) is a diagonal matrix of degrees. The centrality measure is known as the PageRank centrality measure and is used by the

PageRank and Google Web SearchGoogle search engine as a measure for ordering webpages. Webpages and their links represent an enormous web-graph. PageRank defines a centrality measure for the nodes (webpages) in this web-graph. When a user queries Google, webpages that match the query and have higher PageRank values are shown first. Similar to Katz centrality, in practice, \alpha < \frac{1}{\lambda} is selected, where \lambda is the largest eigenvalue of A^T D^{-1}. In undirected graphs, the largest eigenvalue of A^T D^{-1} is \lambda=1; therefore, \alpha < 1.

Figure 3.4: PageRank Example
Example 3.5

For the graph shown in Figure 3.4, the adjacency matrix is as follows,

A= \left[ \begin{array}{ccccc} 0&1&0&1&1\\ 1&0&1&0&1\\ 0&1&0&1&1\\ 1&0&1&0&0\\ 1&1&1&0&0\end{array}\right].(3.27)

We assume \alpha=0.95 < 1 and \beta=0.1. Then, PageRank values are

\mathbf{C}_{p} = \beta(\mathbf{I}-\alpha A^T D^{-1})^{-1} \cdot \mathbf{1}=\left[ \begin{array}{c} 2.14\\ 2.13\\ 2.14\\ 1.45\\ 2.13\end{array}\right].(3.28)

Hence, nodes v_1 and v_3 have the highest PageRank values.

3.1.5 Betweenness Centrality

Another way of looking at centrality is by considering how important nodes are in connecting other nodes. One approach, for a node v_i, is to compute the number of shortest paths between other nodes that pass through v_i,

C_b(v_i)=\sum_{s\neq t\neq v_i}\frac{\sigma_{st}(v_i)}{\sigma_{st}},(3.29)

where \sigma_{st} is the number of shortest paths from node s to t (also known as information pathways), and \sigma_{st}(v_i) is the number of shortest paths from s to t that pass through v_i. In other words, we are measuring how central v_i’s role is in connecting any pair of nodes s and t. This measure is called betweenness centrality.

Betweenness centrality needs to be normalized to be comparable across networks. To normalize betweenness centrality, one needs to compute the maximum value it takes. Betweenness centrality takes its maximum value when node v_i is on all shortest paths from s to t for any pair (s,t); that is, \forall~(s,t),~s\neq t\neq v_i,~\frac{\sigma_{st}(v_i)}{\sigma_{st}}=1. For instance, in Figure 3.1, node v_1 is on the shortest path between all other pairs of nodes. Thus, the maximum value is

C_b(v_i)=\sum_{s\neq t\neq v_i}\frac{\sigma_{st}(v_i)}{\sigma_{st}} = \sum_{s\neq t\neq v_i} 1=2 {n-1 \choose 2}=(n-1)(n-2).(3.30)

The betweenness can be divided by its maximum value to obtain the normalized betweenness,

C_b^{\rm norm}(v_i)=\frac{C_b(v_i)}{2{n-1 \choose 2}}.(3.31)

Computing Betweenness

In betweenness centrality (Equation 3.29), we compute shortest paths between all pairs of nodes to compute the betweenness value. If an algorithm such as Dijkstra’s is employed, it needs to be run for all nodes, because Dijkstra’s algorithm will compute shortest paths from a single node to all other nodes. So, to compute all-pairs shortest paths, Dijkstra’s algorithm needs to be run |V|-1 times (with the exception of the node for which centrality is being computed). More effective algorithms such as the Brandes’ algorithm (Brandes 2001) have been designed. Interested readers can refer to the bibliographic notes for further references.

Example 3.6

For Figure 3.1, the (normalized) betweenness centrality of node v_1 is

\begin{aligned} C_b(v_1) = 2 \left(\begin{array}{l} 8\\ 2 \end{array} \right),\\ C_b^{\rm norm}(v_1) =1. \end{aligned}(3.32)

Since all the paths that go through any pair (s,t), s \neq t \neq v_1 pass through node v_1, the centrality is 2{8 \choose 2}. Similarly, the betweenness centrality for any other node in this graph is 0.

Figure 3.5: Betweenness Centrality Example.
Example 3.7

Figure 3.5 depicts a sample graph. In this graph, the betweenness centrality for node v_1 is 0, since no shortest path passes through it. For other nodes, we have

\hspace*{-10pt}{{C_b(v_2) = 2\times (\underbrace{(1 / 1)}_{s=v_1, t=v_3} + \underbrace{(1 / 1)}_{s=v_1, t=v_4} + \underbrace{(2 / 2)}_{s=v_1, t=v_5} + \underbrace{(1 / 2)}_{s=v_3, t=v_4} + \underbrace{0}_{s=v_3, t=v_5} + \underbrace{0}_{s=v_4, t=v_5}) }}(3.33)
\hspace*{9pt}\quad = 2 \times 3.5 = 7,(3.34)
\hspace*{-10pt}{{C_b(v_3) = 2 \times (\underbrace{0}_{s=v_1, t=v_2} + \underbrace{0}_{s=v_1, t=v_4} + \underbrace{(1 / 2)}_{s=v_1, t=v_5} + \underbrace{0}_{s=v_2, t=v_4} + \underbrace{(1 / 2)}_{s=v_2, t=v_5} + \underbrace{0}_{s=v_4, t=v_5})}}(3.35)
\hspace*{9pt}\quad = 2 \times 1.0 = 2,(3.36)
\hspace*{-10pt}{{ C_b(v_4) = C_b(v_3) = 2 \times 1.0=2,}}(3.37)
\hspace*{-10pt}{{C_b(v_5)= 2 \times (\underbrace{0}_{s=v_1,t=v_2} + \underbrace{0}_{s=v_1,t=v_3} + \underbrace{0}_{s=v_1,t=v_4} + \underbrace{0}_{s=v_2,t=v_3} + \underbrace{0}_{s=v_2,t=v_4} + \underbrace{(1 / 2)}_{s=v_3,t=v_4})}}(3.38)
\hspace*{9pt}\quad = 2 \times 0.5=1,(3.39)
where centralities are multiplied by 2 because in an undirected graph \sum_{s\neq t\neq v_i} \frac{\sigma_{st}(v_i)}{\sigma_{st}} = 2 \sum_{s\neq t\neq v_i,s<t} \frac{\sigma_{st}(v_i)}{\sigma_{st}}.

3.1.6 Closeness Centrality

In closeness centrality, the intuition is that the more central nodes are, the more quickly they can reach other nodes. Formally, these nodes should have a smaller average shortest path length to other nodes. Closeness centrality is defined as

C_c(v_i) = \frac{1}{\bar{l}_{v_i}},(3.40)

where \bar{l}_{v_i}=\frac{1}{n-1}\sum_{v_j\neq v_i}{l}_{i,j} is node v_i\!’s average shortest path length to other nodes. The smaller the average shortest path length, the higher the centrality for the node.

Example 3.8

For nodes in Figure 3.5, the closeness centralities are as follows:

C_c(v_1) = 1~/~(~(1 + 2 + 2 + 3) / 4~) = 0.5,(3.41)
C_c(v_2) = 1~/~(~(1 + 1 + 1 + 2) / 4~) = 0.8,(3.42)
C_c(v_3)= C_b(v_4) = 1~/~(~(1 + 1 + 2 + 2) / 4~) = 0.66,(3.43)
C_c(v_5) = 1~/~(~(1 + 1 + 2 + 3) / 4~) = 0.57.(3.44)

Hence, node v_2 has the highest closeness centrality.

The centrality measures discussed thus far have different views on what a central node is. Thus, a central node for one measure may be deemed unimportant by other measures.

Example 3.9

Consider the graph in Figure 3.6. For this graph, we compute the top three central nodes based on degree, eigenvector, Katz, PageRank, betweenness, and closeness centrality methods. These nodes are listed in Table 1.1.

Figure 3.6: Example for All Centrality Measures
Table 3.1: A Comparison between Centrality Methods
\mathbf{1^{st}~node} \mathbf{2^{nd}~node} \mathbf{3^{rd}~node}
Degree Centrality v_3 or v_6 v_6 or v_3 v \in \{v_4,v_5,v_7,v_8,v_9\}
Eigenvector Centrality v_6 v_3 v_4 or v_5
Katz Centrality: \alpha=\beta=0.3 v_6 v_3 v_4 or v_5
PageRank: \alpha=\beta=0.3 v_3 v_6 v_2
Betweenness Centrality v_6 v_7 v_3
Closeness Centrality v_6 v_3 or v_7 v_7 or v_3

As shown in the table, there is a high degree of similarity between most central nodes for the first four measures, which utilize eigenvectors or degrees: degree centrality, eigenvector centrality, Katz centrality, and PageRank. Betweenness centrality also generates similar results to closeness centrality because both use the shortest paths to find most central nodes.

3.1.7 Group Centrality

All centrality measures defined so far measure centrality for a single node. These measures can be generalized for a group of nodes. In this section, we discuss how degree centrality, closeness centrality, and betweenness centrality can be generalized for a group of nodes. Let S denote the set of nodes to be measured for centrality. Let V-S denote the set of nodes not in the group.

Group Degree Centrality

Group degree centrality is defined as the number of nodes from outside the group that are connected to group members. Formally,

C^{\rm group}_d(S)=|\{v_i \in V-S| v_i \text{ is connected to } v_j \in S \}|.(3.45)

Similar to degree centrality, we can define connections in terms of out-degrees or in-degrees in directed graphs. We can also normalize this value. In the best case, group members are connected to all other nonmembers. Thus, the maximum value of C^{\rm group}_d(S) is |V-S|. So dividing group degree centrality value by |V-S| normalizes it.

Group Betweenness Centrality

Similar to betweeness centrality, we can define group betweenness centrality as

C^{\rm group}_b(S)=\sum_{s\neq t, s \not \in S, t \not \in S}\frac{\sigma_{st}(S)}{\sigma_{st}},(3.46)
where \sigma_{st}(S) denotes the number of shortest paths between s and t that pass through members of S. In the best case, all shortest paths between s and t pass through members of S, and therefore, the maximum value for C^{\rm group}_b(S) is 2{|V-S| \choose 2}. Similar to betweenness centrality, we can normalize group betweenness centrality by dividing it by the maximum value.

Group Closeness Centrality

Closeness centrality for groups can be defined as

C^{\rm group}_c(S) = \frac{1}{\bar{l}^{\rm group}_{S}},(3.47)
where \bar{l}^{\rm group}_{S}=\frac{1}{|V-S|}\sum_{v_j \not \in S} {l}_{S,v_j} and {l}_{S,v_j} is the length of the shortest path between a group S and a nonmember v_j \in V-S. This length can be defined in multiple ways. One approach is to find the closest member in S to v_j:
{l}_{S,v_j}=\min_{v_i \in S} {l}_{v_i,v_j}.(3.48)

One can also use the maximum distance or the average distance to compute this value.

Figure 3.7: Group Centrality Example
Example 3.10

Consider the graph in Figure 3.7. Let S=\{v_2,v_3\}. Group degree centrality for S is

C^{\rm group}_d(S) = 3,(3.49)
since members of the group are connected to all other three members in V-S=\{v_1,v_4,v_5\}. The normalized value is 1, since 3/|V-S|=1. Group betweenness centrality is 6, since for 2 {3 \choose 2} shortest paths between any two members of V-S, the path has to pass through members of S. The normalized group betweenness is 1, since 6/\big( 2 {|V-S| \choose 2}\big)=1. Finally, group closeness centrality – assuming the distance from nonmembers to members of S is computed using the minimum function – is also 1, since any member of V-S is connected to a member of S directly.

3.2 Transitivity and Reciprocity

Often we need to observe a specific behavior in a social media network. One such behavior is linking behavior. Linking behavior determines how links (edges) are formed in a social graph. In this section, we discuss two well-known measures, transitivity and reciprocity, for analyzing this behavior. Both measures are commonly used in directed networks, and transitivity can also be applied to undirected networks.

3.2.1 Transitivity

In transitivity, we analyze the linking behavior to determine whether it demonstrates a transitive behavior. In mathematics, for a transitive relation R, aRb \wedge bRc \rightarrow aRc. The transitive linking behavior can be described as follows.

Transitive Linking

Let v_1, v_2, v_3 denote three nodes. When edges (v_1, v_2) and (v_2,v_3) are formed, if (v_3,v_1) is also formed, then we have observed a transitive linking behavior (transitivity). This is shown in Figure 3.8.

Figure 3.8: Transitive Linking

In a less formal setting,

Transitivity is when a friend of my friend is my friend.

As shown in the definition, a transitive behavior needs at least three edges. These three edges, along with the participating nodes, create a triangle. Higher transitivity in a graph results in a denser graph, which in turn is closer to a complete graph. Thus, we can determine how close graphs are to the complete graph by measuring transitivity. This can be performed by measuring the [global] clustering coefficient and local clustering coefficient. The former is computed for the network, whereas the latter is computed for a node.

Clustering Coefficient

The clustering coefficient analyzes transitivity in an undirected graph. Since transitivity is observed when triangles are formed, we can measure it by counting paths of length 2 (edges (v_1,v_2) and (v_2,v_3)) and checking whether the third edge (v_3,v_1) exists (i.e., the path is closed). Thus, clustering coefficient C is defined as

C = \frac{|\text{Closed Paths of Length 2}|}{|\text{Paths of Length 2}|}.(3.50)

Alternatively, we can count triangles

C=\frac{\text{(Number of Triangles)} \times 6}{|\text{Paths of Length 2}|}.(3.51)

Since every triangle has six closed paths of length 2, we can rewrite Equation 3.51 as

C=\frac{\text{(Number of Triangles)} \times 3}{\text{Number of Connected Triples of Nodes}}.(3.52)

In this equation, a triple is an ordered set of three nodes, connected by two (i.e., open triple) or three (closed triple) edges. Two triples are different when

For example, triples v_iv_jv_k and v_jv_kv_i are different, since the first triple is missing edge e(v_k,v_i) and the second triple is missing edge e(v_i,v_j), even though they have the same members. Following the same argument, triples v_iv_jv_k and v_kv_jv_i are the same, because both are missing edge e(v_k,v_i) and have the same members. Since triangles have three edges, one edge can be missed in each triple; therefore, three different triples can be formed from one triangle. The number of triangles are therefore multiplied by a factor of 3 in the numerator of Equation 3.52. Note that the clustering coefficient is computed for the whole network.

Figure 3.9: A Global Clustering Coefficient Example
Example 3.11

For the graph in Figure 3.9, the clustering coefficient is

C=\frac{\text{(Number of Triangles)} \times 3}{\text{Number of Connected Triples of Nodes}}(3.53)
= \frac{2 \times 3}{2 \times 3 + \underbrace{2}_{v_2v_1v_4,v_2v_3v_4}}=0.75.(3.54)

The clustering coefficient can also be computed locally. The following subsection discusses how it can be computed for a single node.

subsubsectionLocal Clustering Coefficient

The local clustering coefficient measures transitivity at the node level. Commonly used for undirected graphs, it estimates how strongly neighbors of a node v (nodes adjacent to v) are themselves connected. The coefficient is defined as

C(v_i)=\frac{{\text{Number of Pairs of Neighbors of }v_i\text{ That Are Connected}}}{{\text{Number of Pairs of Neighbors of }v_i}}.(3.55)

In an undirected graph, the denominator can be rewritten as {d_i \choose 2} = d_i(d_i-1)/2, since there are d_i neighbors for node v_i.

Figure 3.10: Change in Local Clustering Coefficient for Different Graphs. Thin lines depict connections to neighbors. Solid lines indicate connected neighbors, and dashed lines are the missing connections among neighbors.
Example 3.12

Figure 3.10 shows how the local clustering coefficient changes for node v_1. Thin lines depict v_1’s connections to its neighbors. Dashed lines denote possible connections among neighbors, and solid lines denote current connections among neighbors. Note that when none of the neighbors are connected, the local clustering coefficient is zero, and when all the neighbors are connected, it becomes maximum, C(v_i)=1.

3.2.2 Reciprocity

Reciprocity is a simplified version of transitivity, because it considers closed loops of length 2, which can only happen in directed graphs. Formally, if node v is connected to node u, u by connecting to v exhibits reciprocity. On microblogging site Tumblr, for example, these nodes are known as “mutual followers.” Informally, reciprocity is

If you become my friend, I’ll be yours.

Figure 3.11 shows an example where two nodes (v_1 and v_2) in the graph demonstrate reciprocal behavior.

Figure 3.11: A Graph with Reciprocal Edges

Reciprocity counts the number of reciprocal pairs in the graph. Any directed graph can have a maximum of |E|/2 pairs. This happens when all edges are reciprocal. Thus, this value can be used as a normalization factor. Reciprocity can be computed using the adjacency matrix A:

R = \frac{\sum_{i,j, i < j} A_{i,j}A_{j,i}}{|E|/2},(3.56)
= \frac{2}{|E|}\sum_{i,j, i < j} A_{i,j}A_{j,i},(3.57)
= \frac{2}{|E|} \times \frac{1}{2}{\rm Tr}(A^2),(3.58)
=\frac{1}{|E|}{\rm Tr}(A^2),(3.59)
=\frac{1}{m}{\rm Tr}(A^2),(3.60)

where {\rm Tr}(A)=A_{1,1} + A_{2,2} + \cdots + A_{n,n}=\sum_{i=1}^{n} A_{i,i} and m is the number of edges in the network. Note that the maximum value for \sum_{i,j} A_{i,j}A_{j,i} is m when all directed edges are reciprocated.

Example 3.13

For the graph shown in Figure 3.11, the adjacency matrix is:

A= \left[ \begin{array}{ccc} 0&1&1\\ 1&0&0\\ 0&1&0\end{array}\right].(3.61)

Its reciprocity is

R = \frac{1}{m}Trace(A^2) = \frac{1}{4}Trace(\left[ \begin{array}{ccc} 1&1&0\\ 0&1&1\\ 1&0&0\end{array}\right] ) = \frac{2}{4} = \frac{1}{2}.(3.62)

3.3 Balance and Status

A signed graph can represent the relationships of nodes in a social network, such as friends or foes. For example, a positive edge from node v_1 to v_2 denotes that v_1 considers v_2 as a friend and a negative edges denotes that v_1 assumes v_2 is an enemy. Similarly, we can utilize signed graphs to represent social status of individuals. A positive edge connecting node v_1 to v_2 can also denote that v_1 considers v_2’s status higher than its own in the society. Both cases represent interactions that individuals exhibit about their relationships. In real-world scenarios, we expect some level of consistency with respect to these interactions. For instance, it is more plausible for a friend of one’s friend to be a friend than to be an enemy. In signed graphs, this consistency translates to observing triads with 3 positive edges (i.e., all friends) more than ones with 2 positive edges and 1 negative edge (i.e., a friend’s friend is an enemy). Assume we observe a signed graph that represents friends/foes or social status. Can we measure the consistency of attitudes that individual have towards one another?

To measure consistency in individual’s attitude, one needs to utilize theories from social sciences to define consistent attitude. In this section, we discuss two theories, social balance and social status, that can help determine consistency in observed signed networks. Social balance is used when edges represent friends/foes and social status is employed when they represent status.
Social Balance Theory, also known as Structural Balance Theory

Structural Balance
Theory
, discusses consistency in friend/foe relationships among individuals. Informally, social balance theory says friend/foe relationships are consistent when

The friend of my friend is my friend,
The friend of my enemy is my enemy,
The enemy of my enemy is my friend,
The enemy of my friend is my enemy.

[Sample Graphs for Social Balance Theory. In balanced triangles, we have even number of negative edges.]

Figure 3.12: Sample Graphs for Social Balance Theory

We demonstrate a graph representation of social balance theory in Figure 3.12. In this Figure, positive edges demonstrate friendships and negative ones demonstrate enemies. Triangles that are consistent based on this theory are denoted as balanced and triangles that are inconsistent as unbalanced

Balanced and
Unbalanced
Triangles
. Let w_{ij} denote the value of the edge between nodes v_i and v_j. Then, for a triangle of nodes v_i, v_j, and v_k, it is consistent based on social balance theory, i.e., it is balanced, if and only if

w_{ij}w_{jk}w_{ki} \ge 0.(3.63)

This is assuming that, for positive edges, w_{ij}=1 and for negative edges, w_{ij}=-1. We observe that, for all balanced triangles in Figure 3.12, the value w_{ij}w_{jk}w_{ki} is positive, and for all unbalanced triangles, it is negative. Social balance can also be generalized to subgraphs other than triangles. In general, for any cycle, if the product of edge values becomes positive, then the cycle is socially balanced.
Social Status Theory. Social status theory measures how consistent individuals are in assigning status to their neighbors. Social status theory can be summarized as

If X has a higher status than Y and Y has a higher status than Z, then X should have a higher status than Z.

We show this theory using two graphs in Figure 3.13. In this Figure, nodes represent individuals. Positive and negative signs show higher or lower status depending on the arrow direction. A directed positive edge from node X to node Y shows that X has a higher status than Y, and a negative one shows vice versa. In the left Figure, v_2 has a higher status than v_1 and v_3 has a higher status than v_2, so based on status theory, v_3 should have a higher status than v_1, but in this graph, we see that v_1 has a higher status in our configuration4. Based on social status theory, this is implausible and thus this configuration is unbalanced. The graph on the right shows a balanced configuration with respect to social status theory.

Figure 3.13: Sample Graphs for Social Status Theory. The left graph is an unbalanced configuration and the right graph is a balanced configuration.

In the example provided in Figure 3.13, social status is defined for the most general example: a set of 3 connected nodes (a triad). However, this can be generalized to other graphs. For instance, in a cycle of n nodes, where n-1 consecutive edges are positive and the last edge is negative, social status considers the cycle balanced.
Note that the same configuration can be considered balanced by social balance theory and unbalanced based on social status theory (see exercises).

3.4 Similarity

In this section we review measures employed to compute similarity between two nodes in a network. In social media, these nodes can represent individuals in a friendship network or products that are related. The similarity between these connected individuals can be either computed based on the network in which they are embedded, i.e., network similarity, or based on the similarity of the content they generate, i.e., content similarity. We discuss content similarity in Chapter 5. In this section, we demonstrate ways to compute similarity between two nodes using network information regarding nodes and edges connecting them. When utilizing network information, the similarity between two nodes can be computed by measuring their structural equivalence or their regular equivalence.

3.4.1 Structural Equivalence

In structural equivalence, we look at the neighborhood shared by two nodes; the size of this neighborhood defines how similar two nodes are. For instance, two brothers have in common sisters, mother, father, grandparents, etc. This shows that they are similar, whereas two random male or female individuals do not have much in common and are not similar.

The similarity measures detailed in this section are based on the overlap between the neighborhoods of the nodes. Let N(v_i) and N(v_j) be the neighbors of nodes v_i and v_j, respectively. In this case, a measure of node similarity can be defined as follows:

\sigma(v_i,v_j) = |N(v_i) \cap N(v_j)|.(3.64)

For large networks, this value can increase rapidly, since nodes may share many neighbors. Generally, similarity is attributed to a value that is bounded and usually in the range [0,1]. Various normalization procedures can take place such as the

Jaccard Similarity and Cosine SimilarityJaccard similarity or the Cosine similarity,

\sigma_{Jaccard}(v_i,v_j) = \frac{|N(v_i) \cap N(v_j)|}{|N(v_i) \cup N(v_j)|},(3.65)
\sigma_{Cosine}(v_i,v_j) = \frac{|N(v_i) \cap N(v_j)|}{\sqrt{|N(v_i)||N(v_j)|}}.(3.66)

In general, the definition of neighborhood N(v_i) excludes the node itself (v_i). This leads to problems with the aforementioned similarities because nodes that are connected and do not share a neighbor will be assigned zero similarity. This can be rectified by assuming nodes to be included in their neighborhoods.

Figure 3.14: Sample Graph for Computing Similarity
Example 3.14

Consider the graph in Figure 3.14. The similarity values between nodes v_2 and v_5 are

\sigma_{Jaccard}(v_2,v_5) = \frac{|\{v_1, v_3, v_4\} \cap \{v_3,v_6\}|}{|\{v_1,v_3,v_4,v_6\} |}=0.25,(3.67)
\sigma_{Cosine}(v_2,v_5) = \frac{|\{v_1, v_3, v_4\} \cap \{v_3,v_6\}|}{\sqrt{|\{v_1, v_3, v_4\}||\{v_3,v_6\}|}}=0.40.(3.68)

A more interesting way of normalizing \sigma(v_i,v_j) is to compare it with the expected value of \sigma(v_i,v_j) when nodes pick their neighbors at random. For nodes v_i and v_j with degrees d_i and d_j, this expectation is \frac{d_id_j}{n}, where n is the number of nodes. This is because there is a \frac{d_i}{n} chance of becoming v_i’s neighbor and, since v_j selects d_j neighbors, the expected overlap is \frac{d_id_j}{n}. We can rewrite \sigma(v_i,v_j) as

\sigma(v_i,v_j) = |N(v_i) \cap N(v_j)| = \sum_k A_{i,k}A_{j,k}.(3.69)

Hence, a similarity measure can be defined by subtracting this random expectation:

\sigma_{expected}(v_i,v_j)=\sum_k A_{i,k}A_{j,k}-\frac{d_id_j}{n}(3.70)
=\sum_k A_{i,k}A_{j,k}-n\frac{1}{n}\sum_k A_{i,k} \frac{1}{n}\sum_k A_{j,k}(3.71)
=\sum_k A_{i,k}A_{j,k}-n\bar{A}_{i}\bar{A}_{j}(3.72)
=\sum_k (~A_{i,k}A_{j,k}-\bar{A}_{i}\bar{A}_{j}~)(3.73)
=\sum_k (~A_{i,k}A_{j,k}-\bar{A}_{i}\bar{A}_{j}-\bar{A}_{i}\bar{A}_{j}+\bar{A}_{i}\bar{A}_{j}~)(3.74)
=\sum_k (~A_{i,k}A_{j,k}-A_{i,k}\bar{A}_{j}-\bar{A}_{i}A_{j,k}+\bar{A}_{i}\bar{A}_{j}~)(3.75)
=\sum_k (A_{i,k}-\bar{A}_{i})(A_{j,k}-\bar{A}_j),(3.76)

where \bar{A}_i=\frac{1}{n}\sum_k A_{i,k}. The term \sum_k (A_{i,k}-\bar{A}_{i})(A_{j,k}-\bar{A}_j) is basically the covariance between A_i and A_j. The covariance can be normalized by the multiplication of variances,

\sigma_{pearson}(v_i,v_j) = \frac{\sigma_{expected}(v_i,v_j)}{\sqrt{\sum_k (A_{i,k}-\bar{A}_i)^2}\sqrt{\sum_k (A_{j,k}-\bar{A}_j)^2}}(3.77)
= \frac{\sum_k (A_{i,k}-\bar{A}_{i})(A_{j,k}-\bar{A}_j),}{\sqrt{\sum_k (A_{i,k}-\bar{A}_i)^2}\sqrt{\sum_k (A_{j,k}-\bar{A}_j)^2}},(3.78)

which is called the Pearson correlation coefficient

Pearson Correlation. Its value, unlike the other two measures, is in the range [-1,1]. A positive correlation value denotes that when v_i befriends an individual v_k, v_j is also likely to befriend v_k. A negative value denotes the opposite, i.e., when v_i befriends v_k, it is unlikely for v_j to befriend v_k. A zero value denotes that there is no linear relationship between the befriending behavior of v_i and v_j.

3.4.2 Regular Equivalence

In regular equivalence, unlike structural equivalence, we do not look at the neighborhoods shared between individuals, but how neighborhoods themselves are similar. For instance, athletes are similar not because they know each other in person, but since they know similar individuals, such as coaches, trainers, other players, etc. The same argument holds for any other profession or industry since individuals might not know each other in person, but are in contact with very similar individuals. Regular equivalence is defined to assess the similarity by comparing the similarity of neighbors and not by their overlap.

One way of formalizing this is to consider nodes v_i and v_j similar when they have many similar neighbors v_k and v_l. This concept is shown in Figure 3.15(a). Formally,

image
(a) Original Formulation
image
(b) Relaxed Formulation
Figure 3.15: Regular Equivalence. Solid lines denote edges and dashed lines denote similarities between nodes. In regular equivalence, similarity between nodes v_i and v_j is substituted with similarity between (a) their neighbors v_k and v_l or between (b) neighbor v_k and node v_j.

\sigma_{regular}(v_i,v_j)=\alpha \sum_{k,l} A_{i,k}A_{j,l}\sigma_{Regular}(v_k,v_l).(3.79)

Unfortunately, this formulation is self-referential as solving for i and j requires solving for k and l and solving for k and l requires solving for their neighbors and so on. So, we relax this formulation and assume that node v_i is similar to node v_j when v_j is similar to v_i’s neighbors v_k. This is shown in Figure 3.15(b). Formally,

\sigma_{regular}(v_i,v_j)=\alpha \sum_k A_{i,k}\sigma_{Regular}(v_k,v_j).(3.80)

In vector format, we have

\sigma_{regular}=\alpha A \sigma_{Regular}.(3.81)

A node is highly similar to itself. To make sure that our formulation guarantees this, we can add an identity matrix to this vector format. Adding an identity matrix will add 1 to all diagonal entries, which represent self-similarities \sigma_{regular}(v_i,v_i):

\sigma_{regular}=\alpha A \sigma_{Regular} + \mathbf{I}.(3.82)

By rearranging, we get

\sigma_{regular}=(\mathbf{I}-\alpha A)^{-1},(3.83)

which we can employ to find the regular equivalence similarity.

Note the similarity between Equation 3.83 and that of Katz centrality (Equation 3.21). Similar to Katz centrality, we must be careful of how to choose \alpha for convergence. A common practice is to select an \alpha such that \alpha < 1/\lambda, where \lambda is the largest eigenvalue of A.

Example 3.15

For the graph depicted in Figure 3.14, the adjacency matrix is

A= \left[ \begin{array}{cccccc} 0&1&1&0&0&0\\ 1&0&1&1&0&0\\ 1&1&0&0&1&0\\ 0&1&0&0&0&1\\ 0&0&0&1&1&0\end{array}\right].(3.84)

The largest eigenvalue of A is 2.43. We set \alpha=0.4 < 1/2.43, and we compute (I-0.4A)^{-1}, which is the similarity matrix

\sigma_{regular}=(I-0.4A)^{-1}= \left[ \begin{array}{cccccc} 1.43&0.73&0.73&0.26&0.26&0.16\\ 0.73&1.63&0.80&0.56&0.32&0.26\\ 0.73&0.80&1.63&0.32&0.56&0.26\\ 0.26&0.56&0.32&1.31&0.23&0.46\\ 0.26&0.32&0.56&0.23&1.31&0.46\\ 0.16&0.26&0.26&0.46&0.46&1.27 \end{array}\right].(3.85)

Any row or column of this matrix shows the similarity to other nodes. We can see that node v_1 is most similar (other than itself) to nodes v_2 and v_3. Furthermore, nodes v_2 and v_3 have the highest similarity in this graph.

3.5 Summary

In this chapter, we discuss measures for a social media network. Centrality measures attempt to find the most central node within a graph. Degree centrality assumes that the node with the maximum degree is the most central individual. In directed graphs, prestige and gregariousness are variants of degree centrality. Eigenvector centrality generalizes degree centrality and considers individuals that know many important nodes as central. Based on Perron-Frobenius theorem, eigenvector centrality is determined by computing the eigenvector of the adjacency matrix. Katz centrality solves some of the problems with eigenvector centrality in directed graphs by adding a bias term. PageRank centrality defines a normalized version of Katz centrality. PageRank is used in the Google search engine as a metric to rank web pages. Betweenness centrality assumes that central nodes act as hubs connecting other nodes, and closeness centrality implements the intuition that central nodes are close to all other nodes. Node centrality measures can be generalized to a group of nodes. We discuss group degree centrality, group betweenness centrality, and group closeness centrality.

Linking between nodes (e.g., befriending in social media) is the most commonly observed phenomenon in social media. Linking behavior is analyzed in terms of its transitivity and its reciprocity. Transitivity is “when a friend of my friend is my friend." The transitivity of linking behavior is analyzed by means of clustering coefficient. The global clustering coefficient analyzes this within a network and the local clustering coefficient performs that for a node. Transitivity is commonly considered for closed triads of edges. For loops of length 2, the problem is simplified and is called reciprocity. In other words, reciprocity is when “if you become my friend, I’ll be yours."

To analyze if relationships are consistent in social media, we utilize various social theories to validate outcomes. Social Balance and Social Status are two such theories.

Finally, we analyze node similarity measures. In structural equivalence, two nodes are considered similar when they share neighborhoods. We discuss cosine similarity and Jaccard similarity in structural equivalence. In regular equivalence, nodes are similar when their neighborhoods are similar.

3.6 Bibliographic Notes

General reviews of different measures in graphs, networks, web, and social media can be found in (Newman 2010; Witten et al. 2011; Tan et al. 2006; Jiawei and Kamber 2001; Wassermann and Faust 1994).

A more detailed description of the PageRank algorithm can be found in (Page et al. 1999; Liu 2007). In practice, to compute the PageRank values, Power Iteration Method is used. Power iteration method given a matrix A, produces an eigenvalue \lambda and an eigenvector v of A. In case of PageRank, eigenvalue \lambda is set to 1. The iterative algorithm starts with an initial eigenvector v_0 and then, v_{k+1} is computed from v_{k} as follows,

v_{k+1}=Av_{k}.(3.86)

The iterative process is continued until v_k \approx v_{k+1}, i.e., convergence occurs. Other similar techniques to PageRank for computing influential nodes in a webgraph, such as the HITS (Kleinberg 1999) algorithm can be found in (Chakrabarti 2003; Kosala and Blockeel 2000).Unlike PageRank, the HITS algorithm5 considers two types of nodes: authority nodes and hub nodes. An authority is a webpage that has many in-links. A hub is a page with many out-links. Authority pages have in-links from many hubs. In other words, hubs represent webpages that contain many useful links to authorities and authorities are influential nodes in the webgraph. HITS employs an iterative approach to compute authority and hub scores for all nodes in the graph. Nodes with high authority scores are classified as authorities and nodes with high hub scores as hubs. Webpage with high authority scores or hub scores can be recommended to users in a web search engine.

Betweenness algorithms can be improved using all-pair shortest paths algorithmss (Warshall 1962) or algorithms optimized for computing betweenness, such as the Brandes’ algorithm discussed in (Brandes 2001; Tang and Liu 2010).

A review of node similarity and normalization procedures is provided in (Leicht et al. 2006). Jaccard similarity was introduced in (Jaccard 1901) and Cosine similarity is introduced by Salton (Salton and McGill 1986).

REGE (White 1980, 1984) and CATREGE (Borgatti Martin and Stephen 1993) are well-known algorithms for computing regular equivalence.

3.7 Exercises

~~~~~~~~~~Centrality

  1. Come up with an example of a directed connected graph where eigenvector centrality becomes zero for some nodes. Detail when this happens.

  2. Does \beta have any effect on the order of centralities? In other words, if for one value of \beta the centrality value of node v_i is greater than that of v_j, is it possible to change \beta in a way such that v_j’s centrality becomes larger than that of v_i’s?

  3. In PageRank, what \alpha values can we select in order to guarantee that centrality values are calculated correctly, i.e., values do not diverge?

  4. Calculate PageRank values for this graph when

    • \alpha = 1, \beta =0

    • \alpha= 0.85, \beta =1

    • \alpha= 0, \beta =1

    Discuss the effects of different values of \alpha and \beta for this particular problem.

  5. Consider a full n-tree. This is a tree in which every node other than the leaves has n children. Calculate the betweenness centrality for the root node, internal nodes, and leaves.

  6. Show an example where the eigenvector centrality of all nodes in the graph is the same while betweenness centrality gives different values for different nodes.
    Transitivity and Reciprocity

  7. In a directed graph G(V,E),

    • Let p be the probability that any node v_i is connected to any node v_j. What is the expected reciprocity of this graph?

    • Let m and n be the number of edges and number of nodes, respectively. What is the maximum reciprocity? What is the minimum?

  8. Given all graphs \{~G(V,E)~|~s.t., |E| = m, |V| = n~\},

    1. When m=15 and n=10, find a graph with minimum average clustering coefficient (one is enough).

    2. Can you come up with an algorithm to find such a graph for any m and n?

    Balance and Status

  9. Find all conflicting directed triad configurations for social balance and social status. A conflicting configuration is an assignment of positive/negative edge signs for which one theory considers the triad balanced and the other considers it unbalanced.
    Similarity

  10. In Figure 3.6,

    • Compute node similarity using Jaccard and cosine similarity for nodes v_5 and v_4.

    • Find the most similar node to v_7 using regular equivalence.

Borgatti Martin, G., and P. Stephen. 1993. “Two Algorithms for Computing Regular Equivalence.” Social Networks 15 (4): 361–76.
Brandes, Ulrik. 2001. “A Faster Algorithm for Betweenness Centrality*.” Journal of Mathematical Sociology 25 (2): 163–77.
Chakrabarti, S. 2003. Mining the Web: Discovering Knowledge from Hypertext Data. Morgan Kaufmann Pub.
Jaccard, P. 1901. Distribution de La Flore Alpine: Dans Le Bassin Des Dranses Et Dans Quelques régions Voisines. Rouge.
Jiawei, H., and M. Kamber. 2001. “Data Mining: Concepts and Techniques.” San Francisco, CA, Itd: Morgan Kaufmann 5.
Kleinberg, J. M. 1999. “Authoritative Sources in a Hyperlinked Environment.” Journal of the ACM (JACM) 46 (5): 604–32.
Kosala, R., and H. Blockeel. 2000. “Web Mining Research: A Survey.” ACM Sigkdd Explorations Newsletter 2 (1): 1–15.
Leicht, EA, P. Holme, and M. E. J. Newman. 2006. “Vertex Similarity in Networks.” Physical Review E 73 (2): 026120.
Liu, B. 2007. Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data. Springer Verlag.
Newman, M. E. J. 2010. Networks: An Introduction. Oxford Univ Pr.
Page, L., S. Brin, R. Motwani, and T. Winograd. 1999. The PageRank Citation Ranking: Bringing Order to the Web.
Salton, Gerard, and Michael J McGill. 1986. Introduction to Modern Information Retrieval.
Tan, P. N., M. Steinbach, V. Kumar, et al. 2006. Introduction to Data Mining. Pearson Addison Wesley Boston.
Tang, L., and H. Liu. 2010. “Community Detection and Mining in Social Media.” Synthesis Lectures on Data Mining and Knowledge Discovery 2 (1): 1–137.
Warshall, S. 1962. “A Theorem on Boolean Matrices.” Journal of the ACM (JACM) 9 (1): 11–12.
Wassermann, S., and K. Faust. 1994. “Social Network Analysis: Methods and Applications.” New York.
White, D. R. 1980. “Structural Equivalences in Social Networks: Concepts and Measurement of Role Structures.” Research Methods in Social Network Analysis Conference, Laguna Beach, California, April 1980, 193–234.
White, D. R. 1984. “REGGE: A REGular Graph Equivalence Algorithm for Computing Role Distances Prior to Blockmodeling.” Unpublished Manuscript, University of California, Irvine.
Witten, I. H., E. Frank, and M. A. Hall. 2011. Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann.

  1. This constraint is optional and can be lifted based on the context.↩︎

  2. When \det(\mathbf{I}-\alpha A^T)=0, it can be rearranged as \det(A^T-\alpha^{-1}I)=0, which is basically the characteristic equation. This equation first becomes zero when the largest eigenvalue equals \alpha^{-1}, or equivalently \alpha=1/\lambda.↩︎

  3. When d_j^{\rm out}=0, we know that since the out-degree is zero, \forall i, A_{j,i}=0. This makes the term inside the summation \frac{0}{0}. We can fix this problem by setting d_j^{\rm out}=1 since the node will not contribute any centrality to any other nodes.↩︎

  4. Here, we start from v_1 and follow the edges. One can start from a different node and the result should remain the same.↩︎

  5. HITS stands for Hypertext Induced Topic Search.↩︎