Un réseau de 68 203 co-signatures sur 11 569 amendements

J’ai récemment évoqué les co-signatures d’amendements, en me demandant tout du long si le réseau des co-signataires reflétait la même structuration partisane que le réseau des députés sur Twitter. Voici le résultat final sur les 11 500 amendements co-signés depuis le début de la 14e législature en cours :

network.fruchtermanreingold

J’ai rapidement annoté le graphique que m’a sorti ggnet après un calcul de douze minutes pour constituer le réseau1. Pour générer ou actualiser les données, il suffit de récupérer les dossiers parlementaires puis d’en extraire les co-signataires. Le résultat est une gigantesque liste de listes à décomposer en 68 203 paires uniques de co-signataires :

neta.prep

Pour tester mes versions intermédiaires, j’ai utilisé des échantillons réduits. Sur ces échantillons, le groupe GDR est complètement isolé, car il rédige moins d’amendements en valeur absolue et n’en co-signe pas souvent avec des membres d’autres groupes parlementaires. Voici le réseau avec 500 co-signatures sélectionnées au hasard :

neta.500

Puis, lorsque l’on augmente la “résolution” en prenant un échantillon dix fois plus large de 5 000 amendements, les connexions commencent à apparaître, plaçant le groupe GDR dans l’opposition, en dehors du groupe de “soutien” radical-écologiste placé à côté de la majorité socialiste :

neta.5000

Le réseau place également les élus frontistes dans cette opposition, mais comme il manque quelques données, les points gris ne sont pas tous des élus NI. Tout est perfectible, mais je n’ai pas le temps de corriger ce problème, créé par la présence d’homonymes. J’ai rédigé cette version dans le train et vais m’en tenir à ça.

La force du marqueur partisan est aussi évident que dans le cas des députés sur Twitter : l’immense majorité des liens se tisse à l’intérieur des groupes parlementaires. Cet effet ne révèle toutefois rien d’inconnu, et surtout rien de complet : le travail parlementaire trans-groupe, déjà identifiable dans ces visualisations, est simplement plus discret que ces signaux publics que sont les liens par Twitter ou par co-signature d’amendements2.

Pour terminer, une visualisation de la centralité des points montre les inégalités d’investissement dans le travail de co-signature d’amendements (tout en sachant que ce travail exclut de facto celui, non négligeable en quantité et certainement en temps, sur les amendements déposés au nom d’un seul député) :

network.centrality

Le code et les données sont en ligne, avec les notes de construction et les instructions pour actualiser les données. Il doit être possible, moyennant des retouches mineures au code du scraper, de récupérer les mêmes données pour les législatures précédentes.

Mise à jour : le code permet désormais de travailler sur les deux législatures précédentes et de visualiser les données sous forme de réseaux bipartites, un type de réseau à “deux modes” où l’on représente les acteurs et les événements (ici, les co-signatures d’amendements) sur le même graphe. Ces réseaux sont à l’honneur dans le dernier numéro de Social Networks.

Voici à quoi ressemble un réseau bipartite de la législature en cours, à partir d’un échantillon aléatoire de 5 500 amendements. La stratégie d’obstruction législative dans l’opposition est parfaitement lisible, de même que la division du travail entre les groupes et leurs positions respectives vis-à-vis du nexus majorité/opposition :

network.bipartite.14

Je n’avais pas prévu d’aller vers ce type de visualisation, mais Pedro Jordano m’a convaincu et a fourni le code qui sert à convertir les données entre single-mode et two-mode. En raison de la taille et de la nature du réseau, il faut également penser à le stocker dans une matrice “économe” qui compresse l’espace pris par les tonnes de “zéros” qu’on trouve dans les réseaux bipartites : le code pour cette sparse matrix est venu d’un billet de Solomon Messing sur le sujet.

  1. Ce n’est pas du “big data”, mais il faut quand même aplanir une matrice de plusieurs millions de lignes pour créer le réseau. []
  2. Il suffit de penser, par exemple, aux amendements déposés en commission, exclus des données uniquement nominatives montrées ici. []

Députés stratèges : un travail en cours sur des co-signatures d’amendements

Quand un député choisit de co-signer un amendement, avec combien d’autres députés co-signe-t-il ? On peut supposer que cela dépend avant tout de son groupe parlementaire, avec une stratégie « de masse » dans les groupes de la majorité (SRC) et de l’opposition (UMP), et une stratégie « isolationniste » dans les autres groupes.

C’est plus ou moins ce que l’on peut voir sur les 11,568 co-signatures d’amendements de la législature en cours. Le graphique suivant montre le nombre moyen et l’écart-type de ces co-signatures pour cent députés pris au hasard dans la masse des données, et où l’on voit bien la stratégie des députés écologistes ou frontistes :

