Une présentation réalisée pour l'atelier PAJEK de l'Université d'été sur les Réseaux qui s'est tenue fin aout 2014 à Ferney. La présentation comprend une brève introduction à l'analyse de réseau.
The pyrenees: a spatially rooted analysis of scientific research performed on...
Université d’été ferney voltaire 2014 – les réseaux atelier-pajek
1. Université d’été Ferney-Voltaire 2014 – Les réseaux
25-28 Aout 2014
Atelier Pajek
Marion Maisonobe, Université de Toulouse, groupe fmr
http://groupefmr.hypotheses.org
2. Plan de l’atelier
Introduction à l’analyse des réseaux:
http://www.geotests.net/cours/sigma/reseaux/Analyse_de_réseaux_et_espace.pptx
Problèmes et concepts
Représentations graphiques et analyses
Science des réseaux et modélisation
Atelier Pajek:
Mise en forme
Opérations à partir d’une partition
De l’analyse à la visualisation
Aller plus loin avec Inkscape:
Dimensions
Titre et légende
Export
3. Le Mot « réseau »
•Un réseau: un ensemble de relations
•Etymologie: Rets* Réticulaire
•1180 « Petit filet »
•1762: « ensemble de vaisseaux sanguins »
•XIXème siècle: réseau social (ensemble de personnes et d’organismes en relation);
•infrastructures de transport et de communication =Squelette
•XXème siècle: flux d’échanges et de communications =Flux
•2004: Facebook… le « réseautage » social (Quebec)
Source: Trésor de la Langue française informatisé CNRTL (CNRS)
4. Qu’ont en commun tous ces réseaux?
•Il est possible d’en extraire des graphes
•Un graphe est un objet mathématique
•La théorie des graphes est une branche des mathématiques
•Origines: En 1735,
Leonhard Euler est à l’Académie des sciences de St Petersburg et il formalise le problème des « 7 ponts de Königsberg » (aujourd’hui, Kaliningrad).
5. Les Sept ponts de Königsberg
Existe-t-il une promenade, avec un retour au point de départ, permettant de visiter les différents quartiers de la ville en ne passant qu’une seule fois par chacun des ponts?
7. Traduction mathématique
•« Peut-on orienter le graphe de façon, en partant d’un sommet et en y revenant, à parcourir tous les autres sommets sans repasser deux fois par le même arc? »
•REPONSE: NON
En effet, pour que cela soit possible, il faudrait que chaque sommet soit en contact avec un nombre pair d’arcs: on arrive par un arc déterminé et on repart par un autre arc bien précis. Or, tous les sommets du graphe (sauf un) sont en contact avec trois arcs.
Source: Patrick Fischer, siliconwadi.fr
8. Reproduction d’un cadastre
Projet MODELESPACE Florent Hautefeuille et Bertand Jouve, Université de Toulouse
9. Petit Lexique de théorie des graphes
•Un graphe G=(V,E) est un ensemble fini et non vide de sommets (ou noeuds) V et un ensemble fini , mais éventuellement vide, de liens (ou arêtes) E.
•Un graphe se définit par son ordre (le nombre de sommets) et par sa taille (le nombre de liens).
•Un graphe peut être orienté ou non.
•Suivant la nature des liens un graphe peut être: booléen, valué et ou signé.
•Un graphe peut être connexe ou non. Un sous-graphe connexe est appelé une composante.
•Un sommet qui n’est adjacent à aucun lien est dit isolé.
•Une composante formée d’un seul sommet est dite triviale.
•Un graphe peut être planaire (réseau ferré) ou non planaire (réseau aérien).
Pour aller plus loin: synthèses du groupe fmr
http://halshs.archives-ouvertes.fr/FMR/
Lexique sur le Blog du groupe fmr Hypothèse.org:
http://groupefmr.hypotheses.org/
10. Représentation graphique
Un graphe admet plusieurs types de représentations graphiques.
A suivre: l’exemple des collaborations scientifiques avec le site web coscimo.net
La visualisation des réseaux pose des problèmes intéressants. Elle fait l’objet d’un domaine de recherche à part entière.
11. L’exemple du Projet Coscimo
Réseaux de villes à partir de « données sociales »
Données de collaborations scientifiques entre individus (co-signatures d’articles scientifiques)
Protocole de recherche:
•Géolocalisation des adresses de chercheurs
•Construction de matrices de collaboration
•Visualisations et analyses de réseaux
17. Solutions
L’intéractivité avec coscimo.net
Le traitement et l’analyse des données en amont.
Rendre visible les résultats de l’analyse
L’analyse de réseau ou la science des réseaux:
a.Mesures globales et locales
b.Partitionnement ou détection de communautés
c.Modélisation
18. Mesures globales: les classiques
La densité d’un graphe:
Nombre de liens existants/ nombre de liens possibles
La distance: la longueur du plus court chemin entre deux sommets (nombre de liens).
Le diamètre: la plus grande distance possible entre deux sommets.
20. Mesures locales: les classiques
Les indices de centralité:
La centralité de degré: le nombre total de voisin d’un sommet.
La centralité de proximité ou «closeness centrality»: il s'agit de l'inverse de l'indice de Shimbel. Il se calcule pour un sommet donné à partir de la distance de ce sommet à tous les autres sommets du graphe
L'indice de centralité d'intermédiarité — ou «Betweenness» — d'un sommet est le nombre de plus courts chemins du graphe passant par ce sommet sur l'ensemble des plus courts chemins du graphe.
22. Partitionnement
Une partition: un sous-graphe connexe
Une clique: un sous-graphe (ensemble de sommets) maximal complet (entre lesquels tous les liens possibles sont présents) comprenant au moins 3 sommets.
Variantes suivant la distance (ex: n-cliques) et suivant le degré (ex: k-core ou k-plex)
Communautés ou « clusters »: division du réseau en groupes à l’intérieur desquels la densité de relations est forte et entre lesquelles, la densité de relations est faible.
23. Exemple de représentation
Source: Coscimo.net
Les villes sont affectées à des clusters compte tenu de leur profil de collaboration
L'algorithme de clustering est VOS
Il est une variante de l'algorithme de Louvain.
24. La science des réseaux: années 2000
La plupart des grands réseaux que l’on trouve dans la nature partagent certaines propriétés:
Ils sont « scale free » (Laslo Barabasi)
Traduction mathématique: la distribution de degré suit une loi de puissance ou de Zipf
Interprétation: Il y a une majorité de sommets peu connectés et une minorité de sommets très connectés. Attachement préférentiel.
25. La science des réseaux: années 2000
La plupart des grands réseaux que l’on trouve dans la nature ont une structure qui est à l’intermédiaire entre réseau aléatoire et réseau régulier:
Ils sont « small world » (Watts et Strogatz)
Traduction mathématique: la longueur du plus court chemin est plus faible que dans un réseau régulier mais le « clustering coefficient » est plus fort que dans un réseau aléatoire.
Clustering C.: nombre de triplets fermés sur le nombre de triplets totaux.
26. Small World networks
Source: Watts et Strogatz et http://www.urbagram.net/microplexes/
27. Les « 6 degrés de séparation »
Stanley Milgram, un psychosociologue, élabora alors une expérience destinée à évaluer la longueur des chaînes de relation entre individus quelconques au sein d’une société de grande taille. Il constata qu’il y avait une moyenne de 5,2 relais intermédiaires pour que les 217 personnes sélectionnées pour son expérience atteignent la personne cible. A partir de cette expérience, le docteur Milgram a établi la théorie « it’s a small world » en 1967.
Source: http://les-reseaux-sociaux.blogspot.fr/2009/11/origine-du-reseau-social.html
28. Modélisation
Comparer un graphe à un modèle idéal
Prévoir la croissance d’un graphe à partir de la configuration actuelle d’un graphe (modèles utilisant des chaînes de Markov) = logiciel SIENA
Simuler la propagation d’un phénomène (une épidémie ou une rumeur) dans un graphe: on parle de « cascade ».
30. LOGICIELS
Packages R: igraph, statnet…
Logiciels dédiés à l’analyse de réseau:
Pajek, Ucinet, Gephi, Tulip, Cytoscape
Cas particulier de l’écologie: Conefor
Il est possible de faire de l’analyse de réseau avec des logiciels de SIG (L’exemple de Qgis).
31. PROCESSUS
Données en entrée:
-Table Origine-Destination
-Attributs des sommets
-Valeurs des liens
En sortie:
-Diagramme noeuds-liens en .svg
-Légende manquante
-Proportionnalité en cas de comparaisons
33. Qgis et l’analyse de réseaux
Package QgIS: mmqgis.
Utiliser une bibliothèque Python, l’exemple de la bibliothèque NetworkX expliqué par Serge Lhomme
http://groupefmr.hypotheses.org/1254
35. Atelier PAJEK
Pajek est un logiciel développé par des mathématiciens slovènes.
Pour le télécharger : http://pajek.imfm.si/doku.php?id=download
Version actuelle : Pajek 3.15
Tutoriels Beauguitte:
http://quanti.hypotheses.org/512/
http://cel.archives- ouvertes.fr/docs/00/56/44/14/PDF/outils_pajek.pdf
Pour une introduction à la mise en forme des données :
http://mrvar.fdv.uni-lj.si/sola/info4/andrej/pajek_short.pdf
39. Mise en forme
En résumé :
Il y a différents moyens de mettre en forme les données
1. Liste de liens _ nom du fichier.net
Origine_1 Destination_1 Destination_2
2. Paires de liens _ nom du fichier.net
Origine_1 Destination_1 + valeur
Origine_1 Destination_2 + valeur
3. Matrice _ nom du fichier.mat
Dans ce dernier format, les liens sont forcément orientés.
Il est possible de transformer les réseaux orientés en réseaux non-orientés avec les options qui sont dans le menu :
> Network/Create New Network/Transform
40. Mise en forme
Vocabulaire :
Vertices (noeuds ou sommets)
Edges (liens non-orientés)
Arcs (liens orientés)
Attributs des sommets :
Il est possible de donner des attributs (ou qualités) aux sommets dans le fichier d’entrée.
Les informations portant sur les coordonnées, la forme ou la couleur des sommets doivent figurer à la suite des labels (entre guillemets) de chaque sommet.
41. Aides à la mise en forme :
Il existe un logiciel pour faciliter la mise en forme: Text2pajek
http://vlado.fmf.uni-lj.si/pub/networks/pajek/howto/text2pajek.htm
Il faut noter dans l’exemple suivant la différence entre réseau two-mode ou bipartite et réseau one-mode.
Voir également le site de Jacques Cellier: http://jacquescellier.fr/histoire/
42. Réseau temporel
*Vertices nombre_de_vertices
1 "label" [x-y] # signale que le sommet 1 est présent du temps x au temps y}
2 "label" [y] # le sommet 2 est présent seulement au temps y
3 "label" [x] # le sommet 3 est présent seulement au temps x
4 "label" [x,z] # le sommet 4 est présent au temps x et au temps z
*Edges
1 3 1 [x] # il existe un lien entre le sommet 1 et 3 au temps x
1 2 1 [y] # il existe un lien entre 1 et 2 au temps y
Voici un exemple de graphe évolutif au format .net :
*Vertices 4
1 "A" [1-4]
2 "B" [1-4]
3 "C" [1-4]
4 "D" [2,4]
*Edges
1 2 1 [1-4]
2 3 1 [2,4]
2 4 1 [2]
3 4 1 [4]
See more at: http://quanti.hypotheses.org/512/
43. Réseau temporel
Ouvrez-le avec Pajek, puis sélectionnez l’option :
> Transform > Generate in time > All du menu « Net »
Indiquez 1 comme first time point et 4 comme dernier
1 comme step
Pajek produit les 4 moments du graphe.
Pour visualiser l’évolution, choisissez « Draw »
(ou le raccourci Crtl+G)
> Options > Previous/Next > Apply to > Network et, en cliquant sur
« Next », les étapes devraient apparaître les unes après les autres.
See more at: http://quanti.hypotheses.org/512/
44. Conversion
Création d’un fichier .mat dans un bloc note (par exemple Notepad++)
Ouvrir le fichier « .mat » à l’aide de la première icône (la valise jaune) de la section « Networks » de Pajek.
Indiquer « Pajek matrices » dans le type de fichier à ouvrir.
Pour avoir des renseignements sur le réseau ouvert, appuyer sur la dernière icône de la section « Networks » (le i bleu) ou bien aller à Network/Info/Général
Pour transformer ce réseau dirigé en réseau non-dirigé, aller à :
Network/Create New Network/Transform/Arcs->Edges
Pour enregistrer ce nouveau réseau sous forme de « Paires de liens » ou fichiers « .net », il faut cliquer sur la deuxième icône de la section « Networks ».
Nommer le fichier « »
Sélectionner « .net » dans le type de fichier à enregistrer et Quitter Pajek.
46. Décryptage
Le nombre de « loops » = nombre de liens réflexifs
Le nombre de ligne multiples = cas où le nombre de lignes entre deux sommets est supérieur à 1.
La densité correspond au rapport du nombre de liens effectifs dans le réseau sur le nombre de liens possibles = le nombre de liens qui pourraient exister dans le réseau si on avait affaire à un réseau complet.
Le degré moyen correspond au nombre moyen de voisins des sommets.
Ces indices ne tiennent pas compte de la valeur des relations!
47. Utiliser Pajek
Dans le logiciel Pajek, les analyses peuvent être effectuées en manipulant 6 catégories ou types d’objets différents :
1. Les réseaux : graphes, valués ou non, bipartites ou non, temporels ou non fichiers .net
2. Les partitions ou propriétés nominales des sommets fichiers .clu
3. Les vecteurs ou propriétés numériques des sommets fichiers .vec
4. Les permutations ou arrangement des sommets
5. Les clusters ou sous-ensemble de sommets
6. Les hiérarchies ou arrangement hiérarchique de clusters et sommets
Astuce pour ne pas se perdre : créer un ensemble de sous-dossiers dans le dossier de travail, chaque sous-dossier doit correspondre à un type de fichier Pajek, soit par exemple: un dossier « mat », un dossier « net », un dossier « clu », un dossier « vec », un dossier « svg ».
48. Un fichier « pour les gouverner tous »
•Le fichier « .paj »
Exemple: world_trade.paj
World trade in miscellaneous manufactures of metal, 1994.
Pour créer un fichier « .paj » depuis l’interface Pajek, aller à:
File/Pajek Project File/Read
Pour créer un fichier « .paj » depuis l’interface Pajek, aller à:
File/Pajek Project File/Save
Toutes les informations permettant de décrire un réseau (liste et position des sommets, liste et propriétés des liens, propriétés des sommets) peuvent être stockées dans des fichiers différents, avec les extensions « .net », « .clu » et « .vec ». Mais elles peuvent également être stockées toutes ensemble dans un fichier de projet unique, avec l’extension « .paj »
See more at: http://quanti.hypotheses.org/512/
49. World trade in miscellaneous manufactures of metal, 1994.
•http://vlado.fmf.uni-lj.si/pub/networks/data/esna/metalWT.htm
•Dataset World_trade
•Description
•Imports_manufactures.net: 80 vertices, 1,000 arcs, no edges, no loops, line values show the value of imports in 1,000 US$. Continent.clu: the countries' continents (1 - Africa, 2 - Asia, 3 - Europe, 4 - North America, 5 - Oceania, 6 - South America). World_system.clu: the countries' structural world system positions in 1994 (1 - core, 2 - semiperiphery, 3 - periphery). World_system_1980.clu: the countries' world system positions in 1980 according Smith and White (1 -core, 2 - strong semiperiphery, 3 - weak semiperiphery, 4 - periphery). GDP_1995.vec: the countries' Gross Domestic Product per capita in US$ in 1995. World_trade.paj: Pajek project file containing all data listed above.
D.A. Smith and D.R. White, 'Structure and Dynamics of the Global Economy - Network Analysis of International-Trade 1965-1980'. In: Social Forces, vol. 70 (1002), p. 857-893
Original author: Wouter de Nooy (denooy@fhk.eur.nl). Data collected and translated into Pajek data files by W. de Nooy, 2001.
50. Opérations: network + Partition
Les partitions de sommets: sous-ensemble disjoints et non-vides de sommets partageant des caractéristiques communes
Une fois que le graphe est partitionné, il est possible de varier la focale ou l’échelle d’analyse :
Se concentrer sur un groupe spécifique de sommets ou individus et les relations qu’ils entretiennent à l’intérieur de ce groupe approche locale
Se concentrer sur les relations entre les différents groupes. Chaque groupe peut être traité comme un sommet une fois que le graphe a été réduit approche globale
Combiner l’approche locale et globale, par exemple en regardant dans le détail comment des sommets ou individus appartenant à un groupe donné s’inscrivent dans le contexte d’ensemble que décrit le graphe approche contextuelle
53. Approche locale
Repérer l’identifiant du continent où se trouve la France en explorant la partition « Continent » à l’aide de l’icône en forme de loupe de la section « Partitions » de Pajek (3ème icône).
Aller à:
> Operations/Network+Partition/Extract SubNetwork ou taper CTRL+E
Et entrer l’identifiant du Continent.
On obtient un nouveau réseau dans la section « Networks» du logiciel. C’est le réseau des échanges entre pays européens (27 sommets).
Il est possible de l’enregistrer à l’aide de l’icône disquette, de l’analyser ou de le visualiser.
54. Exemple extrait du manuel: Exploratory Network Analysis with Pajek, p.37
Liens commerciaux à l’intérieur de l’Amérique du Sud
55. Approche globale
L’approche globale : réduire le graphe des échanges internationaux en graphe des échanges intercontinentaux à l’aide de la partition « Continent»
Sélectionner le réseau « Imports_manufactures » dans la section « Networks » et la partition « Continent » dans la section « Partitions »
Aller à:
> Operations/Network+Partition/Shrink Network
Garder les paramètres par défaut et cliquer sur OK
On obtient un nouveau réseau dans la section « Networks» du logiciel. C’est le réseau des échanges intercontinentaux.
Il est alors possible de l’enregistrer à l’aide de l’icône disquette, de l’analyser ou de le visualiser.
56. Commerce du métal entre continents (imports en millions de $ US)
Exemple extrait du manuel: Exploratory Network Analysis with Pajek, p.39
57. Approche Contextuelle
L’approche contextuelle : réduire le graphe des échanges internationaux en graphe des échanges des pays russes avec le reste du monde
Sélectionner le réseau « Imports_manufactures » dans la section « Networks » et la partition « Continent » dans la section « Partitions »
Aller à:
> Operations/Network+Partition/Shrink Network
Entrer l’identifiant de l’Europe dans la section « Cluster that should not be shrunked » et cliquer sur OK
On obtient un nouveau réseau dans la section « Networks» du logiciel. C’est le réseau des échanges entre pays européens avec le reste du monde.
Il est alors possible de l’enregistrer à l’aide de l’icône disquette, de l’analyser ou de le visualiser.
58. Exemple extrait du manuel: Exploratory Network Analysis with Pajek, p.39
Vue contextuelle du commerce en Amérique du Sud
59. Détection de communauté
Ouvrir la matrice dans la section « Networks »
Aller à:
Network/Create Partition/Communities
Choisir un algorithme de détection de communauté entre la méthode de Louvain ou une variante appelée VoS
On obtient une partition dans la section « Partitions » de Pajek.
Tutoriels:
http://jacquescellier.fr/histoire/site_tdh2/fichiersexemples/detection_ communautes.pdf
http://groupefmr.hypotheses.org/544
62. De l’analyse à la visualisation
Fixer un seuil pour ne conserver que les liens qui sont au dessus d’une valeur significative.
•Aller à:Network/Create New Network/Transform/Remove/Lines with value/Lower than
Mettre le seuil à 20 000 pour ne conserver que les liens d’une valeur supérieure à 20 000
Trouver les composantes: Network/Create Partition/Components/Strong
•Extraire la composante principale (CP): Operation/Network+Partition/Extract Subnetwork/ Entrer l’identifiant de la CP. (Taille de la CP = 19)
Créer une partition « World System» adapté à l’ordre du nouveau réseau:
•Charger la partition « World System» en premier, la partition « Continent » en second
•Utiliser la fonction: Partitions/Extract SubPartition (Second from First) entrer l’identifiant de l’Europe
•Recommencer l’opération avec la composante principale
Créer un vecteur indiquant pour chaque sommet, la valeur qu’il reçoit :
•Aller à Network/Create Vector/Centrality/Weighted Degree/Input et normaliser la valeur
Pour améliorer la lisibilité de la représentation graphique:
•Transformer les arcs bidirectionnels en liens non orientés (somme de la valeur des arcs):
Aller à: Network/Create New Network/Transform/Arcs->Edges/Bidirected only/ Sum values
•Ranger les liens par ordre décroissant: Network/Create New Network/Transform/Sort Line/Line values/Descending
•Normaliser la valeur des liens: Network/Create New Network/Transform/Line values/Normalized/Max
•Enregistrer le réseau dans le dossier /net avec la disquette à partir de la section Networks etc.
63. •Pour visualiser l’information obtenue:
Aller à : Draw/Network+First Partition+First Vector
•Les couleurs des sommets varient selon la sous- partition « World system ».
•La taille des sommets correspond à la valeur du vecteurs.
•Choisir l’algorithme de visualisation :
•Aller à Layout/Energy/Fuchterman Reingold/2D
•Aller à Layout/VOS Mapping/2D
•Pour exporter le graphique depuis l’interface Draw : Aller à Export/2D/SVG/General
La visualisation