Le tutoriel qui suit est la traduction et adaptation à la dernière version de Gephi, du tutoriel de Martin Grandjean, disponible ici :
INTRODUCTION A LA VISUALISATION DE DONNEES
Un réseau est constitué de deux composantes: une liste des acteurs composant le réseau et une liste des relations entre ces acteurs. Dans le cadre d’un objet mathématique, les acteurs seront alors appelés nœuds et les relations seront désignées par des arêtes.
Dans ce graphe social dirigé simple (1), deux listes sont explicitées. Deux types d’informations sont attachées aux noeuds: des étiquettes (leurs “noms”) et un attribut numérique (ici, une distinction entre les garçons et les filles). Dans la liste des arêtes, les entrées “Source” et “Cible” se réfèrent aux identifiants des nœuds (Id).
(1)
Dans notre exemple, l’attribut détermine la couleur des nœuds. La taille d’un nœud dépend de la valeur de son “degré de centralité” (son nombre de connexions). Les mesures de centralité sont des mesures essentielles pour analyser la position d’un acteur dans un réseau. Ils font partis de nombreuses variables, comme montré ci-dessous (1) (A = degré de centralité, nombre de connexions; B = centralité de proximité, proximité de l’ensemble du réseau; C = centralité de l’interférence, noeuds ponts; D = centralité du vecteur autonome, connexion aux noeuds bien connectés).
(1)
Pour voir différents exemples de visualisations possibles avec Gephi, cliquer ci-dessous :
1. Installation du logiciel
1.1. Téléchargement
Le logiciel peut être téléchargé librement ici :
1.2. Plugins
Afin d’aller au delà des fonctionnalités basiques du programme, nous allons installer quelques plugins supplémentaires. Pour aller dans le menu des Plugins, suivre (1) “Tools” puis “Plugins” puis (2) choisir les plugins “GeoLayout” et “MultimodeNetworkTransformation” dans “Available PLugins” :
(1)
(2)
Enfin cliquer sur “Install”, confirmer et attendre que Gephi redémarre.
1.3.Changer la langue
Vous pouvez changer la langue de Gephi en cliquant sur “Tools” (1), “Language” (2) puis en sélectionnant la langue de votre choix. Pour ce tutoriel nous avons choisi le français (3).
1.4.Jeu de données
Nous allons utiliser deux jeux de données, tous deux différents pour explorer des fonctionnalités diverses :
Il faut les enregistrer en faisant un clic droit sur le lien et “Enregistrer sous” ou “Save as” et entrer les titres avec la terminaison .csv (exemples : “edges1.csv”, “nodes1.csv”…).
Set de données 1 1000 nodes / 14116 edges (mono-modal, dirigé) Set 1 Edges Set 1 Nodes
Set de données 2 110 nodes / 142 edges (bi-modal, non dirigé) Set 2 Edges Set 2 Nodes
2. Cartographier un réseau épistolaire en Europe
2.1. Importer les données dans Gephi
Au démarrage de Gephi, cliquer sur “Nouveau projet” puis dans “Laboratoire de données” (1) cliquer sur “Importer feuille de calcul”(2).
Nodes 1
Dans “Choisissez un fichier CSV à importer:”, sélectionnez le fichier contenant les nœuds que nous avons nommé “nodes1.csv”.
Dans les options générales d’importation, choisir que la séparation entre les colonnes soit exprimée en “point-virgule” (1) et que le fichier soit importé en tant que “Table des nœuds” (2) puis cliquer sur “Suivant >” (3).
Enfin vérifier les informations comme dans l’exemple ci-dessous, puis cliquer sur “Terminer”.
L’étape « Paramètres d’importation » est très importante : Gephi va reconnaitre certaines des colonnes en raison de leurs titres, mais vous aurez toujours à vérifier que le logiciel sera en mesure de comprendre la nature de vos données. Dans notre exemple, assurez-vous d’informer Gephi que les latitudes et les longitudes sont importées comme variable « Double » (et non pas en « Integer »).
Edges 1
Pour les arêtes (edges), suivez la même procédure, mais avec le document téléchargé “edges1.csv”.
Dans les options générales d’importation, choisir que la séparation entre les colonnes soit exprimée en “point-virgule” (1) et que le fichier soit importé en tant que “Table des liens” (2) puis cliquer sur “Suivant >” (3).
Puis vérifier les informations comme dans l’exemple ci-dessous, décocher la case “Créer les nœuds manquant” (1) – nous les avons déjà importés – puis cliquer sur “Terminer”.
Si à un moment du tutoriel des onglets vous manquent, aller voir dans le menu en haut sous “Fenêtre”, choisissez l’onglet à afficher ou “réinitialiser les fenêtres”
2.2. Visualisation graphique mono-modal
Nous allons maintenant travailler dans l’onglet “Vue d’ensemble”. Le programme va produire une vue d’ensemble du graphique, avec une spatialisation aléatoire illisible.
Taille des nœuds
Donnons aux noeuds une taille proportionnelle à leurs degrés (nombre de connexions). Dans le panneau “Aspect” de la colonne de gauche (en haut), sélectionnez “Nœuds” (1) et les cercles enchâssés (2), puis sélectionnez “Attribut” (3). Dans le menu roulant (4), sélectionnez “Degré” et entrez la valeur minimale et maximale (nous proposons 10-100). Enfin cliquez sur “Appliquer” (5).
Vous verrez que la répartition des degrés dans le corpus est comprise entre 3 et 209 : ce qui signifie qu’au moins un noeud est connecté à plus de 200 autres (et que le nœud le moins connecté, est connecté à 3 autres).
Soyez conscient que si vous voulez un résultat visuellement correct, vous devrez utiliser le lien bleue “Spline” pour éditer la forme de la spline: le doublement linéaire du rayon d’un nœud est plus du double de la zone en raison de la fonction d’alimentation.
Spatialisation
C’est la partie principale !
Nous allons commencer par une spacialisation qui donne plus d’espace au graphique mais qui le maintient dans une aire définie : Nous allons utiliser la visualisation de Fruchterman Reingold (1), avec les mêmes valeurs que dans l’exemple, 20.000 – 10 – 10 (2). Cliquez à la fin sur “exécuter”. Cette visualisation dispose les noeuds de manière gravitationnelle (attraction-répulsion, comme si c’était des aimants).
Vous êtes déjà en mesure de distinguer des groupes (les parties les plus densément connectées du réseau). Laissez la fonction se développer jusqu’à ce que le graphique soit stabilisé. Utilisez la petite loupe bleue (en bas à gauche du panneau graphique) pour réajuster le zoom (3).
Ensuite, nous proposons d’utiliser le “Force Atlas 2” (1), un autre algorithme de mise en page, pour disperser les groupes et laisser de l’espace autour des noeuds les plus importants. Attention, les paramètres que vous entrez modifient considérablement l’apparence finale. Nous proposons de cocher “Empêcher le Recouvrement” (1) et modifiez “Tolérance (vitesse)” sur 50.0. Laissez la fonction se développer en cliquant sur “Exécuter” (4), jusqu’à ce que le graphique soit stabilisé, puis cliquez sur “Arrêter”.
Nous pouvons appliquer Force Atlas 2 directement sans appliquer Fruchterman Reingold avant, mais comme la “disposition aléatoire” à partir du début est une … mise en page aléatoire, il est préférable de modifier le réseau avant de le transmettre à un puissant algorithme de force.
2.3. Techniques de rendu final et de centralisation
Degré pondéré – Weighted Degree
Ajoutons de nouvelles informations à notre graphique en donnant de nouveaux attributs aux nœuds, ce qui influencera leur couleur. Dans le Laboratoire de données, sélectionnez les liens (2), et trier les par “Weight” – poids (1). Certains liens ont un degré de 3, certains 2 et certains 1. Cela signifie qu’il faut prendre ces différences en compte pour calculer le degré pondéré de certains liens. On peut aussi constater que ce graphique est dirigé: les liens ont une source et une cible. Ces directions sont caractérisées par des flèches dans l’onglet “Vue d’ensemble”.
Dans l’onglet “Statistiques” (1), cliquez sur “Degré pondéré” et “Exécuter” (2) pour calculer les valeurs de chaque nœud. On obtient un rapport montrant la distribution de ces mesures.
Maintenant que ces valeurs sont calculées, de nouveaux attributs sont disponibles dans le tableau de classement. Sélectionnez l’icône “couleur” (1) et choisissez “Degré pondéré” (2) pour colorer les noeuds en fonction du nombre de liens entrants. Petit conseil visuel : utilisez une couleur foncée pour de petites valeurs et une couleur claire pour les noeuds fortement connectés, afin de rendre les petits noeuds plus visibles sur le graphique final (les noeuds fortement connectés sont généralement plus visibles d’emblée).
Résultat : les plus grands noeuds (= avec un degré élevé) ne sont pas toujours ceux avec le plus haut degré pondéré. Ainsi, si l’on considère un lien comme une lettre écrite entre 2 personnes, ceux qui écrivent beaucoup ne sont pas nécessairement ceux qui reçoivent beaucoup. Il est intéressant de donner différents attributs à la taille et à la couleur des nœuds, pour les comparer. Bien sûr, vous pouvez exporter ces données pour effectuer une analyse statistique complète, des diagrammes de dispersion, etc. (les mesures que vous faites sont automatiquement ajoutées à votre table de noeuds). Notez que si vous avez utilisé le “spline” pour ajuster la taille des nœuds avant, ce paramètre est toujours utilisé par défaut ici et devrait être modifié (sans interférer avec votre choix précédent pour la taille).
Mettre des étiquettes aux nœuds
Nous reviendrons à des mesures et fonctionnalités supplémentaires plus tard. Essayons maintenant de finaliser notre création en donnant une étiquette aux noeuds. En bas à droite de l’affichage graphique, vous trouverez un petit panneau qui vous permet de développer un nouveau panneau (1).
Dans “Labels” (1), choisissez “Noeud” (2) pour leurs ajouter des étiquettes puis en définir la police, la couleur et la taille.
Si nécessaire, par exemple si vos données n’ont pas de colonne “Label”, cliquez sur le symbole de configuration (3) pour définir le contenu de la colonne que vous souhaitez afficher.
Finaliser le graphique
Passez dans le menu “Prévisualisation” pour arranger les détails finaux. Contrairement aux étapes précédentes, la modification des paramètres dans ce menu est réversible et n’affecte pas la structure du graphique.
Dans les captures d’écran ci-dessous, vous trouverez une suggestion de paramètres pour un bon rendu (comme le réglage de l’opacité des liens à 70% pour un meilleur contraste avec les noeuds). Soyez conscient qu’en raison de sa grande taille, le graphique peut prendre quelques secondes pour se mettre à jour après chaque changement (cliquez sur “Rafraîchir” pour appliquer les modifications). À propos des liens courbes: en tant que convention graphique, nous utilisons des lignes courbes pour montrer la direction du lien, toujours tourné dans le sens des aiguilles d’une montre. Les lignes non courbes sont généralement des graphiques non dirigés.
Au bas de cette colonne d’aperçu, vous trouvez un lien d’exportation (3). Notez que l’exportation dans .png produit une figure avec une résolution médiocre. Vous voudrez peut-être opter pour .svg ou .pdf, qui ont l’avantage d’être modifiables par votre propre logiciel de traitement d’image (je recommande le programme open source inkscape pour manipuler des fichiers .svg).
Modularité
La visualisation n’est qu’une étape, l’analyse de réseau nécessite souvent d’autres moyens mathématiques pour fournir au chercheur un résultat satisfaisant. N’hésitez pas à explorer le menu “Statistiques”, par exemple en jouant avec les mesures de degré, la densité, la modularité.
Un réseau contient des subdivisions internes appelées “communautés”. Il existe des méthodes qui permettent de mettre en évidence ces communautés, elles fonctionnent par la comparaison entre la densité des liens dans un groupe et entre le groupe et le reste du réseau (plus ici – en anglais). Dans la colonne de droite de la page “Vue d’ensemble” (1), cliquez sur “Statistiques” (2) “Modularité” “Exécuter” (3) pour afficher la fenêtre de modularité. Choisissez une résolution entre 0,1 et 2 (4), cliquez sur OK et fermez la fenêtre qui s’ouvre.
La prochaine étape se déroule dans le menu “Aspect”(1) situé dans la colonne de gauche. Sélectionnez “Nœuds”(2) puis la palette de peinture (3), “Attribut” (4) et enfin “Modularity Class” (5) (dans le menu déroulant). Vous pourrez alors modifier les couleurs attribuées aux communautés détectées en cliquant dessus (6). N’hésitez pas à répéter cette opération avec beaucoup de résolutions ! N’oubliez pas qu’il faut à chaque changement cliquer sur “Actualiser”.
Centralité intermédiaire
La centralité intermédiaire mesure tous les chemins les plus courts entre chaque paire de noeuds du réseau puis compte combien de fois un noeud se trouve sur le chemin le plus court entre deux autres. C’est une mesure très intéressante dans le cas d’un réseau de lettres envoyées et reçues car il permet au chercheur de détecter des personnes qui occupent une position intermédiaire entre deux autres personnes ou groupes. Dans le panneau de statistiques, cliquez sur “Diamètre”, “Exécuter”(1). Puis dans “Aspect”, “Noeuds”, “Attribut”, dans le menu déroulant choisir “Betweeness Centrality” (2).
Comme vu avec “Weighted In-Degree”(Degré pondéré), trouvez un moyen coloré de mettre en évidence les nœuds qui possèdent une centralité élevée. Il apparaît rapidement que les noeuds à degré élevé / pondéré n’ont pas toujours une grande interférence.
2.4. Agencement géographique
Pendant l’importation, vous avez remarqué que chaque nœud a reçu une latitude et une longitude. Le plugin Geo Layout vous aidera à afficher les nœuds de manière géographique. Dans le panneau Prévisualisation, sélectionnez Geo Layout (1) et donnez-lui une échelle de 20 000. Assurez-vous que le plugin comprend correctement ce «Latitude» comme «Latitude» et «Longitude» en tant que «Longitude» et définissez la projection sur «Mercator» (3) (cette projection devrait être adaptée à la carte que vous utiliserez après).
Comme les nœuds sont maintenant regroupés sur des données géographiques, vous devrez leurs donner un peu d’espace : utilisez le plugin de mise en page “Noverlap” ou “Déchevauchement” (1) pour éviter leur chevauchement (une marge de 5.0 est suffisante avec l’échelle de carte choisie).
Dans le panneau Prévisualisation, vérifiez l’apparence finale de votre création et exportez-la en .svg. Vous pourrez ensuite l’importer sur une carte de fond. Si vous êtes familier avec Inkscape, téléchargez la carte fournie ici (créée pour correspondre à l’échelle choisie et à la projection de Mercator). Ouvrez-la et, après avoir importé votre réseau, sélectionnez le calque des noms de villes et mettez le au premier plan pour qu’il soit lisible.
Pour télécharger la carte, faire clic droit sur le lien puis “Enregistrer sous” et la nommer “mapbase.svg” Lien vers la carte
3. Les communautés et leurs membres
3.1 Importer les données dans Gephi
Créer un “Nouveau projet” dans la fenêtre de démarrage. Nous allons travailler avec un type de données différent : un réseau bi-modal (2 types de nœuds, communautés et individus). Dans le Laboratoire de données, cliquer sur Importer feuille de calcul pour ouvrir la fenêtre et importer votre premier fichier.
Nodes 2
Indiquez que la séparation entre vos colonnes est exprimée par un point-virgule (1) et n’oubliez pas d’informer Gephi que le fichier que vous importez contient des nœuds (2). Ensuite, appuyez sur “suivant >”.
Remplissez le formulaire de configuration d’importation tel que proposé. Informer Gephi que notre variable “Cat” est une “Chaîne” (1) (cette variable sera utile pour séparer “membres” et “institutions” dans une autre étape).
Edges 2
Suivez la même procédure, mais avec le fichier “edges 2” téléchargé auparavant. Remplissez les formulaires de la manière suivante : spécifiez le point-virgule (1) et informez Gephi que vous importez des liens (2).
Remplissez les champs comme ci-dessous et décochez “Créer les nœuds manquants” (1), car vous les avez déjà importés.
3.2 Visualisation bi-modale
Taille des nœuds
Dans l’onglet “Vue d’ensemble” (1), Aspect (2), Nœuds (3), le symbole des cercles enchâssés (4) est sous “attribut” (5), donnez une taille à vos nœuds (ici, selon leur degré entre 10-50) (6). Dans un réseau bi-modal, le degré de centralité peut ne pas être une valeur très intéressante en raison du biais structurel apporté par les deux catégories différentes de noeuds : dans notre cas, les “institutions” seront naturellement beaucoup plus connectés que les “membres”. Mais dans cette première étape, nous essayons simplement de distinguer visuellement les deux catégories.
Couleur des nœuds
Dans le même onglet, cliquer sur la palette (1). Donnez une couleur très différente aux deux catégories et appliquez-les sur votre réseau.
Définir une mise en page
Déployez le réseau à l’aide de l’algorithme Force Atlas 2 (Empêchez le chevauchement du noeud et l’ajout à 50). Votre graphique est maintenant lisible visuellement et ressemble très bien à de nombreux réseaux d’organisations.
Pour de nombreux chercheurs, cette visualisation sera déjà suffisante pour effectuer leur analyse. N’oubliez pas d’afficher l’étiquette des nœuds si nécessaire.
3.3 Projection en graphique mono-modal
Utilisez l’onglet de projection MultiMode Networks (disponible via le plugin que vous avez téléchargé à l’étape 1.2) et cliquer sur “Load attributes” (1). Vous allez maintenant «projeter» les “Institutions” sur les “Membres”: si deux membres ont un lien avec la même institution, il y aura maintenant un lien direct entre eux (et l’institution sera évacué).
Sélectionnez le type d’attribut approprié (“Cat”) et définissez la matrice telle que proposée ici (Member-Institution / Institution-Member) (2). Ils doivent être symétriques avec le type de nœud que vous souhaitez conserver au début et à la fin.
Vérifiez les boutons “Remove Edges” et “Remove Nodes”, afin de nettoyer le graphique des anciens noeuds et arêtes “Comités”. Et enfin cliquez sur “Run” (3).
Notez que vous pouvez également projeter les Membres sur les Institutions, avec le résultat présenté ci-dessous (les bords deviendrait plus importants si de nombreux membres étaient connectés dans les mêmes comités).
3.4 Mesure de centralité et mise en page
Taille des nœuds
Calculez la nouvelle centralité en degré des nœuds en cliquant, dans l’onglet statistique (1) sur “Degré pondéré” (2).
Dans le tableau de classement, appliquez cette nouvelle mesure aux nœuds, comme proposé ici (1). Le nouveau degré peut être très différent du degré dans le réseau bi-modal original: une projection augmente beaucoup d’arêtes (en particulier lorsque beaucoup de noeuds sont connectés à quelques nœuds très centraux de l’autre type).
Couleur des nœuds
Dans le panneau statistique (1), cliquez sur «Diamètre» (2) pour calculer la centralité entre vos noeuds – Betweenness Centrality.
Ensuite, utilisez cette mesure pour colorer les nœuds. Dans un tel réseau de personnes travaillant dans différents comités/institutions/entreprises, savoir qui est à l’intersection de deux groupes peut être très important pour les agents des RH, i.e..
Couleur des arêtes
Afin de mettre en évidence les arêtes pondérés, on va leur donner une couleur qui rendra les bords plus forts et plus visibles dans l’affichage final (suggéré ici: noir pour toutes les arêtes supérieures à 1).
Disposition
Disposons le graphique une fois de plus car il a conservé les positions des nœuds avant la projection de bi-modale à mono-modale. Mettons le en place avec Force Atlas 2 (1) et les paramètres ci-dessous (2).
3.5 Mise en valeur des entités voisines
Ce type de réseau est bien adapté à une analyse “Linkedin”: Qui est dans mon réseau? Qui sont les gens que je pourrai atteindre à travers eux (quelles sont leurs propres connexions)?
Cliquez sur l’icône “couleur” (1), en haut de la zone “Graphe”, et jouez avec les outils de ce menu. Préparez d’abord les «voisins des voisins» (2) (après avoir donné une couleur neutre à tous les noeuds), puis les «voisins» (2) d’un noeud sélectionné (3). Dans notre exemple, le noeud rouge, membre d’un seul comité, est directement connecté à 12 collègues, qui sont eux-mêmes connectés à 63 autres personnes.
lien “set2 Nodes” ne fonctionne pas (erreur 404)
Sinon très bon tuto.
Merci
Merci, c’est corrigé.
Si je veux représenter graphiquement 3 variables (Production de chaque pays par années) càd il y a trois variables : Années , Pays , Chiffre de production
Merci infiniment