Link Graph Encyclopedia

Centrality

Eigenvector centrality

A node's score is proportional to the sum of the scores of the nodes linking to it. The cleanest form of "important nodes are those linked by important nodes", and the parent of PageRank.

Eigenvector centrality takes the recursive idea of importance literally: each node’s score is proportional to the total score of the nodes that link to it. Phillip Bonacich formalised it for social networks in 1972. The scores form an eigenvector of the adjacency matrix, hence the name. The idea is elegant, and on strongly connected graphs it works. On web graphs it breaks in instructive ways, and Katz centrality and PageRank are best understood as repairs.

Definition

Ask for a vector xx with

x(v)=1λ∑u→vx(u)for every v,that is,A⊤x=λx.x(v) = \frac{1}{\lambda} \sum_{u \to v} x(u) \quad\text{for every } v, \qquad \text{that is,} \qquad A^\top x = \lambda x .

xx is an eigenvector of A⊤A^\top with eigenvalue λ\lambda. Eigenvector centrality takes the eigenvector of the largest eigenvalue, the spectral radius λmax⁡\lambda_{\max}, scaled to sum to 1 (or to have unit length; only ratios matter). The Perron–Frobenius theorem says that this eigenvector can be chosen with no negative entries, and that it is unique and strictly positive when the graph is strongly connected.

Compared with in-degree, the change is one word: a link counts with the score of its source instead of counting as 1. Compared with PageRank, two things are missing: the source’s score is not divided among its out-links, and there is no teleportation.

Worked example

On the running example the dominant eigenvalue is λ≈1.3247\lambda \approx 1.3247, and the scores are:

Node C A G B D E F
Eigenvector centrality 0.325 0.245 0.245 0.185 0 0 0

The eigenvalue has a neat origin. Inside the core, xA=xC/λx_A = x_C / \lambda, xB=xA/λx_B = x_A / \lambda and xC=(xA+xB)/λx_C = (x_A + x_B)/\lambda. Substituting gives λ3=λ+1\lambda^3 = \lambda + 1, whose real root is the so-called plastic number, 1.3247. The core’s two cycles, of lengths 2 and 3, set the growth rate.

The zeros are the important part. D, E and F score exactly 0, though D and E link into the core and D even has an in-link. Nothing in the core can reach them, and the equation x(v)=1λ∑u→vx(u)x(v) = \frac{1}{\lambda}\sum_{u \to v} x(u) propagates scores only forward from the core. E has no in-links, so xE=0x_E = 0; D’s only in-link comes from E, so xD=0x_D = 0 too; and F likewise. G, downstream of C, scores exactly as much as A, since each receives a link from one core node with the same equation.

Where it breaks

In Boldi and Vigna’s axioms for centrality eigenvector centrality satisfies density, only the kk half of size, and fails score monotonicity.

The repairs

Each fix addresses one failure:

PageRank’s success on the web is largely the success of these repairs.

Computing it

Power iteration multiplies a vector by A⊤A^\top and renormalises until it stops changing. Each iteration costs one pass over the arcs; the number of iterations depends on the ratio between the two largest eigenvalue moduli, ∣λ2∣/λ1|\lambda_2| / \lambda_1, which on real graphs can be close to 1. Unlike PageRank, nothing bounds this ratio, so convergence can be slow.

Where it is used

Eigenvector centrality is common in social network analysis on small, connected networks such as friendship or trade networks, where its assumptions hold. On web-scale link graphs, practitioners use its repaired descendants. Knowing the raw form remains useful: when a spectral metric gives exact zeros or wildly concentrated scores, the failure modes above are usually the reason.

References

Edit this entry on GitHub