Advanced Topics in Network Science

Author

Sadamori Kojaku

Published

October 8, 2025


0.1 Check list

0.2 Amahury 🎉

Friendship paradox check (True/False, justify briefly): In an undirected simple network, pick a node U uniformly at random; then pick one of U’s neighbors V uniformly at random (a ‘random friend’). Each node has an attribute X that is independent of its degree D. Claim: E[X(V)] > E[X(U)] always. Is the claim True or False?

  • Answer: False.

0.3 Shingai 🎉

In a star graph with 1 central hub connected to 10 leaf nodes, what fraction of edges must be removed to reduce network connectivity below 0.5?

  • Answer: 0.5 (or 50%). The star has 10 edges total. Removing 5 edges disconnects 5 leaves, leaving 6 nodes in the main component out of 11 total = 6/11 ≈ 0.545. Removing 6 edges gives 5/11 ≈ 0.45, which is below 0.5. SK: 6 edges (60%?) 🤔

0.4 Pranshu 🎉

Two networks have the same average degree and identical degree distributions. In simulation, Network A loses its giant component at a 35% node removal rate, while Network B retains it until 55%. … further analysis shows both networks have assortativity = 0. Explain what structural property most likely explains the difference in robustness and why it can produce such effects even at zero assortativity.

  • Answer: The key structural property is clustering (triadic closure). Network A likely has higher clustering, meaning many edges are redundant within local triangles rather than bridging distant parts of the network. This reduces the number of long-range links that maintain global connectivity, making it more vulnerable to random failures even though assortativity is zero. SK: Interesting question but curious why distance plays a role here? 🤔

0.5 Ted 🎉

The Molloy–Reed criterion kappa = ⟨<k^2 > / < k>⟩> 2 guarantees a giant component for finite n.

  • Answer: alse, n needs to be large.

1 Advanced Topics in Network Science

Lecture 06: Centrality Sadamori Kojaku

1.1 What to Learn 📚

  • What is centrality in networks? 🕸️
  • How to operationalize centrality? 🔢
  • How to find centrality in networks? 🔍
  • Limitations of centrality ⚠️

Keywords: degree centrality, closeness centrality, betweenness centrality, eigenvector centrality, PageRank, Katz centrality, HITS, random walk

1.2 ✍️ Pen and paper for centralities

1.3 What is centrality?

  • A measure of how important/central a node is in a network
  • Many definitions of centrality
  • Let’s consider some key ideas from history

2 Example from histories

2.1 The Golden Milestone (Milliarium Aureum) 🏛️

  • Located in the Roman Forum
  • Built by Emperor Augustus (1st emperor of Rome)
  • Symbolized Rome as the center of the empire
  • “All roads lead to Rome” is a reference to the Golden Milestone

2.2 Idea 1

A central node ~ A node that is connected to other nodes by a short distance 🤔

2.3 Closeness Centrality 🏃‍♀️

  • Measure of how close a node is to all others.

  • Centrality of a node i, denoted by c_i, is defined as

c_i = \frac{N-1}{\sum_{j\neq i} d_{ij}}

where d_{ij} is the shortest path length from node i to node j

Figure 1: Closeness Centrality Visualization. Nodes with higher centrality (brighter colors) are closer to all other nodes on average.

2.4 Harmonic Centrality

Another popular distance-based centrality.

c_i = \sum_{j\neq i} \frac{1}{d_{ij}}

What’s the key benefit of using harmonic centrality instead of the closeness centrality, c_i = \sum_{j\neq i} \frac{N-1}{\sum_{j\neq i} d_{ij}}?

  • The harmonic centrality can handle disconnected networks.
Figure 2: Harmonic Centrality Visualization. Nodes with higher centrality (brighter colors) are closer to all other nodes on average.

2.5 Eccentricity Centrality

Based on farthest node c_i = \frac{1}{\max_{j} d_{ij}}

Any conceptual difference from the cloness and harmonic centrality?

  • Eccentricity concerns the farthest nodes while closeness and harmonic centrality concerns the average distance. If you are interested in the worst-case scenario in transportation networks, for example, the eccentricity centrality could be more appropriate.

Betweenness Centrality 🌉

Based on shortest paths

