Analyse de réseaux (3): s’il vous plaît… dessine-moi un réseau

Mis en avant

 » – Dessine-moi un mouton. » Alors j’ai dessiné. Il regarda attentivement, puis: « – Non! Celui-là est déjà très malade. Fais-en un autre. » Je dessinai : […] « – Tu vois bien… ce n’est pas un mouton, c’est un bélier. Il a des cornes… » Je refis donc encore mon dessin. Mais il fut refusé, comme les précédents […] Alors, faute de patience, comme j’avais hâte de commencer le démontage de mon moteur, je griffonnai ce dessin-ci. […] « – C’est tout à fait comme ça que je le voulais ! »

                      Le Petit Prince, Antoine de Saint-Exupéry, Chapitre II

Après avoir exploré très succinctement quelques possibilités et limites de l’analyse des réseaux, nous commençons une série d’articles consacrée au travail sur sa propre base de données.

En supposant que la base de données soit déjà créée et bien ordonnée, la première étape du travail est la visualisation de réseaux. C’est une étape cruciale pour comprendre ses données, mais aussi un enjeu important pour la diffusion de sa recherche, et qui comporte plus de risques qu’il n’y paraît. Des dessins radicalement différents peuvent correspondre au même graphe: lequel choisir ?

Il est parfois tentant d’adopter une démarche un brin naïve face à la représentation de notre réseau. Se contenter de choisir l’affichage par défaut minimise la peine, à défaut d’être toujours adéquat. Choisir le plus beau rendu visuel est également un travers séduisant.

Mais le risque le plus grave est ce que j’appellerai le « syndrome du Petit Prince »: demander à ce que le dessin soit fait et refait, jusqu’à ce qu’il apparaisse sous les traits dont nous rêvions, jusqu’à qu’il laisse assez de place à notre imaginaire pour qu’il puisse être interprété comme nous le voulions.

Il est toujours tentant, quand une multiplicité de représentations graphiques est possible, de sélectionner celle qui semble le plus manifestement aller dans le sens de nos hypothèses de départ, celle qui ressemble le plus à l’idée que nous nous étions faites de nos données.

Pour éviter tous ces écueils, nous livrons ici quelques éléments importants pour la construction d’une représentation graphique compréhensible, attrayante, mais avant tout fidèle à nos données.

PARENTHESE TECHNIQUE: LE LOGICIEL GEPHI

  • Pourquoi Gephi ?

Nous choisissons de présenter ici un logiciel développé depuis 2008 à l’université technologique de Compiègne (UTC), et dont l’usage s’impose de plus en plus dans la recherche française et internationale ces dernières années: Gephi. Relativement facile à prendre en main, ce logiciel offre néanmoins de vastes possibilités, en particulier en termes de visualisation.

Il traite tous les types de réseaux, dirigés, non dirigés ou mixtes, et est compatible avec Windows, Linux et Mac OS. C’est de surcroît un logiciel libre, publié sous licence CDDL + GNU GPL 3.

Attirons l’attention sur la version de Gephi utilisée: les changements intervenus entre Gephi 0.8.2 et Gephi 0.9.1 (celle dont nous parlerons) n’ont pas été sans conséquences, notamment en ce qui concerne les plugins. Certains tutoriaux et cours produits pour les versions antérieures ne sont donc plus toujours valables – les suivre à la lettre pouvant provoquer quelques bugs mineurs.

  • Travailler ses données sous Gephi

Gephi supporte des données à différents formats. Le GEXF (Graph Exchange XML Format) est le format développé depuis 2007 par l’équipe Gephi,

Une base de données au format gexf – exemple des la base « Les Misérables »

Notons que ce format permet de décrire explicitement dès l’encodage le caractère dirigé ou non des liens, d’assigner des labels, et d’attribuer des pondérations.

Mais le logiciel accepte bien d’autres formats: GraphML, GraphViz DOT, Netdraw VNA, PajekNET, GDF, GML, Tulip TLP, UCINET DL.

Plus simplement encore il est possible d’importer des fichiers .csv créés sous Excel, OpenOffice Calc ou autre tableur standard. Un simple tableau à deux colonnes – première colonne nœud d’origine, deuxième colonne nœud d’arrivée du lien – peut donc être exploité pour modéliser son réseau dirigé ou non.

  • Manipulations esthétiques et d’étiquetages

Via le menu du bas, minimisé par défaut, on peut appliquer la plupart des variations simples.

Dans l’onglet « global », on permet de changer le zoom ou la couleur du fond. Dans les onglets suivants, on peut modifier les options d’affichage des nœuds et des liens (leur couleur, leur forme, leur épaisseur etc.). Gephi permet par ailleurs d’étiqueter chacun des nœuds – une option activable et configurable sur le même menu.

CHOISIR LA MISE EN FORME DE SON RÉSEAU: LA SPATIALISATION

Une étape cruciale est le choix de la spatialisation, (en anglais du « layout ») c’est à dire de la manière dont l’ordinateur va organiser les points dans l’espace.

Plusieurs options sont proposées dans GEPHI, et doivent être choisies en fonction de ses données et de l’usage que l’on veut faire de la représentation graphique. Nous présentons ici quelques options usuelles, installées par défaut ou accessibles via des plugins spécifiques.

Pour illustrer la grande variété des représentations graphiques, nous utiliserons systématiquement la même base de données (une base de données exemple de Gephi, retranscrivant les liens unissant entre eux les personnages des Misérables de Victor Hugo – son contenu est parfaitement indifférent pour notre propos du moment, nous ne commenterons bien sûr pas les résultats…).

