Université d’été ferney voltaire 2014 – les réseaux atelier-pajek
-
Upload
marion-maisonobe -
Category
Science
-
view
318 -
download
1
description
Transcript of Université d’été ferney voltaire 2014 – les réseaux atelier-pajek
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
Plan de l’atelier
Introduction à l’analyse des réseaux: http://www.geotests.net/cours/sigma/reseaux/Analyse_de_reseaux_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
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)
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).
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?
Traduction mathématique
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
Reproduction d’un cadastre
Projet MODELESPACE Florent Hautefeuille et Bertand Jouve, Université de Toulouse
Petit Lexique de théorie des graphes • Un graphe G=(V,E) est un ensemble fini et non vide de sommets (ou nœuds) 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/
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.
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
Représentation matricielle
Cordes
Carte de flux
Distance physique
Enjeux: la visualisation des « big data »
Un refrain: éviter « l’effet spaghetti » ou « StarWars »
Le diagramme nœud-lien
Distance relationnelle
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
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.
Exemple de représentation
Source: Matthieu Drevelle, groupe fmr
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.
Exemple de représentation
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.
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.
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.
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.
Small World networks
Source: Watts et Strogatz et http://www.urbagram.net/microplexes/
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
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 ».
En Pratique…
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).
PROCESSUS
Données en entrée:
-Table Origine-Destination
-Attributs des sommets
-Valeurs des liens
En sortie:
-Diagramme nœuds-liens en .svg
-Légende manquante
-Proportionnalité en cas de comparaisons
ENTREE-INPUT
PAJEK CYTOSCAPE
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
Un diagramme nœuds-liens retravaillé
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
bidirected arc
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
Mise en forme
Vocabulaire : Vertices (nœuds 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.
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/
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/
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/
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.
Arcs to Edges
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!
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 ».
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/
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 ([email protected]). Data collected and translated into Pajek data files by W. de Nooy, 2001.
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
Opérations: network + Partition
Source : http://mrvar.fdv.uni-lj.si/sola/info4/andrej/pajek_short.pdf
Créer une partition « .clu »
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.
Exemple extrait du manuel: Exploratory Network Analysis with Pajek, p.37
Liens commerciaux à l’intérieur de l’Amérique du Sud
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.
Commerce du métal entre continents (imports en millions de $ US)
Exemple extrait du manuel: Exploratory Network Analysis with Pajek, p.39
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.
Exemple extrait du manuel: Exploratory Network Analysis with Pajek, p.39
Vue contextuelle du commerce en Amérique du Sud
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
Exemple VoS Pays-Bas
Blockmodelling Exploratory Network Analysis with Pajek
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.
• 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
Draw/Export/Options
Aller plus loin avec :
Ouvrir le fichier vectoriel: « EuropeCP_lienssup20000_worlsyst-weigtedeg-normmax.svg »
Il y a encore du travail…
Epaissir les liens
Protéger l’araignée bloquer le calque sur lequel figure le logo de Pajek
Agrandir les flèches La lettre « g » est l’identifiant permettant de sélectionner les flèches
Agrandir le texte
Dégrader le fond
Entrer la valeur « 50 »
Créer une « Légende »
Ajouter un titre
Copier-coller et évider les cercles
Ajouter les valeurs et le détail
Copier-coller et redresser les liens
Faire pivoter le lien Germany-UK
Ajouter les valeurs et le détail
Décrire l’algorithme et la partition
Enregistrer une copie en pdf
Mission accomplie!