Files
graphes-l3/Seance_8_Centralite.ipynb
T

7.5 KiB

🎯 Séance 8 — Centralité : qui est influent dans un réseau ?

Objectifs pédagogiques

À la fin de cette séance, vous serez capables de :

  • calculer et interpréter la centralité de degré, de proximité et d'intermédiarité ;
  • comprendre que ces trois mesures répondent à des questions différentes, et peuvent désigner des individus différents comme "centraux" ;
  • relier ces mesures à des situations sociologiques concrètes (popularité, accès rapide à l'information, position de pont).

Introduction

En Séance 3, on a vu qu'un réseau peut être inégalitaire : certain·es individus concentrent beaucoup plus de connexions que d'autres. Mais "avoir beaucoup d'ami·es" n'est qu'une façon d'être important dans un réseau — il en existe d'autres. Cette séance formalise plusieurs notions de centralité, c'est-à-dire plusieurs manières de répondre à la question : qui compte le plus dans ce réseau, et pourquoi ?

On reprend le réseau de la Séance 5

Le même réseau à 7 personnes que celui utilisé pour la diffusion en BFS :

Alice — Bob — Chloé — David
  │       │      │
 Emma    Félix   Gaël
In [ ]:
import networkx as nx
import matplotlib.pyplot as plt

G = nx.Graph()
G.add_edges_from([
    ('Alice', 'Bob'), ('Alice', 'Emma'),
    ('Bob', 'Chloé'), ('Bob', 'Félix'),
    ('Chloé', 'David'), ('Chloé', 'Gaël')
])

plt.figure(figsize=(6,4))
pos = nx.spring_layout(G, seed=0)
nx.draw(G, pos, with_labels=True, node_color='lightblue', node_size=1000)
plt.show()

Partie 1 — Centralité de degré

C'est la mesure la plus simple, déjà rencontrée : combien de connexions directes une personne a-t-elle ? NetworkX la normalise entre 0 et 1 en divisant le degré par le nombre maximal de connexions possibles (n - 1).

C_{degré}(i) = \frac{\deg(i)}{n - 1}

Interprétation sociologique : popularité directe, nombre de contacts immédiats.

In [ ]:
centralite_degre = nx.degree_centrality(G)
for personne, c in sorted(centralite_degre.items(), key=lambda x: -x[1]):
    print(f"{personne} : {round(c, 2)}")

Partie 2 — Centralité de proximité (closeness)

Une personne peut avoir peu de connexions directes, mais être malgré tout proche de tout le monde grâce à des chemins courts. La centralité de proximité mesure l'inverse de la distance moyenne entre une personne et toutes les autres.

C_{proximité}(i) = \frac{n - 1}{\sum_j d(i, j)}

Plus une personne est proche (en moyenne) de tout le monde, plus sa centralité de proximité est élevée.

Interprétation sociologique : vitesse d'accès à l'information — une personne avec une forte proximité reçoit et diffuse l'information rapidement dans tout le réseau (voir Séances 4 et 5, BFS).

In [ ]:
centralite_proximite = nx.closeness_centrality(G)
for personne, c in sorted(centralite_proximite.items(), key=lambda x: -x[1]):
    print(f"{personne} : {round(c, 2)}")

Partie 3 — Centralité d'intermédiarité (betweenness)

Certaines personnes ne sont ni très connectées, ni particulièrement proches de tout le monde en moyenne — mais elles occupent une position stratégique : de nombreux plus courts chemins entre les autres passent par elles. Ce sont les ponts entre des groupes qui, sans elles, seraient déconnectés (cette notion de pont a déjà été rencontrée en Séance 3 avec le coefficient de clustering, et en Séance 5 avec Chloé).

C_{intermédiarité}(i) = \sum_{j \neq k \neq i} \frac{\text{nombre de plus courts chemins entre } j \text{ et } k \text{ passant par } i}{\text{nombre total de plus courts chemins entre } j \text{ et } k}

Interprétation sociologique : pouvoir de contrôle sur la circulation de l'information — une personne avec une forte intermédiarité peut filtrer, ralentir ou accélérer ce qui passe d'un groupe à l'autre.

In [ ]:
centralite_intermediarite = nx.betweenness_centrality(G)
for personne, c in sorted(centralite_intermediarite.items(), key=lambda x: -x[1]):
    print(f"{personne} : {round(c, 2)}")

Partie 4 — Comparer les trois mesures

Questions :

  1. La personne la plus centrale change-t-elle selon la mesure utilisée ?
  2. Bob et Chloé ont le même degré (3 connexions chacun·e). Ont-ils/elles la même centralité d'intermédiarité ? Pourquoi ?
  3. Emma, Félix, David et Gaël ont tou·tes un degré de 1. Ont-iels tou·tes la même centralité de proximité ? Pourquoi ?
  4. Imaginez une personne qui a un très fort coefficient de clustering (Séance 3) — a-t-elle plutôt tendance à avoir une forte ou une faible centralité d'intermédiarité ? Justifiez.

Synthèse

Mesure Question qu'elle pose Type d'individu qu'elle repère
Centralité de degré Combien de connexions directes ? La personne "populaire"
Centralité de proximité À quelle distance moyenne de tout le monde ? La personne qui diffuse/reçoit vite l'info
Centralité d'intermédiarité Combien de plus courts chemins passent par moi ? La personne "pont", qui contrôle la circulation entre groupes

Questions de réflexion

  1. Dans une entreprise, un individu avec une forte centralité d'intermédiarité mais un faible degré perd son emploi. Quelles conséquences cela peut-il avoir sur la circulation de l'information dans l'organisation ?
  2. Sur un réseau social, qui serait plutôt "central en degré" (beaucoup d'abonné·es) sans être "central en intermédiarité" ? Donnez un exemple.
  3. En quoi la centralité d'intermédiarité peut-elle représenter un pouvoir, y compris pour une personne peu visible dans le réseau ?