Rapport d’import renvoyé par GEPHI à chaque importation d’une nouvelle base de données – ici pour la base de données exemple « misérables.gexf »

Une base de données de taille particulièrement modeste, qui permet d’appliquer aisément tous les traitements que nous voulions présenter.

Tout répartir au hasard ?

  • Spatialisation aléatoire

Une possibilité pour ne pas « projeter » son interprétation sur ses données, de ne pas imposer de vues au lecteur du graphique, pourrait être de demander à ce que les points soient répartis « au hasard » sur le graphique.

C’est ce que propose l’option « spatialisation aléatoire ». On n’y définit que la taille de l’espace alloué à la représentation graphique (plus l’espace défini est petit, plus le dessin apparaîtra « compact »).

Notre réseau exemple spatialisé avec l’algorithme Spatialisation aléatoire

Si séduisante puisse-t-elle paraître d’un certain point de vue, cette option aboutit cependant à des graphiques souvent impossibles à interpréter, en particulier lorsque la taille du réseau augmente.

Représenter un réseau ayant une « réalité » géographique:

Le cas le plus simple intervient quand le réseau que l’on veut représenter correspond à une réalité physique en général, géographique en particulier. Dans ce cas, les distances entre points sont une fonction de la distance physique séparant chaque point du réseau. Comme toujours en cartographie, le choix de la projection peut bien sûr influer su le regard.

  • Geo Layout

Demande l’installation du plugin GeoLayout.

On entre une base de données dans laquelle les nœuds sont définis par leurs coordonnées géographiques (longitude/latitude). Les points sont alors positionnés en fonction de ces points – les projections les plus usuelles, comme Mercator, étant bien sûr envisageables.

La faible complexité de cette opération permet l’usage de très grandes bases de données (jusqu’à 1.000.000 de nœuds).

  • Map of countries

Demande l’installation du plugin Map of Countries.

Reprenant une grande partie du fonctionnement du plugin précédent, Map of countries permet sans surprise de représenter son réseau sur une carte incluant les tracés des frontières nationales ou régionales.

Mettre en avant les complémentarités: les algorithmes basés sur les forces

La plupart des algorithmes proposés par GEPHI sont des algorithmes de dessin basés sur les forces (Force-directed ou Force-based algorithms).

L’intuition sous-jacente à ces algorithmes est simple: les points reliés entre eux sont attirés les uns envers les autres, tandis que les points isolés sont repoussés. Un mode de pensée inspiré de la physique de l’électro-magnétisme.

  • ForceAtlas:

C’est un des algorithmes « maison » de Gephi, créé par Mathieu Jacomy en 2007.

Il est pensé pour mettre en valeur les réseaux « petit monde » (pour un rappel sur ces réseaux, voir notre premier billet de cette série), et de manière plus générale, les réseaux invariants d’échelle (« scale-free network »).

Notre réseau exemple spatialisé avec l’algorithme ForceAtlas, paramètres par défaut sauf « force de répulsion = 2000.0 »

On prendra garde à la configuration précise de l’algorithme, notamment à celle des forces d’attraction et de répulsion. Une force de répulsion trop faible (ou une force d’attraction trop grande) risque d’aboutir à des superpositions malvenues, et de rendre le graphique illisible.

Notre réseau exemple spatialisé avec l’algorithme ForceAtlas, paramètres par défaut – en particulier avec  « force de répulsion = 200.0 »

L’auteur recommande un usage pour des données ne dépassant pas 10.000 nœuds, du fait de la complexité quadratique de l’algorithme, et du temps de calcul qu’elle engendre.

  • Yifan hu proportionnal

Pour traiter de plus grandes bases de données, on pourra se tourner vers l’option « Yifan Hu proportionnal », du nom d’un chercheur de Yahoo! research qui a produit des travaux remarquables sur la visualisation de grands réseaux, dont on utilise ici un algorithme de 2005. On se référera par ailleurs avec bonheur à sa récente revue de littérature co-écrite avec Lei Shi [2015] pour mieux comprendre l’état actuel des débats sur la visualisation de grands réseaux.

Cet algorithme permet l’exploitation de réseaux allant jusqu’à 100.000 nœuds

Notre réseau exemple spatialisé avec l’algorithme Yifan Hu proportionnel

On note également Force Atlas 2, un autre algorithme spécifique à Gephi, qui utilise certains mécanismes d’approximation similaire pour traiter de très grandes bases de données.

  • Fruchterman Reingold

Pour une base de données peu importante, on pourra choisir l’option « Fruchterman Reingold » d’après l’algorithme de ces deux auteurs [1991].

Notre réseau exemple spatialisé selon l’algorithme de Fruchterman & Reignold (1991) sous Gephi

Une visualisation devenue classique, mais un algorithme d’une complexité importante, qui la disqualifie pour l’étude de grands réseaux.

Une barre d’attente à laquelle il faut s’habituer lorsque l’on utilise cet algorithme avec des données un peu conséquentes…

Insister sur les divisions:

  • Open ord

Open Ord est un algorithme pensé pour décrire des réseaux qui ne seraient pas des petits mondes, et dont on voudrait mettre en avant les différents groupes (clusters) constituant. S’inspirant de Fruchterman-Reingold, qui devient ici un cas particulier des traitements possibles, l’algorithme cherche aussi à s’affranchir de la complexité quadratique inhérente aux modèles « force-based » que nous venons d’évoquer.