demo_mu
(Cliquer sur le graphique pour une version PDF un peu plus lisible.)

Add. Voici la version complète, qui fait 171 cm de long et qui a mis vingt minutes à sortir sur un processeur 1.8GHz/8GB, même en vectorisant l’intégralité du calcul.

Les données proviennent d’un petit exercice de scraping qui permet aussi de dessiner le réseau des co-signatures. Le graphique suivant montre ce réseau sur les 10 000 derniers amendements déposés, et l’on y voit clairement la position centrale, isolée ou carrément décentrée de chaque groupe parlementaire :

demo
(Cliquer sur le graphique pour une version PDF avec quelques explications.)

Le matériau de réplication pour ces graphiques est en cours de constitution, sur une idée de Baptiste Coulmont qui avait produit un travail similaire. Mon obsession pour les réseaux de députés a enfin trouvé un nouveau support empirique ! Plus de nouvelles quand j’arriverai à finaliser les (très, très longues) routines d’extraction des données.

Une fonction pour passer des réseaux à ggplot2

Mise à jour : la fonction ggnet a été publiée dans le package GGally (merci à Barret, qui se charge de tenir le package à jour et qui a fourni une excellente relecture du code).

J’ai terminé de travailler sur la fonction ggnet évoquée dans un récent billet. Ça donne des graphiques comme ça :

example3

La fonction est à présent robuste à chacune de ses options : vous pouvez omettre n’importe quel argument (sauf le premier !) et toujours obtenir quelque chose de graphiquement potable. Il reste juste une petite faiblesse sur l’option quantize.weights, qui doit probablement planter si une classification par quartiles ne parvient pas à identifier les noeuds (les points) de manière unique.

Les exemples de la fonction couvrent les cas les plus simples avec des données simulées et montrent bien la filiation avec le code original de Moritz Marbach :

rnd = network::network.initialize(10)
cat = LETTERS[rbinom(10, 4, .5)]
ggnet(rnd, 
      label = TRUE,
      color = "white",
      segment.color = "grey10",
      node.group = cat)

rnd

L’option label.nodes est particulièrement flexible grâce à l’aide de Joël sur un bout du code. Un point du graphique, ou n’importe quelle série de points identifiés par l’attribut vertex.names, peuvent être légendés, ce qui donne des combinaisons faciles avec l’argument node.group, comme dans ce graphique qui distingue les “followers” de NKM de tous les autres :

example4

Pour des calculs plus avancés, jetez un coup d’oeil aux fonctions du fichier functions.R, qui simplifient un peu le boulot en calculant les “followers/followings” ou en calculant des mesures de centralité pour chaque groupe parlementaire. Les packages à consulter pour l’analyse de réseau sont les packages igraph, network et sna (ou alors un logiciel comme Pajek, mais l’analyse ne sera pas réplicable comme elle peut l’être avec R).

Rajout #1 : nouvel exemple avec des données sur la répartition des sièges de grands groupes industriels et de cabinets d’avocats dans 55 villes mondiales.

cities

En six lignes de code, dont trois pour récupérer les données :

url = url("http://networkdata.ics.uci.edu/netdata/data/cities.RData")
print(load(url))
close(url)
type = network::get.vertex.attribute(cities, "type")
type = ifelse(grepl("City|Law", type), gsub("I+", "", type), "Firm")
ggnet(cities,
      mode = "kamadakawai",
      alpha = .2,
      node.group = type,
      label = c("Paris", "Beijing", "Chicago"),
      color = "darkred")

Plus de données pour tester la fonction ici et .

Rajout #2 : spécial dédicace aux carnetiers d’Hypothèses ! On reprend les données de Josquin Debaz et on représente le réseau des bloggers en décembre 2010, en pondérant les noeuds par le nombre de liens sortants :

hypo.net

En cinq trois lignes de code, dont quatre pour convertir le réseau au bon format :

url = "http://gspr.ehess.free.fr/media/hypothesosphere10C07.net"
hyp = network::read.paj(url)
ggnet(hyp, 
      label = TRUE, 
      size = 12, 
      vjust = -1.5, 
      weight = "outdegree")

Rajout #3 : le même réseau en d3 grâce au package en cours de développement d3Network, de Christopher Gangrud (cliquer sur l’aperçu pour la version interactive, hébergée ailleurs) :

d3Network screenshot

Le code est encore une fois assez court, puisqu’il ne faut qu’une dizaine de lignes pour convertir de Pajek (.net) à igraph à d3 :

