Derniers graphiques avant 2014

En faisant tourner à nouveau les scripts de réseaux législatifs dont j’ai déjà parlé plusieurs fois ici, j’ai pu vérifier les résultats précédents sur des données un peu plus propres (merci Regards Citoyens) et étendues à tous les amendements de l’année qui se termine :

Screen Shot 2013-12-30 at 7.55.26 AM

Mais j’ai aussi pu vérifier (cf. la fin de cette note) que l’Assemblée nationale doit s’apprêter à réorganiser son site Internet : entre juillet et décembre 2013, l’index des amendements déposés sous la 13e législature a diminué de 450 à 250 dossiers, et j’ai vérifié, plusieurs d’entre eux sont tout à fait valides (ce n’est pas une correction attribuable à des problèmes de datation, par exemple).

En attendant que ce mystère s’éclaircisse, voici la tête des données actualisées. Les barres grises comptent les amendements individuels, les barres rouges les amendements co-signés à moins de dix, et les barres bleues les amendements co-signés par plus de dix députés, avec des pics de co-signatures vers 200 sur les lois de finance et autres joyeusetés. Le pic gris monstrueux correspond au mariage pour tous.

amendments_sponsors

Je vous épargne un graphique de réseau en plus. Non, je déconne, voici un dernier réseau législatif de l’année, basé sur presque 40 000 amendements déjà co-signés sur la législature en cours. Il me reste à calculer les mesures de centralité et de modularité en tenant compte de la pondération du réseau — c’est en cours.

network.example

Meilleurs voeux !

Des réseaux et des mots

Histoire d’en terminer avec les réseaux de députés, voici quelques slides publicitaires pour la fonction ggnet du package GGally, qui rassemble plusieurs fonctions graphiques exploitant la syntaxe de ggplot2 :

Côté analyse, le réseau « Twitter » des députés est moins parlant que celui de leur travail législatif, même s’il lui ressemble structurellement, mais je ne reviens pas là-dessus, n’ayant pas beaucoup plus de données qu’il y a quelques mois.

Je présenterai les slides sur ggnet mercredi à R Addicts Paris, aux côtés d’autres présentations beaucoup plus avancées dans la manipulation de graphiques. Côté réseaux, il y a plein de pistes pour produire des réseaux manipulables, comme sigma.js ou d3Network. Voici un exemple de réseau textuel visualisé avec cette dernière fonction, qui utilise d3.js :

d3Network

Cliquez sur l’image pour la version dynamique. Les données sont tirées d’un petit exemple de modélisation textuelle dans un corpus faiblement structuré, conçu pour Baptiste Coulmont.

Dans cet exemple, les liens entre les termes correspondent à leur probabilité d’association dans un ensemble de termes lemmatisés, où les termes sont groupés par « thèmes possibles« . La modélisation utilise des distributions de Dirichlet et s’estime, grosso modo, de manière “fixe”, “aléatoire” ou “bayésienne” — ce qui prend des plombes dès que le corpus contient plus de quelques centaines de documents…

Dernier truc en cours, un autre exemple de temps de calcul très lent, et qui demande en plus un très long processus préalable de récupération des données. Le graphique suivant contient un peu plus d’un million d’observations, agrégées par semaine de publication et séparées visuellement par institution d’origine :

fig4_week

Le projet auquel se rattache les données est trop peu construit pour en dire vraiment plus, sinon que R et RStudio gèrent très bien les manipulations graphiques sur un million de points, à condition d’être disposé à aller se faire un café (ou même en racheter à côté) pendant que les objets ggplot2 (environ 250 MB par objet) percolent. Peut-être bigvis peut-il encore réduire ce temps de calcul, mais dans tous les cas, R fonctionne à un million de points : testé, approuvé.

Bonnes fêtes :)