Une idée maîtresse pour cet algorithme est de permettre de couper certains liens les plus longs (dans la représentation graphique s’entend) – ce qui augmente l’allure « découpée » du dessin. Le paramétrage de l’option « edge-cut » permet de définir à partir de quelle longueur il est tolérable de couper. La valeur est comprise entre 0, ce qui donnerait dans ce cas le même résultat qu’avec Fruchterman-Reingold, et 1 (niveau qui maximisera le partitionnement visuel des données).

Notre exemple de réseau spatialisé avec Open Ord – edge cut: 0.20

Faire varier cette valeur donne évidemment des graphiques significativement différents.

Notre exemple de réseau spatialisé avec Open Ord – edge cut: 0.95

Ces visualisations ont pour intérêt une certaine clarté, et une bonne capacité à traiter des grandes bases de données. Elles sont toutefois à manier avec précaution.

L’accroissement des distances physiques entre les points donnent l’illusion que certains sont très éloignés, quand la distance qui les sépare dans le graphe est en réalité assez courte. Elles sont par conséquent à réserver à des cas où la séparation du réseau en différents clusters très distincts est véritablement nette et significative.

Privilégier l’ordonnancement des individus selon un critère d’intérêt

Plus qu’au tracé du réseau lui-même, on peut s’intéresser aux places relatives de chacun des nœuds selon un critère particulier. Peu m’importe qui échange avec qui, je m’intéresse ici à qui échange le plus avec les autres, ou qui est le plus central dans les échanges entre individus de mon réseau.

Ces options permettent des visualisations relativement spectaculaires – et c’est bien là leur valeur. En dehors de tout petits réseaux, le tracé du réseau devient illisible. L’information véhiculée par le graphique n’excède alors plus celle qu’aurait donné un tableau ordonnant les individus selon le critère d’intérêt.

  • Circular

Demande l’installation du plugin Circular Layout.

La logique globale de cet algorithme est plutôt simple: on trace un cercle, sur lequel on projette chacun des nœuds, en les ordonnant selon un critère défini par l’utilisateur: du plus haut au plus bas degré par exemple, ou du plus central au moins central…

Notre exemple de réseau spatialisé avec Circular, en choisissant d’ordonner les nœuds par degrés décroissant.

  • Radial Axis

Demande l’installation du plugin Circular Layout.

Là encore, un définit un critère d’intérêt (degré, centralité…), mais au lieu de représenter les nœuds sur le cercle, on les représente sur des axes qui « rayonnent » autour du cercle. Sur chaque axe, on regroupe les individus possédant au même niveau le critère d’intérêt (même degré, même centralité, etc.).

Notre exemple de réseau spatialisé avec Circular, en choisissant d’ordonner les nœuds par degrés décroissant.

Ces deux algorithmes sont d’une complexité limitée (0(n)) , et permettent donc le traitement de grandes bases de données.

VERS UNE ANALYSE MATHÉMATIQUE 

Les possibilités de visualisation d’un réseau sont extrêmement larges, et les graphiques obtenus fondamentalement différents. Il convient donc de se poser les bonnes questions quant à la conception d’un graphique, pour faciliter sa lecture et non la manipuler. Et il convient surtout de passer, une fois la visualisation faite, à une autre étape: celle de l’analyse à proprement parler, qu’aucun graphique ne peut remplacer. Ce sera bien sûr le thème du prochain billet de cette série.

Bibliographie

BASTIAN M., HEYMANN S., JACOMY M. (2009). « Gephi: an open source software for exploring and manipulating networks »International AAAI Conference on Weblogs and Social Media.

FRUCHTERMAN, Thomas M. J,  REINGOLD, Edward M. (1991), « Graph Drawing by Force-Directed Placement », Software – Practice & Experience, Wiley, 21 (11): 1129–1164

MARTIN S., BROWN W.M., KLAVANS R., BOYACK K., (2011)  « OpenOrd: An Open-Source Toolbox for Large Graph Layout« , SPIE Conference on Visualization and Data Analysis, 2011

HU Yifan, LEI Shi, « Visualizing Large Graphs« , (2015)  Wiley Interdisciplinary Reviews: Computational Statistics, Volume 7, pages 115-136.

Florian CAFIERO

Ancien élève de l'Ecole Normale Supérieure, Florian Cafiero enseigne les méthodes quantitatives appliquées à la philologie à l'Ecole nationale des chartes, ainsi que les humanités numériques à Paris Sciences et Lettres (PSL).

More Posts

Follow Me:
TwitterLinkedIn

L’ascension des Médicis – analyse des réseaux (2)

Dans ce deuxième billet consacré à l’analyse des réseaux, nous nous intéressons à un exemple intéressant d’application de la théorie des réseaux aux sciences humaines. L’article dont nous parlerons ici, publié en 1993 par Padgett et Ansell, pose une question à laquelle beaucoup pensaient savoir répondre: pourquoi les Médicis ont-ils réussi à s’imposer à Florence, face à des familles et clans tout aussi puissants qu’eux ? A travers cet article et les développements qu’il a suscité (notamment dans Jackson, 2008), nous explorerons quelques aspects fondamentaux de l’analyse des réseaux en sciences humaines: la diversité de la nature des liens, la notion de centralité et ses différentes variations etc.

Le pouvoir à Florence au Quattrocento

Le pouvoir des Médicis sur la cité florentine s’établit au début du XVe siècle grâce à Cosimo de’ Medici (1389-1464), dit aussi Cosme l’ancien. Leur ascension peut initialement paraître surprenante, les Médicis étant une famille objectivement moins puissante que bien d’autres familles de l’oligarchie alors au pouvoir.