# data
require(igraph)
url = "http://gspr.ehess.free.fr/media/hypothesosphere10C07.net"
hyp = read.graph(url, format = "pajek")
df = asDF(hyp)
Source = df$vertexes[df$edges$V1, 2]
Target = df$vertexes[df$edges$V2, 2]
df = data.frame(Source, Target)
# d3Network
devtools::install_github("d3Network", "christophergandrud")
require(d3Network)
d3Network(df,
          file = "hypothesosphere.html",
          width = 900,
          height = 750,
          fontsize = 12)

S’il vous venait l’idée de vouloir représenter le réseau des députés sur Twitter en d3, essayez ceci, mais attendez-vous à un gros amas de points qui mettra longtemps à se stabiliser :

file = "network.txt"
link = "https://raw.github.com/briatte/ggnet/master/network.txt"
## downloader::download(link, file)
df = read.csv(file, sep = "\t")
names(df)
## devtools::install_github("d3Network", "christophergandrud")
require(d3Network)
d3Network(df, "network.html")

339 députés sur Twitter

Les données sur la classe politique semblant toujours trouver preneur, voici un encart publicitaire pour un jeu de données contenant les comptes Twitter de 339 députés de la législature en cours :

example1

J’ai récolté les données pour illustrer une fonction qui sert à visualiser des données de type « réseau » avec ggplot2 (note : plus de détails sur le code ici). Voici quelques compléments sur les données :

  • Le « gris central » est Jacques Bompard, mais il est central au réseau malgré lui : il est là à cause des députés qu’il suit ou qui le suivent, et qui l’attirent au centre. Voir ci-dessous pour les détails.
  • L’anomalie « rose chez les bleus » est Kheira Bouziane, dont le compte Twitter est à présent fermé et le site Internet en reconstruction. Je n’ai aucune explication. Il ne faut pas surlire les données.
  • La « rose très excentrée » est Pascale Boistard. Il y a aussi ce député UMP qui m’a fait rigoler : plein de gens le suivent, mais lui ne suit absolument personne. Il n’apparaît pas dans le graphique.

Si vous souhaitez explorer le réseau, voici une rapide fonction « qui est suivi par qui » :

who.is.followed.by <- function(df, x) {
  f = df[which(df$Source == x), ]$Target
  print(as.character(f))
  print(table(ids$Groupe[which(ids$Twitter %in% f)]))
}

Amusez-vous bien :

who.is.followed.by(df, "JacquesBompard")
who.is.followed.by(df, "Marion_M_Le_Pen")

Exercice : rédiger la fonction inverse who.follows() (qui, comme celle ci-dessus, peut s’écrire en une ligne).

Notes de construction : les données sont un mashup entre les données du site Tweet Député (qui est bourré d’erreurs et de fautes d’orthographe), celles réunies par le Lab Europe 1 lors de la campagne électorale de juin 2012 (avec beaucoup de comptes de campagne plus ou moins temporaires et les députés devenus ministres), celles du compte Twitter de l’Assemblée nationale, et le fichier sur les députés en mandat du site Nos Députés, établi par Regards Citoyens avant les partielles de décembre 2012. Le scraping des comptes a eu lieu au cours des quatre dernières semaines.

Envoyez vos corrections, et allez voir d’autres travaux similaires chez Arthur Charpentier, qui avait relayé une visualisation des données de juin 2012 avec Gephi par Ewen Gallic, chez Jonathan Chibois, qui travaille sur ces données en conservant une perspective longitudinale, ou chez Baptiste Coulmont, qui m’a inspiré ce graphique.

Rajout #1 : j’avais oublié de citer la visualisation d’Ewen Gallic, c’est fait. Par ailleurs, j’ai tenté de rendre les données de mon graphique disponibles en deux fichiers “nodes/edges” pour Gephi : le résultat est là (pour autant de temps que possible), et inclut aussi un fichier GEXF exporté avec le package rgexf. Je n’ai pas réussi à utiliser ces fichiers correctement avec Gephi 0.82, que je connais très mal. Have fun!

Rajout #2 : si vous vous demandez comment analyser ce genre de réseau, jetez un coup d’oeil à ce qui a été fait sur les meilleurs tennismen mondiaux.

Mentions au baccalauréat et systèmes de notation

Le titre fait référence à un récent billet de Philippe Cibois sur un blog voisin : “La nature fractale de la sélection dans le secondaire”. On y trouve notamment :

  • Un très intéressant tableau sur les mentions au baccalauréat, qui résume très bien la distinction qui s’exerce à travers le système des mentions ; je me demande si ce tableau ne pourrait pas être résumé sous forme de séries parallèles, grâce à l’application de Robert Kosara et Caroline Ziemkiewicz.
  • Une discussion des méthodes de notation qui aboutissent à une distribution vaguement gaussienne des notes, phénomène bien connu sous le nom “grading on the curve” (que je pratique sans allégresse et sans conviction ; la distribution des notes n’est pas le seul problème, loin de là).