c_i = \sum_{j < k} \frac{\sigma_{jk}(i)}{\sigma_{jk}}

  • \sigma_{jk}(i): number passing through node i
  • \sigma_{jk}: number of shortest paths between j and k
  • If \sigma_{jk} = 1 for all pairs (i.e., all pairs are connected by a single shortest path), c_i is the count of shortest paths through node i.
Figure 3: Betweenness Centrality Visualization.

2.6 “A man is known by the company he keeps” 🤝

  • Ancient Greek wisdom (Aesop)
  • How do we define centrality based on the idea?

2.7 Idea 2

A node is important if it is connected to important nodes

2.8 Eigenvector Centrality 🌟

Key idea: Important nodes are connected to other important nodes.

An importance c_i of node i is proportional to those of its neighbors.

c_i = \lambda \sum_{j} A_{ij} c_j

or in matrix form

\mathbf{c} = \lambda \mathbf{A} \mathbf{c}

Figure 4: Eigenvector Centrality Visualization.
  • Question: Can we solve this equation? If so, what is the solution 🤔?

2.9 Answer

\mathbf{c} = \lambda \mathbf{A} \mathbf{c} is an eigenvector equation. So \mathbf{c} is an eigenvector of \mathbf{A} with eigenvalue \lambda.

  • But here is a problem. The solution is not unique. Any eigenvector can be a solution. Which one to choose?
  • We want the importance score to be all positive (or all negatives, since the sign is indeterminate).
  • There is always one such eigenvector, the principal eigenvector (Peron-Frobenius theorem)

2.10 HITS Centrality 🎯

Introduces two kinds of importance scores.

  • Hub: Connected to many authorities

    • Hub score: x_i = \lambda_x \sum_j A_{ji} y_j
    • A_{ij} = 1 or 0 if there is a directed edge from i to j or not
  • Authority: Connected from many hubs

    • Authority score: y_i = \lambda_y \sum_j A_{ij} x_j
  • Matrix form: \mathbf{x} = \lambda_x \mathbf{A}^T \mathbf{y},\quad\mathbf{y} = \lambda_y \mathbf{A} \mathbf{x}

  • Question: What are the solution to this equation?

2.11 Answer

  • The eigenvectors of \mathbf{A}^T \mathbf{A} and \mathbf{A} \mathbf{A}^T are the solutions
  • Take the principal eigenvector of \mathbf{A} \mathbf{A}^T as the authority score and the principal eigenvector of \mathbf{A}^T \mathbf{A} as the hub score.

2.12 Limitation of Eigenvector Centrality ⚠️

  • Tends to concentrate importance on few well-connected nodes.
  • Can underemphasize importance of less connected nodes

Eigenvector Centrality Visualization.

2.13 Katz Centrality: Addressing Limitations 🛠️

  • Adds a base level of importance to all nodes

c_i = \beta + \lambda \sum_{j} A_{ij} c_j

  • \beta: base score given to all nodes
  • Provides more balanced centrality scores
  • Question: Can we solve this equation? If so, what is the solution 🤔?

2.14 PageRank 🌐

  • Surfers follow links or teleport to any node with probability \beta.
  • PageRank of node i is the long-term probability a surfer is at i.

c_i = \underbrace{\frac{\beta}{N}}_{\text{teleport}} + \underbrace{(1-\beta) \sum_j \frac{A_{ji}}{d^{\text{out}}_j} c_j}_{\text{click on a link}}

  • d^{\text{out}}_j: out-degree of node j
  • A_{ji} / d^{\text{out}}_j: Probability of moving from node j to node i
  • c_i: the probability that a random surfer is at node i after many steps
  • Question: Can we solve this equation? If so, what is the solution 🤔?

2.15 Degree-based Centrality 🔢

  • Simplest form of centrality
  • Count of edges connected to a node
  • c_i = d_i = \sum_{j} A_{ij}

3 Hands-on Coding Exercise 🎓

3.1 Centrality Computation in Python 🐍

# Degree centrality
g.degree()

# Closeness centrality
g.closeness()

# Betweenness centrality
g.betweenness()

# Eigenvector centrality
g.eigenvector_centrality()

# Hits
g.hub_score()
g.authority_score()

# PageRank
g.personalized_pagerank()

3.2 Key Takeaways 🗝️

  • Centrality ≠ Universal Importance
  • Context is crucial for interpretation
  • Different measures highlight various network aspects
  • Consider network structure and dynamics
  • Use centrality as a tool, not absolute truth 🧰🤔