Portrait de Cosimo Il Vecchio de Medici - Agnolo Bronzino (~1565/1569), Galerie des Offices, Florence

Portrait de Cosimo Il Vecchio de Medici – Agnolo Bronzino (~1565/1569), Galerie des Offices, Florence

Les Strozzi, par exemple étaient à la fois plus riches, et plus puissants politiquement, possédant notamment plus de sièges dans les instances législatives.

Une interprétation souvent avancée pour expliquer ce phénomène est d’ordre socio-économique. Les Médicis auraient incarné une classe « moyenne » et marchande, face aux familles plus riches, et surtout à la richesse plus ancienne. Pourtant d’après cet article, la richesse des soutiens des Médicis, et l’évolution de celle-ci, ne se distingue pas de celles des soutiens des oligarques. De surcroît, la richesse des Médicis aurait été tout à fait comparable à celle de ces rivaux oligarques. L’explication par une sorte de guerre des classes ne semble donc pas si probante.

« It’s the network stupid ! »

L’article de Padgett and Ansell tente donc une explication alternative de ce fait étonnant par l’analyse des réseaux. Le succès des Médicis, menés par celui qui deviendra le pater patriae, viendrait de leur position centrale dans un réseau de relations économiques, politiques et matrimoniales.

Pour examiner en détail les réseaux d’influence des Médicis, les auteurs encodent séparément différents types de liens entre les familles: immobiliers, matrimoniaux, commerciaux et bancaires. Plusieurs graphes sont ainsi créés séparément puis superposés.

Structure des relations entre 92 "familles" florentines

Structure des relations entre 92 « familles » florentines

Une pratique dont la trivialité n’a d’égal que l’utilité. Ceci permet d’effectuer aussi bien des analyses synthétiques que plus détaillées quant aux liens unissant les différentes familles florentines.

Une analyse rapide fournit assez rapidement des résultats. Si l’on ne fait que compter les relations qu’entretiennent les Médicis avec d’autres familles, on remarque déjà que leur réseau est un peu plus étendu que celui de leurs rivaux. Par exemple, les Médicis arrivent en tête du nombre de mariages conclus avec d’autres familles.

Pour autant, leur domination en la matière n’est pas absolue, ce nombre dépassant d’environ 50% celui des alliances matrimoniales des Guadagni ou même des Strozzi. Suffirait-elle à expliquer l’irrésistible ascension de cette famille ? C’est dur à croire.

De l’importance d’être central

Ce que montre l’analyse des auteurs, c’est que les Médicis doivent moins leur pouvoir à une fortune ou à un nombre de relations différents des autres qu’à l’agencement même de ces relations.

Il existe ainsi une différence majeure entre les soutiens des oligarques et ceux des Médicis. Les premiers se connaissent majoritairement entre eux, et entretiennent des relations de différents types. Des relations complexes à gérer, qui ont pu générer ou exacerber rivalités et conflits d’intérêts.

A l’inverse, les différents soutiens des Médicis n’entretiennent que peu de liens entre eux. Ils ont besoin des Médicis pour accéder aux autres membres du réseau de soutien à cette famille. De surcroît, ces soutiens n’ont pas n’ont plus de connexions directes aux oligarques: ils doivent également passer par les Médicis pour s’adresser à eux.

Dans son livre de 2008, Matthew Jackson propose d’analyser ce phénomène en termes de centralité,  plus précisément de centralité d’intermédiarité (betweenness centrality).

Soit P(ij) le nombre de « plus courts chemins » entre deux familles i et j. Soit Pk(ij) le nombre de ces plus courts chemins passant par la famille k. Plus Pk(ij) est élevé par rapport à P(ij), plus on peut considérer que la famille k est un intermédiaire crucial pour les relations entre les familles et j.

Pour déterminer l’importance qu’a une famille (ou un noeud en général) pour connecter d’autres familles entre elles au sein d’un réseau, on calcule la moyenne de ces Pk(ij) pour toutes les familles i et j du réseau.

La centralité d’intermédiarité se calcule donc tout bêtement ainsi:

centralite-dintermediarite

Reprenant les bases de données utilisées par Padgett et Ansell, Matthew Jackson calcule ainsi cette centralité de la famille Médicis au sein de son réseau: 0.522 ! En d’autres termes, les Médicis sont plus de la moitié du temps sur le plus court chemin entre deux grandes familles florentines de leur réseau !

 Les Guadagni, qui arrivent seconde famille la plus influente selon cette mesure, obtiennent un score plus de moitié moindre (0.255). Quant à la centralité d’intermédiarité des Strozzi, elle dépasse péniblement les 10% (0.103).

Conclusions méthodologiques

Sans revenir sur le contenu scientifique de cet article, on retiendra deux points méthodologiques importants:

  • Dès l’encodage de la base de données, il est important de relever les différents types de liens pouvant unir les individus. Contrairement aux réseaux en mathématiques, ou parfois en physique, la notion de lien est, dans nos disciplines, avant tout métaphorique, et peut regrouper des réalités disparates. Il convient d’en être conscient, et de se laisser les moyens d’étudier séparément les différents types de lien – quitte à effectuer des regroupements ex post.
  • Dans l’analyse d’un réseau, la forme du graphe et ses propriétés peuvent être tout aussi importantes, voire plus importantes, que des résultats de base comme le nombre de liens associés à un nœud. L’importance des Médicis ici n’est pas tant manifeste à travers l’étendue de leur réseau que par la forme même de ce réseau. Un aspect qu’il est donc crucial de ne jamais négliger.

Bibliographie:

JACKSON Matthew O., Social and Economic Networks, Princeton University Press, 2008