Bonne lecture !

Aperçu des technologies de data mining sur le blog Quanti / sciences sociales

Deux amis viennent de publier un excellent texte sur un blog voisin : “Vers une ‘data-sociologie’ ? Tour d’horizon des techniques de collecte automatisée de données sur le web”. Fortement conseillé pour se mettre à jour sur les outils francophones disponibles en ligne pour s’initier au data mining.

Je suis notamment curieux de connaître les possibilités de scraping pour les articles de presse de Factiva grâce à “Tirésias”, un logiciel de l’équipe Prospérologie. À titre d’exemple de data-sociologie, un doctorant de l’OSC a aussi commencé à rédiger un package Factiva pour R : là aussi, j’attends de voir ce qu’il est possible de faire avec, quand j’aurai enfin compris comment exporter en XML depuis ce service.

Comme l’invite à penser l’exemple de Factiva ci-dessus, les avancées de la data-sociologie dépendent largement des formats dans lesquels il est possible de télécharger des données. Le développement de l’open data et le travail de certaines associations comme Regards Citoyens ont fait un peu avancer la réflexion à ce sujet. Des institutions comme la Banque mondiale, Eurostat ou l’OCDE font aussi des efforts d’harmonisation autour de formats communs, comme le format SDMX.

“3%”

Mon billet précédent sur l’élection présidentielle américaine évoque rapidement les « 47% » cités par Mitt Romney, une gaffe supposée qui n’a pas grand chose à voir avec une authentique gaffe électorale.

Un autre chiffre m’a fait sourire la semaine dernière : Le Parisien a interviewé un haut fonctionnaire français qui évoque les premières heures de la “règle des 3% du PIB”, inventée par la Direction du Budget pour les besoins du gouvernement socialiste de 1981 et à la demande de François Mitterrand, qui souhaitait contraindre les dépenses de ses ministres. Quelques années plus tard, Laurent Fabius se servira de cette fraction pour ne pas avoir à parler du déficit public en termes nominaux.

Le détail des règles de construction du seuil est assez amusant. Le choix du produit intérieur brut, par exemple, induit en théorie une déférence à un indicateur macroéconomique très surveillé au niveau international, ce qui en ferait un truc assez difficile à trafiquer sans que cela se remarque à la Banque Mondiale et au FMI. En réalité, les chiffres du PIB sont raisonnablement spéculatifs en fonction des ambitions gouvernementales et du degré de contrainte exercé sur les agences et directions chargées de sa publication.

De la même manière, la volonté toute mitterrandienne de faire choisir, par Bercy plutôt que par l’Insee, un seuil de “3%” entièrement arbitraire, fournit un assez joli exemple de raison d’État. Ces indicateurs et seuils se retrouvent aujourd’hui dans les traités européens, mais aussi dans notre manière de lire la crise financière actuelle. Cette grille de lecture a déjà produit ses premiers résultats : le tournant néolibéral des années 1980 a connu une ponctuation idéologique d’environ 18 mois en 2009-2010, mais la résurgence keynésianiste de cette période n’a pas duré, au moins en ce qui concerne la zone euro, et les gouvernements se retrouvent tous à sabrer (trop tôt) dans les dépenses publiques, en scrutant naïvement leurs fractions de PIB.

Deux institutions, la science économique et la Banque centrale européenne, méritent probablement (encore) plus d’attention à ce stade : la première pour sa remarquable flexibilité, la deuxième pour la propriété inverse (pour son “austéritarisme”, pourrait-on dire au vu du peu de cas qu’il a récemment été fait du processus électoral dans plusieurs pays européens). Je ne doute pas qu’on trouvera tous les arguments nécessaires pour continuer à faire vivre ces institutions.

Un indicateur de saillance du travail parlementaire

Histoire d’apprendre à jouer avec la commande getURL de la librairie RCurl, j’ai écrit quelques lignes de code pour récupérer une bonne partie du travail législatif accompli à l’Assemblée nationale à partir des projets et propositions de loi. J’ai aussi extrait quelques-unes des caractéristiques pour chaque dossier, et notamment le nombre de débats organisés en séance publique. Les données couvrent deux législatures (2002-2012).

Mon script n’a pas réussi à capturer l’intégralité des travaux à cause des erreurs de codage sur le site de l’Assemblée nationale, mais j’ai réussi à recueillir 405 projets de loi et 261 propositions de loi, introduits soit à l’Assemblée nationale, soit au Sénat. La catégorie modale est le projet de loi introduit à la chambre basse. Les deux législatures sont grossièrement identiques sur l’ensemble des critères étudiés1.

Je vais me servir du nombre de séances publiques tenues sur un même texte comme d’un indicateur de saillance au sein du travail parlementaire. La distribution du nombre de séances est très asymétrique : la plupart des lois ne dépassent pas une à trois séances 2. Les valeurs extrêmes sont tenues par les lois de finances et par certains textes anormalement saillants dans l’agenda parlementaire, pour des raisons qui restent à expliquer :

 [1] "reforme_hopital"                     "reforme_collectivites_territoriales"
 [3] "nomination_audiovisuel_public"       "modernisation_economie"             
 [5] "loi_finances_2012"                   "loi_finances_2011"                  
 [7] "loi_finances_2010"                   "loi_finances_2009"                  
 [9] "loi_finances_2008"                   "internet"                           
[11] "grenelle_environnement2"             "defenseur_droits"                   
[13] "articles_34-1_3944"                  "temps_travail_entreprise"           
[15] "prevention_delinquance"              "loi_finances_2007"                  
[17] "immigration_integration"             "engagement_national_logement"       
[19] "egalite_chances"                     "eau_milieux_aquatiques"             
[21] "031206"                              "0200240203"

Dans les 3% des textes les plus programmés en séance publique, donc : le temps de travail des entreprises, la loi “ENL”, la réforme des collectivités territoriales, celle de la prévention de la délinquance, puis les nominations dans l’audiovisuel, le Grenelle de l’environnement… On y retrouve la plupart des projets emblématiques du gouvernement. On y trouve aussi, à mon grand plaisir, HADOPI, et même la loi précédente, DADVSI. Le record, avec trente séances, est tenu par la loi HPST.

En séparant les fonctions de répartition empirique par législature, chambre d’introduction et type d’initiative, on obtient les courbes suivantes (zoomables en PDF : cliquer sur l’image). Les points sur les courbes rouges et bleues correspondent respectivement aux lois DADVSI (12e législature) et HADOPI (13e législature). Chaque courbe utilise un minimum de 104 points.

On peut apercevoir des nuances entre les législatures ou entre les critères institutionnels, mais en réalité, je ne pense pas que la distinction par chambre d’introduction résiste à l’examen, dans la mesure où les règles d’introduction spécifique des textes sont noyées dans des centaines de projets alloués aux deux tiers à la chambre basse. Une fois cette simplification admise, on observe quelques différences entre les critères restants :

  • La 13e législature organise une séance et demi de plus en moyenne par texte examiné3. Cet effet concerne prioritairement les projets de loi, pour lequel le nombre moyen de séances publiques a plus que doublé après 2007, de 2.2 à 4.74.
  • L’augmentation des séances sur les propositions de loi est moins importante en volume mais identique en taux de croissance. S’il y a un effet post-2007, il s’exerce sur les projets et propositions de manière égale.
  • Une régression logistique indique que chaque organisation de séance double la probabilité d’aboutir à la promulgation d’une loi5. L’effet persiste si l’on contrôle par le type (projet/proposition), mais cesse d’être significatif quand on corrige les erreurs standard à l’intérieur de chaque législature6.

Cet indicateur de saillance est tout aussi valable qu’un autre, et ses résultats préliminaires sont fiables : le haut de la distribution est occupé par des lois à forte charge symbolique, où les députés ont soit été très sollicités ou très mobilisés par défaut ; et l’augmentation sous la 13e législature peut s’expliquer de beaucoup de manières.

Mon échantillon est perfectible, tout comme mon code, qui laisse quelques lignes en erreur dans la base. Je ne sais pas si quelqu’un au GEVIPAR ou ailleurs a déjà extrait cette information. Je ne sais pas non plus si ces indicateurs sont mesurés comparativement. La suite : étendre au Sénat, et trouver un manuel d’analyse de corpus législatif, si je parviens à extraire les débats DADVSI et HADOPI de manière satisfaisante.

  1. Je ne tiens pas compte des changements de codage qui font disparaître les rapports publics d’information et d’autres missions sur d’autres pages que je ne souhaitais pas capturer pour ce projet. []
  2. Pour rendre compte de la distribution, on va utiliser une fonction “ECDF” de répartie empirique, plus lisible qu’une estimation de densité par noyau sur une distribution asymétrique dont on souhaite conserver les unités naturelles (ici, le nombre de séances publiques). []
  3. Estimation significative sur un t-test à p < .05, intervalle de confiance [-2.3, -.64]. []
  4. L'intervalle à 95% de confiance sur le sous-ensemble à N = projets de loi est [-3.7, -1.1]. []
  5. La moitié des projets ou propositions ne donne pas lieu à la promulgation d’une loi dans mon échantillon. Je n’ai pas vérifié le codage, mais n’ai aucune raison de ne pas le croire jusque-là. []
  6. Pour être précis, l’effet est significatif à p < 0.1 en contrôlant par le type (projet/proposition), mais reperd en significativité quand on supprime les lois de finance, qui biaisent le modèle. []