PADGETT John F., ANSELL Christopher K., « Robust Action and the Rise of the Medici, 1400-1434. « ,  American Journal of Sociology, 98-6, 1259-1319, mai 1993

Florian CAFIERO

Ancien élève de l'Ecole Normale Supérieure, Florian Cafiero enseigne les méthodes quantitatives appliquées à la philologie à l'Ecole nationale des chartes, ainsi que les humanités numériques à Paris Sciences et Lettres (PSL).

More Posts

Follow Me:
TwitterLinkedIn

Philologie numérique et méthodes quantitatives

Ce court billet sert seulement à vous signaler que, dans le cadre du programme E-Philologie, les deux contributeurs principaux de ce carnet donneront un cours sur Philologie numérique et méthodes quantitatives, qui débute demain et se poursuivra, sur un rythme hebdomadaire, durant tous les lundis d’avril.

L’essentiel de ce cours sera tourné vers les méthodes de stylométrie, et les questions d’attribution, datation et localisation de textes anciens et modernes (en vrac, parmi les corpus sur lesquels nous expérimenterons: les œuvres de Corneille et Molière, les chansons de geste, les œuvres de Chrétien de Troyes, …). En prime, nous ferons peut-être aussi un peu de stemmatologie.

Vous pourrez trouver plus d’informations sur le carnet d’E-Philologie (https://ephilolog.hypotheses.org/).

Jean-Baptiste Camps

Diplômé de l'École nationale des chartes et docteur en études médiévales de l'Université Paris-Sorbonne (la Chanson d'Otinel…, dir. Dominique Boutet ), Jean-Baptiste Camps est responsable pédagogique du master «Technologies numériques appliquées à l'histoire» à l'École nationale des chartes. [CV et liste des publications, voir : http://paris-sorbonne.academia.edu/JeanBaptisteCamps]

More Posts - Website

Follow Me:
LinkedIn

Voir et comprendre: de l’importance de la visualisation dans la compréhension des entités mathématiques

Galerie

Il n’a sans doute échappé à personne que, dans la plupart des analyses statistiques ou raisonnements mathématiques employés en sciences humaines, les chercheurs utilisaient des outils éminemment visuels. La tradition veut que nos articles fourmillent d’histogrammes, de courbes ou de … Lire la suite

Setting bounds in a homogeneous corpus

Galerie

We inaugurate here a new category, dedicated to sources and research documents. Mostly, we will publish in this category scripts, databases and documents related to articles we have published. The main purpose is, by making our sources available, to allow … Lire la suite

Le scandale du stemma contaminé. Note sur l’usage des cardiogrammes en philologie.

Galerie

Cette galerie contient 2 photos.

 Lorsqu’il s’intéresse à une tradition textuelle, le philologue peut parfois rester perplexe. En effet, la situation rêvée dans laquelle un texte serait transmis de génération en génération, sinon à l’identique, du moins de manière linéaire (A recopie sur B, qui … Lire la suite

Comment buvait-on chez Al Capone? Observer l’inobservable 2

Galerie

Cette galerie contient 2 photos.

Observer l’inobservable : tel était l’ambitieux agenda de notre précédent billet. Aux incrédules qui refuseraient d’imaginer qu’une telle magie puisse opérer, nous proposons une petite démonstration de ce tour de passe-passe. Le défi que l’on se propose ici n’est pas si … Lire la suite

Observez l’inobservable: la magie des proxys

Galerie

Pour les spécialistes d’époques lointaines, ou pour ceux qui s’intéressent à une histoire plus récente, mais néanmoins troublée, il n’est pas rare de ne disposer que d’une information lacunaire sur tel ou tel point ou période que l’on voudrait étudier. … Lire la suite

Exorciser vos statistiques 2: combattre la débauche des modalités

Galerie

Lors de mon précédent billet, je m’étais rapidement intéressé à quelques principes permettant d’éviter des problèmes de dimensionnalité liés à un grand nombre de variables. Cette fois-ci, je souhaiterais évoquer le cas où c’est le grand nombre des modalités de … Lire la suite

N-grams et identification des auteurs

Galerie

Cette galerie contient 3 photos.

Ces derniers temps, les études dans le domaine de l’authorship attribution ou de la classification des textes ont pris un souffle nouveau par le biais de l’utilisation de n-grams1, ouvrant des perspectives nouvelles pour la création de modèles indépendants de … Lire la suite

Exorcisez vos statistiques: contre la malédiction de la dimension

Galerie

Les bases de données que nous traitons en histoire, philologie, ou toute autre science intéressée au passé ont-elles une forme particulière ? A priori, étant donnée la diversité des sujets étudiés, des époques de référence, des problématiques dans lesquelles elles … Lire la suite

L’Information retrieval appliquée à la philologie. II. Differential term weighting

Revenons1 ici sur un projet de billet annoncé depuis quelques temps : celui de l’application possible que l’on peut faire à la philologie de traitements provenant du champ de l’Information retrieval. Cette fois-ci, il sera question du Differential term weighting.

Le principe général du Differential term weighting est de remplacer les effectifs lexicométriques bruts par une valeur calculée selon une formule déterminée. La formule choisie peut répondre à différents principes mathématiques et peut varier selon l’objectif recherché. Nous verrons d’abord les formules existantes et les principes mathématiques et objectifs auxquelles elles répondent, puis, dans un deuxième temps, on se penchera sur leur application possible aux analyses lexicométriques des textes anciens.

Les formules classiques

Avant de nous plonger en détail dans les différentes formules et leur principes et objectifs, attardons nous un peu sur les principes généraux qu’elles recouvrent. Au niveau du résultat recherché, tout d’abord, il ne nous faut pas oublier que ces formules ont été conçues sur la base d’une recherche de pertinence dans les recherches d’information, et que leur objectif est donc l’élimination du bruit dans le cadre d’une recherche plein-texte. Cet objectif diffère sensiblement du nôtre et de notre utilisation des effectifs lexicométriques. Au niveau du principe mathématique, il nous faut tout d’abord différencier deux choses : le poids local (L) qui est affecté à un nombre N d’occurrences d’un mot i dans un texte j (c’est-à-dire à la valeur qui figure, dans un tableau d’occurrences lexicométriques dans une des cellules) , et le poids global (G) qui est affecté au mot i dans l’ensemble des textes. Certaines des formules ne font usage que d’un seul de ces types de poids, d’autres utilisent les deux, sous la forme :LijxGi

Les poids locaux

Les trois types de poids locaux (Lij) employés les plus couramment sont ainsi :

  1. La fréquence brute du mot dans le document, soit Lij = Nij.
  2. Une valeur binaire : si Nij ≥ 1, alors Lij = 1, sinon Lij = 0.
  3. Une valeur logarithmique, employée généralement pour réduire les écarts trop importants entre les termes très fréquents et les termes rares, Lij = log(Nij+1).

Les poids globaux

Les poids globaux s’appuient tous sur une ou plusieurs des trois valeurs suivantes :

  1. le nombre d’occurrences du terme i dans le document j (que nous appellerons ici encore Nij).
  2. Le nombre total de documents dans lequel le terme i apparaît (que nous appellerons Di).
  3. Le nombre d’occurrences total du terme i dans l’ensemble des documents (que nous appellerons Ti).

Il faudrait pour être tout à fait complet, ajouter une dernière valeur, celle du nombre total de documents (Ndoc). Il y a, pour les poids globaux, trois méthodes principales :

1. La méthode dite « Normale » :

Cette méthode consiste donc à définir un poids global qui prenne en compte les différences entre mots très fréquents et mots peu fréquents, tout en les amoindrissant.

2. Occurrences totales sur nombre de documents où le terme est présent :

Ti/DiCette formule donne un poids global qui favorise les termes apparaissant très fréquemment dans un nombre très restreint de documents (un terme qui apparaît 100 fois dans un seul document aura un poids global de 100 ; un terme qui apparaît 100 fois dans 100 documents, aura un poids global de 1).

3. Log2(Ndoc/Di)+1Cette méthode donne un poids global qui favorise les termes qui apparaissent dans peu de documents.

La méthode 1 – entropie

Dans un article désormais un petit peu ancien, Susan T. Dumais décrit une autre méthode dont, selon elle, les résultats sont de loin supérieurs à ceux des autres2. Elle se fonde sur un calcul d’entropie ou de bruit. Mathématiquement, elle se présente ainsi :

entropyCette valeur d’entropie prend en compte la fréquence du terme dans le document concerné par rapport à la fréquence totale du terme, et la rapporte au nombre de documents total. En gros, plus le terme apparaît fréquemment dans un petit nombre de documents, plus la valeur d’entropie sera grande (elle sera supérieure pour un terme apparaissant 10 fois dans un seul document que pour un terme apparaissant en tout dix fois, mais une fois par document).

Intérêt et application de ces méthodes

L’objectif principal de ces méthodes est de fournir des documents pertinents lors d’une recherche d’information. Si elles sont extrêmement intéressantes dans leurs principes, leur utilité dans leur application à la philologie reste en partie à démontrer. On peut toutefois en retenir le principe et l’adapter à ses besoins.

Travaillant récemment, à l’aide d’analyses factorielles et de classification ascendantes hiérarchique, sur un corpus de courts textes (des vidas de troubadours contenues dans le ms. A) avec des propriétés très particulières, j’ai eu recours à une forme très basique de differential term weighting, mais celle-ci m’a été extrêmement utile et m’a permis d’exploiter le corpus sans me retrouver face à des résultats totalement biaisés. Les propriétés particulières de ce corpus étaient :

1. De se composer d’un ensemble de très courts textes, avec une moyenne de 164 mots, et une médiane de 147, qui pouvaient se répartir de ce point de vue en deux groupes principaux : entre 20 et 100 mots, et entre 100 et 300, mais malgré tout avec quelques individus aberrants pouvant dépasser 400 mots, voire atteindre 676. Comme une image vaut parfois mieux que de longs discours, voici la boîte à moustaches :Boîte à moustaches des vidas de A

2. D’utiliser un vocabulaire restreint, assez répétitif, avec un nombre délimité de formules types, et d’être donc en grande partie très homogènes du point de vue de leur lexique, provenant en outre du même manuscrit.

Ces deux éléments faisaient que l’analyse factorielle ne donnait pas grand chose, tandis que la classification ascendante hiérarchique me triait les textes uniquement d’après leur nombre de mots… Or, ce n’était pas ça qui m’intéressait, pas plus que la vérification de l’homogénéité globale de leur vocabulaire (que je connaissais déjà pour les avoir un peu pratiqués), mais bien au contraire les quelques éléments d’hétérogénéité pouvant renvoyer à des branches différentes de la tradition, à des auteurs différents, à des datations ou localisations différentes, etc. Pour pouvoir arriver à des résultats exploitables, j’ai fait usage d’une forme de poids local très rudimentaire, mais dans ce cas précis tout à fait salvatrice, en divisant le nombre d’occurrences du mot dans le document (Nij) par le nombre total de mots du document (Tj), ce qui revient à utiliser un taux :

Nij/TjÀ l’aide de ce poids local, j’ai obtenu des résultats beaucoup plus pertinents, dans lesquels j’ai déjà pu distinguer des rapprochements liés à des groupes de manuscrits, à des datations/localisations, et à des auteurs présumés. Il ne me reste plus désormais qu’à les analyser en détail !

  1. Après une période prolongée sans billet due à une période un peu chargée (colloques) de mon côté. []
  2. Dumais (Susan T.), « Improving the retrieval of information from external sources », Behavior Research Methods, Instruments, & Computers, 23 (1991), p. 229-236. []

Jean-Baptiste Camps

Diplômé de l'École nationale des chartes et docteur en études médiévales de l'Université Paris-Sorbonne (la Chanson d'Otinel…, dir. Dominique Boutet ), Jean-Baptiste Camps est responsable pédagogique du master «Technologies numériques appliquées à l'histoire» à l'École nationale des chartes. [CV et liste des publications, voir : http://paris-sorbonne.academia.edu/JeanBaptisteCamps]

More Posts - Website

Follow Me:
LinkedIn

Les logiciels statistiques épisode II: visualiser librement ses données

Nous continuons notre exploration des logiciels statistiques en présentant les possibilités offertes par les logiciels libres. Il existe de très nombreux logiciels capables de réaliser tout ou partie des opérations possibles sur les logiciels propriétaires que nous évoquions précédemment – voire de réaliser des opérations qu’on ne peut pas faire avec les précédents. Avant d’aborder la question des logiciels libres généralistes (en pratique, du logiciel libre généraliste, R), nous allons dresser un rapide panorama des logiciels libres spécialisés. Commençons cette semaine par les logiciels libres permettant de visualiser ses données.

ViSta (Visual Statistics), développé à l’origine par le psychomètre américain Forrest Young, permet de réaliser simplement une grande variété de graphiques, de bonne qualité, et rigoureusement conçus. Les adeptes de Microsoft Office regretteront sûrement une intégration difficile de ce logiciel à leur suite bureautique favorite (importation de données depuis Excel très pénible, affichage des graphiques sous Word décevant). Au-delà de la simple préférence individuelle, ce point peut être gênant dans le cas de publications demandant des articles sous un format .doc.

Représentation cartographique sous VisIt 1.6

Représentation cartographique sous VisIt 1.6

Pour des graphiques plus impressionnants visuellement, on préfèrera probablement utiliser VisIt. Moins adapté aux sciences humaines que VisTa – ce logiciel ayant été originellement développé pour le « Department of Energy » américain – , il n’en reste pas moins un puissant outil pour les visualisations 2D et 3D.

La prise en main n’est pas aisée, les possibilités nombreuses, trop étendues pour nos usages – il est rare d’avoir besoin de créer des représentations tri-dimensionnelles de molécules, ou de passagers d’une voiture prête à s’écraser… – mais pour quiconque cherche une visualisation à la fois pointue et percutante, en particulier pour travailler sur des bases de données de grandes dimensions, VisIt s’impose comme une référence.

Existe aussi dans le domaine du traitement de bases de données de grande ampleur Open DX, un programme de visualisation très puissant, programmé à partir de l’explorateur de données d’IBM, et lui aussi centré sur la visualisation de données scientifiques. Malheureusement, le projet semble à l’abandon depuis près de quatre ans: sauf rebondissement, ce logiciel ne devrait donc pas connaître de mises à jour, ce qui risque de poser problèmes dans un futur immédiat.

Si vous chercher à travailler sur des données ayant un grand nombre de dimensions plutôt qu’un grand nombre d’individus, GGobi peut être une idée de choix. A l’aise pour les visualisations de données standard, il se montre encore à plus son avantage dans la visualisation de données  ayant de nombreuses dimensions, et est capable de réaliser des partitionnements intéressants de ces données. Il permet par ailleurs de créer des graphiques dynamiques et interactifs très réussis. Grâce au package rggobi, le logiciel permet par ailleurs de nombreuses interactions avec R. Là encore, la prise en main peut être un peu délicate, mais les fonctionnalités sont impressionnantes.

Florian CAFIERO

Ancien élève de l'Ecole Normale Supérieure, Florian Cafiero enseigne les méthodes quantitatives appliquées à la philologie à l'Ecole nationale des chartes, ainsi que les humanités numériques à Paris Sciences et Lettres (PSL).

More Posts

Follow Me:
TwitterLinkedIn

Les logiciels statistiques t.1: les logiciels commerciaux

Pour cette nouvelle année que nous vous souhaitons aussi heureuse que possible,  nous ouvrons un nouveau chapitre dans notre série « à la recherche d’Excalibur ». Sans pour autant clore notre petit tour des langages de programmation utiles en sciences humaines, nous allons nous attacher un instant à vous présenter le riche marché des logiciels statistiques, grâce auxquels vous passerez, j’en suis sûr, de grands moments de plaisirs.

"Piled Higher and Deeper" by Jorge Cham www.phdcomics.com

Commençons d’abord par les logiciels commerciaux, que nous nous devons de présenter,  même si au cours de nos recherches et de nos prochains billets, nous utiliserons essentiellement (euphémisme, quand tu nous tiens!) des logiciels libres. L’importante utilisation de ce type de logiciels dans des situations commerciales (finance, étude de marché, biostatistique) a incité de nombreuses firmes à développer des programmes performants (il en existe aujourd’hui plusieurs dizaines), et somme toute assez diffusés dans le milieu de la recherche. Nous en présentons ici quelques uns.

SAS – Statistical Analysis System

Répandu dans le monde universitaire français, en particulier chez les économistes (le fait qu’il s’agisse du logiciel qu’utilise l’INSEE n’y est pas étranger), le logiciel SAS est, dans sa version « standard », un logiciel généraliste permettant la création et l’édition de base de données, y compris de très grandes envergures, et leur analyse. Le langage de ce logiciel est d’ailleurs basé sur cette distinction. D’un côté, grâce aux « étapes data », vous pouvez modifier, fusionner, recomposer comme bon vous semble vos bases de données – par exemple, créer une base de données « sacregraal » à partir d’une base données originelle « graal », en supprimant des variables gênantes:

Etape data sous SAS

De l’autre côté, grâce aux « procédures » (proc), vous pouvez réaliser vos régressions, vos analyses factorielles, faire éditer des statistiques descriptives, ou créer des graphiques prêts à exporter – mais ce n’est pas pour le côté visuel de ces derniers qu’on admirera SAS. Vous pourrez par exemple tenter d’expliquer les rires devant Sacré Graal par la présence de tel ou tel acteur, grâce à une régression logistique de premier choix:

Régression logistique sous SAS

Des macros vous permettront par ailleurs de réaliser des tâches automatiques – un outil bien utile.

SAS en est aujourd’hui à sa version 9.2, datant de 2008. Mais il peut malgré tout être utilisé de sorte qu’il soit entièrement à la pointe de l’actualité.  SAS permet en effet d’appeler des fonctions depuis le logiciel libre R, et de coder en R directement dans son interface,  grâce à SAS/IML(R) Studio 3.3. Ceci permet de profiter de toutes les innovations réalisées dans les packages pour R, avant que celles-ci ne soient éventuellement retranscrites dans le logiciel (nous reviendrons sur ces points quand nous parlerons de R dans un prochain billet).

Stata

Pas d’acronyme cette fois pour le nom de ce logiciel, qui n’est que la contraction de « stat » et « data ». Développé depuis plus de 25 ans par la Stata Corporation, Stata est certainement le rival majeur de SAS dans le monde académique, en particulier en économie, mais aussi en sciences médicales.

Lui aussi à vocation généraliste (on y retrouve peu ou prou les mêmes fonctions que dans SAS), Stata a néanmoins une originalité majeure pour un logiciel propriétaire et commercial: il permet aux utilisateurs de créer ses propres extensions (« ado-files »), qui peuvent être ensuite proposées au téléchargement. Un avantage certain, augmenté de l’abondante littérature autour de ce logiciel. Une revue à comité de lectures, le Stata Journal, ainsi qu’une mailing list, la Statalist, documentent abondamment potentialités et les mises à jour du logiciel.

En terme de langage, Stata paraît peut-être moins systématiquement construit que SAS, mais donne des programmes particulièrement courts à écrire. La régression logistique de tout à l’heure s’écrirait ainsi tout simplement (à la déclaration de la base de données près):

logistic laugh tgilliam tjones gchapman jcleese eidle mpalin

Si Stata a par contre un désavantage, c’est son prix: aux dernières nouvelles, environ 500 euros pour la licence « académique »…

Autres logiciels utiles

Les historiens s’intéressant régulièrement à des séries temporelles, ils pourront utiliser avec profit EViews, spécialisé dans ce domaine – bien qu’il assure également la plupart des fonctions des logiciels généralistes. Les étudiants ont accès à une version bridée de EViews 6 (taille maximale des bases de données réduite, ce qui n’est pas  si souvent gênant) vendue à 39,95 $. RATS (Regression Analysis of Time Series), son concurrent direct, permet également de puissants calculs autour des séries temporelles, mais gère aussi des fonctions plus rares comme les réseaux de neurone. La licence étudiante de RATS 8.0 coutera par contre 300$, la licence complète 500$…

Ceci reste toutefois donné comparé au très célèbre logiciel généraliste SPSS (Statistical Package for the Social Sciences), récemment devenu propriété d’IBM, qui s’oriente de plus en plus vers les professionnels et de moins en moins vers l’université. SPSS a l’avantage d’être particulièrement agréable à manier pour l’utilisateur, mais ceci a un prix. Toutefois, une version d’essai gratuite de 14 jours de SPSS 19 est disponible, pour quiconque voudrait s’en faire une idée plus précise. Son rival Statistica 10, lui aussi surtout destiné aux entreprises, préserve néanmoins une influence importante sur les campus nord-américains ; il n’est donc pas inintéressant de savoir le manier dans cette optique, d’autant que ces performances en terme de « data mining » sont très intéressantes. Lui aussi très à l’aise dans ce domaine, et champion des analyses factorielles – le logiciel français SPAD pourra certainement séduire, d’autant que son interface graphique est plutôt avenante, rendant le logiciel assez simple d’utilisation.

Notons enfin l’existence du logiciel Stat Transfer, qui permet de convertir tous types de bases de données en le langage que votre logiciel préféré vous demande . Pour l’utiliser, il vous en coutera 59$ pour la version étudiante, 179$ par poste pour la version académique.

Voilà! Avec tout ça, vous êtes armés ! Ruinés, mais armés… C’est déjà ça…

Florian CAFIERO

Ancien élève de l'Ecole Normale Supérieure, Florian Cafiero enseigne les méthodes quantitatives appliquées à la philologie à l'Ecole nationale des chartes, ainsi que les humanités numériques à Paris Sciences et Lettres (PSL).

More Posts

Follow Me:
TwitterLinkedIn