Comment ne (toujours) rien comprendre aux sondages

Mise à jour : si les sondages vous laissent de marbre, essayez les modèles. Le dernier en date, très cohérent avec tout ce que l’on sait du vote, donne François Hollande à 51% au second tour sans réellement modéliser la prime du meilleur score au premier tour.

Comme l’a bien compris la blogosphère économiste, le moment est venu d’en remettre une couche. Ça tombe bien, Le Monde publie un texte de circonstance, par Albert Camus, qui s’exprime mieux par lui-même que par Michel Onfray :

En face de la marée montante de la bêtise, il est nécessaire également d’opposer quelques refus. Toutes les contraintes du monde ne feront pas qu’un esprit un peu propre accepte d’être malhonnête. Or, et pour peu qu’on connaisse le mécanisme des informations, il est facile de s’assurer de l’authenticité d’une nouvelle. C’est à cela qu’un journaliste libre doit donner toute son attention.

Les geeks auront remarqué que le site Internet du Monde vient de passer en HTML5, un standard toujours en cours de développement. Jolie performance ! Malheureusement, Le Monde et les médias en général ne sont pas toujours à la frange de l’innovation, et les sondages en sont la meilleure illustration.

Pour rappel, l’accord tacite entre les médias et les instituts de sondage sera bientôt à la retraite : il y a 64 ans, les médias américains faisaient découvrir à leur lectorat la course hippique avec des candidats à l’élection présidentielle, et même si tout le monde déplore le côté panem et circenses, tout le monde lit les sondages aujourd’hui, ne serait-ce que pour rappeler qu’ils construisent la réalité au moins autant qu’ils ne la capturent. L’argument bourdieusien était moins agressif que sa version actuelle, mais la connivence instituts-médias-politiques polarise les positions.

En France, on a en plus la chance d’avoir de fabuleux instituts de sondage qui échantillonnent et redressent de manière endogène, ce qui garantit qu’aucune contrainte scientifique ne viendra gâcher le spectacle. Parmi ces contraintes, la théorie des probabilités. Ce que l’on appelle “méthode par quotas”, et que les sondeurs eux-mêmes désignent comme une “recette de cuisine”, est en substance un affranchissement total du théorème central-limite ; vous êtes prévenus, mais vous regarderez quand même les courbes et lirez quand même les décimales flottantes.

Il est possible de modéliser sérieusement les données issues des sondages, sur le modèle de ce qui se fait aux États-Unis, mais aucun média ne joue actuellement ce jeu-là. Au lieu de ça, on lit des interviews affligeantes dans Le Monde ou dans Slate, qui a récemment redéfini le degré zéro de l’analyse journalistique appliquée aux pronostics électoraux. Je n’ai aucun grief personnel contre l’auteur ou contre Slate ; les deux publient certainement des feuillets de bonne facture en parallèle. Je suis plus inquiet pour les grandes rédactions qui dilapident le prestige de leurs titres, et pour la qualité du travail dans l’espace médiatique en général.

Si vous aimez la science-fiction de Moebius, alors vous êtes à peu près autant dans la réalité que si vous aimez les données des instituts de sondage et des quelques personnalités qui se prêtent au jeu de leur analyse. Et quand je vois une partie de l’humanité se réunir autour d’un cadavre, je pense très fort aux lecteurs de 20 Minutes dans le métro qui parcourent les baromètres “Plus/Moins” avec tout autant de naïveté.

Il me semble que voter pour la science passe aussi par un calibrage plus intelligent de la science des sondages, qui n’a presque aucune chance de s’exprimer dans le contexte que je décris ici à grands traits. Le duel Buisson-Garrigou n’a eu aucune conséquence positive sur ce contexte, ce qui est très dommage.

P.S. J’ai malencontreusement oublié de parler du frelatage de graphiques, en rapport avec les instituts de sondage qui prennent de moins en moins le soin de publier autre chose que des “slideshows” fabriqués sur des gabarits PowerPoint. Mais ce défaut dépasse leur sphère de responsabilité.

“Deux tiers des ministres sont rentrés au gouvernement sans qualification (source : Insee)”

Non, décidément, je ne peux pas laisser passer ça sans en rajouter une couche, ni plus bête, j’espère, ni plus intelligente que ce qui s’est dit ailleurs, mais ça ira peut-être mieux en l’écrivant, car après tout, dès que l’on a eu, un jour, l’ambition d’acquérir quelques compétences statistiques, on se sent marginalement plus insulté que d’ordinaire par la banalisation du racisme “par le haut” lorsque celle-ci fait mine de s’appuyer sur une démonstration scientifique. C’est insultant, alors comme à l’école (primaire), je vais répondre par une insulte à peine circonstanciée, histoire de me passer les nerfs. Le propos est néanmoins entièrement rédigé sous le signe de la bonne foi, et n’engage strictement que l’auteur, qui s’est senti agressé, et qui répond en situation de légitime défense intellectuelle1.

Bêtes et méchants, et potentiellement rééligibles

On connaissait l’ancien ministre de l’Éducation nationale pour son immense puissance de calcul, et le nouveau vient de s’illustrer par une même performance remarquable. Heureusement pour eux, leur club de clowns tristes n’est pas très select, et le ministre actuel de l’Intérieur vient d’y prendre sa carte à vie :

L’étude de l’Insee […] précise que les enfants de familles immigrées sortent presque deux fois plus souvent du système éducatif sans qualifications que les autres. […] Cette conclusion vient forcément soit de chiffres exhaustifs, soit d’un échantillon qui se divise en trois tiers. Par conséquent, j’ai correctement cité l’étude en déclarant que les 2/3 des enfants qui sortent de l’école sans qualification sont des enfants de familles immigrées.

Outre le côté plutôt “pagnolesque” de la règle des trois tiers évoquée par Claude Guéant, on peut s’étonner du fait qu’il ne soit même pas capable de raisonner un tant soit peu dans l’abstrait : pour qu’une proportion aussi importante des effectifs scolarisés (plusieurs millions d’individus) puis sortis sans qualification soient composés d’enfants issus de familles immigrées, il faudrait beaucoup plus d’enfants issus de familles immigrées et/ou beaucoup plus d’échec à l’intérieur du système éducatif, ou alors un taux de qualification exceptionnel des enfants issus de familles non-immigrées.

Soit le ministre de l’Intérieur n’a pas très confiance dans la réussite du système éducatif, auquel cas son homologue et/ou ses prédécesseurs aurai(en)t peut-être dû se sentir visé(s), soit il n’a pas confiance dans les compétences de son propre ministère, soit il a, au contraire, excessivement confiance dans la réussite des enfants dont les arrières grands-parents sont nés sur le continent européen au nord de Marseille et à l’ouest de Strasbourg, soit… le dilemme est naturellement insoluble dans ces termes. Dans tous les cas de figure, les failles de “l’intégration” sont déjà suffisamment nombreuses et socialement insupportables pour qu’on n’en rajoute pas, mais il faut hélas tenir compte de la campagne électorale du gouvernement, et ni lesdites “familles immigrées”, ni les enseignants ne semblent rentrer dans la clientèle “sélectorale” – c’est-à-dire, grosso modo, l’équivalent électoral du “coeur de cible” dans la vente de machines à laver, ou de la ménagère de moins de cinquante ans dans l’audiovisuel – ostensiblement visée par la remarque appuyée du ministre.

Le titre du billet est évidemment ironique, même si, au vu des dérapages réguliers dignes du comique troupier des uns et des autres (un nom me vient à l’esprit : Nadine Morano ; les exemples abondent), la proportion des deux tiers en deviendrait presque une hypothèse à vérifier. Il serait faux, voire pire, stupide, voire pire, raciste, d’attribuer cette piètre performance à “l’origine migratoire” des ministres (qui se situent dans une classe d’âge où être né au Maroc ou en Algérie est assez courant), et l’utilisation des termes entre guillemets devrait suffire, en soi, à mettre l’accent sur l’inanité fondamentale de cette grille de lecture, mais les dérapages contrôlés dans ce sens ne sont apparemment pas aussi strictement interdits selon qu’ils viennent des sommets de l’État ou d’ailleurs.

Quelques statistiques dans le brouillard

Cette déplorable contortion mentale attire l’attention sur l’instrumentalisation de la statistique publique, qui ne peut surprendre que si l’on ignore le statut partiellement inféodé de l’institution statistique par rapport à l’État (le terme même de “statistique” devrait attirer l’attention sur ce point). L’indépendance formelle de l’institution est, depuis récemment, inscrite dans la loi, et depuis beaucoup plus longtemps, inscrite dans les pratiques des ingénieurs civils, mais sa violation ponctuelle renvoie à une relation d’interdépendance bien décrite par l’histoire des systèmes statistiques, d’Alain Desrosières à James C. Scott.

Pour terminer, la statistique qu’il faudrait examiner pour sortir des spéculations hasardeuses livrées ci-dessus est l’odds ratio de l’échec scolaire des enfants issus de familles immigrées. J’ai un sérieux doute sur ce que l’on appelle ici “être issu de l’immigration”, mais en théorie, le ratio se calcule en multipliant la proportion d’échec des enfants issus de l’immigration par la proportion d’enfants non issus de l’immigration, puis en multipliant la proportion d’enfants issus de l’immigration par la proportion d’échec chez les enfants non issus de l’immigration, et enfin en divisant la premier produit par le second2. En rapport à l’article cité plus haut, on obtient un odds ratio grossier de 1.8 avec un intervalle de confiance de [1.5, 2.2] à 95%3. Le risque de sortie sans qualification est multiplié par 1.8 pour les enfants issus de l’immigration : c’est une statistique somme toute préoccupante4, et c’est peut-être le seul point sur lequel le ministre de l’Intérieur pourrait attirer l’attention, si ce n’était dans l’intention, tellement peu louable pour un homme d’État, d’attribuer cet échec au facteur le plus électoralement rentable à ses yeux.

Point Godwin

Décidément, je n’arrive pas à digérer ces comportements de petits soldats se posant en affidés serviles dès que l’occasion se présente de s’attirer les grâces de leurs supérieurs hiérarchiques, à l’image du dernier des fonctionnaires soviétiques, ou comme le dernier sous-lieutenant de campagne dans une armée de bras cassés intellectuels et d’éclopés mentaux écumant la plus basse et la plus crasse des républiques bananières.

Je n’aime pas plus les points Godwin que la moyenne, mais lorsque les déclarations ministérielles commencent à ressembler aux meilleurs (et donc aux pires) passages du classique de Jean Dutourd, je ne peux pas m’empêcher de penser que je n’aurais pas aimé connaître Claude Guéant sous l’Occupation : sa propension forcenée à la stigmatisation et à la dénonciation aveugle, dont le propos cité plus haut n’est qu’un exemple parmi d’autres, me font froid dans le dos, et pourtant il fait presque chaud sur mon balcon.

En régime démocratique, l’identification de “l’ennemi intérieur” en temps de paix est la guerre continuée par d’autres moyens. Claude Guéant n’est pas seulement d’une nullité spectaculaire avec les statistiques, il se situe surtout à l’apex d’un combat politique qui détourne la nature même des institutions dans lesquelles nous avons choisi de fixer notre existence collective. Les conneries magistrales des hommes d’État, de Nicolas Sarkozy à Claude Guéant en passant par Laurent Wauquiez, ne sont jamais des erreurs de parcours : ce sont des actes de guerre aux sens multiples qu’y donne Paul Valéry.

Révisions : vocabulaire ajusté çà et là, et merci à mon relecteur principal sur la première version ; je m’attends maintenant à trouver une erreur sérieuse quelque part dans mon propre texte, mais tout ceci n’est surtout sérieux qu’au sens anglo-saxon du terme, serious—grave.

  1. La publication sur ce blog se justifie à mes yeux par les thématiques politiques et scientifiques abordées, mais je suis naturellement disposé à déménager cette colonne si cela devait porter préjudice au sérieux des résultats scientifiques exposés ailleurs sur la plateforme Hypothèses. Et tant pis pour les accusations faciles de cuistrerie, d’exagération et ainsi de suite. []
  2. Si vous trouvez cette phrase compliquée, alors vous devriez apprécier la formalisation mathématique : la règle de base du calcul est OR=i1*e0/i0*e1, avec les variables binaires i (être issu d’une famille immigrée) et e (sortir sans qualification) exprimant les proportions de chaque catégorie. []
  3. Et quand je prends le risque de me planter, comme ici, au lieu de m’enfoncer lamentablement par voie de presse, je préfère donner mon code. À la différence de Claude Guéant, je n’ai pas de directeur de cabinet (ou de cabinet tout court) pour assurer mes arrières si le calcul est faux. J’ai utilisé les données approximatives mais suffisamment précises de la dépêche AFP, et je veux bien qu’on me communique l’étude originale pour au moins comprendre ce qu’être “issu de l’immigration” veut dire (a priori, avoir au moins un parent d’origine étrangère suffit aux yeux de l’Insee, mais toutes sortes de considérations légales et méthodologiques rentreront en ligne de compte). []
  4. Il faudrait contrôler par la taille des ménages et le taux de pauvreté pour se lancer dans un examen sérieux de la question, mais le sujet est difficile à aborder, même au sein de la recherche scientifique, car les erreurs sont vite commises, vite relevées, et rarement pardonnées. Je n’ai pas de point de vue sur l’ouvrage d’Hugues Lagrange, mais la controverse publique autour de sa recherche témoigne de cet état de fait. []