L'arbre phylogénétique des députés français
De même que
l'arbre de la vie permet
de représenter différentes espèces
en rapprochant celles qui descendent d'un même ancêtre commun, ou ont un ADN similaire,
voici l'
arbre
phylogénétique des députés français construit selon la proximité de leurs votes lors de 43
scrutins publics à l'Assemblée Nationale (du 26 octobre 2004 au 12 décembre 2006).
Le terme "arbre phylogénétique" est employé ici au sens large, pour être précis
il faudrait plutôt parler
d'
analyse
arborée des votes des députés.
Des liens sur ce sujet :
Légende
La taille des feuilles est liée au nombre de députés (ayant voté de la même façon) qu'elles représentent.
Pour chercher un député, soit vous arrivez à trouver son nom sur l'arbre, soit il fait partie
d'une feuille contenant plusieurs députés. Dans les deux cas, faites "CTRL-F"
pour localiser dans la liste ci-dessous le député recherché, vous trouverez alors un lien
vers sa fiche sur le
site de l'assemblée nationale.
Détails techniques
Collecte des données
Un tableau de synthèse a été construit à partir des pages web concernant les scrutins publics accessibles
depuis les pages suivantes :
2004/2005,
2005/2006,
2006/2007.
Ces pages font apparaître en note certaines précisions sur les scrutins
(tel député aurait voulu voter de telle façon) qui n'ont pas été prises
en compte. D'autre part, certains noms ne correspondant pas à la liste
actuelle des députés ont été corrigés.
Chaque page a subi un prétraitement manuel pour obtenir
des fichiers
analysables automatiquement pour obtenir
ce tableau de synthèse
(1 = vote CONTRE, 2 = ABSTENTION, 3 = vote pour, rien = ABSENCE).
Distance utilisée
La distance de vote entre deux députés est mise à jour à chaque scrutin par l'opération suivante :
- +0 si un des deux députés était absent,
- +1 si un des deux députés s'est abstenu et que l'autre a voté contre ou pour,
- +2 si un des deux députés a voté pour et l'autre contre.
Le tableau des distances obtenu présente donc de nombreux zéros qui sont élagués naïvement :
si deux députés
i et
j sont à distance nulle, il est possible qu'à cause de leurs absences ils
n'aient pas tous deux exactement les mêmes distances aux autres députés (
d(i,k) différent de
d(j,k)),
dans ce cas on choisit
d(i+j,k) = max(d(i,k),d(j,k)).
Une variante permet de prendre en compte les absences des députés :
ajouter +0.25 à la distance si un des deux députés était absent à un scrutin.
Ainsi, on obtient plus de députés à distance non-nulle les uns des autres, et donc
un arbre phylogénétique à environ 500 sommets (pas super efficace, comme moyen
de visualisation...).
Construction de l'arbre
La matrice de distance est alors convertie au format NEXUS et fournie au programme
SplitsTree 4.6 [
3], qui calcule l'arbre obtenu
par l'algorithme BioNJ [
2]. Les feuilles de cet arbre sont alors étiquetées, colorées
selon le parti d'un des députés qu'elles représentent (UMP en rouge, UDF en orange,
PS en rose, communistes et républicains en rouge, couleurs pâles si le député est
seulement proche du parti d'après les indications du site de l'Assemblée Nationale),
et le diamètre des cercles est modifiée proportionnellement au log du nombre de
députés qu'ils représentent.
L'arbre est ensuite dessiné avec 100 itérations de l'algorithme SpringEmbedder [
1]
puis amélioré manuellement dans SplitsTree afin d'obtenir
ce fichier NEXUS.
Avertissements, nuances, remarques
Je passe un peu vite ci-dessus sur un problème important : "le tableau des
distances obtenu présente donc de nombreux zéros qui sont élagués
naïvement".
Tout le problème vient des absences des députés (en particulier, pour les
motions de censure...) ! Et le régler de façon tout à fait correcte n'était
pas trivial. Le principe que j'ai choisi est que quand un député était
absent (pas mentionné dans le scrutin), je n'augmente pas sa distance par
rapport aux autres députés... Ce qui a le premier désavantage de n'accorder
aucun poids au vote des mentions de censure ! Allez, soyons un peu
technique... Puisqu'il n'est fait aucune distinction entre "ABSENT",
"CONTRE", et "ABSTENTION" par rapport à la motion, finalement, prendre en
compte la motion de censure ne change rien aux distances !
Dans le même genre, imaginons que :
A vote POUR à la loi 1, CONTRE à la 2,
B vote POUR à la 1, absent à la 2,
C vote POUR à la 1, POUR à la 2.
J'ai donc comme distances :
d(A,B) = 0,
d(B,C) = 0,
d(A,C) = 0.
Et quand je fais mes "élagages naïfs de zéros", si je commence par traiter
A, je vois d(A,B) = 0, je me dis : ah, mais alors A et B sont dans la même
feuille ! Alors que si je commence par traiter C, je vois d(A,C) = 0, je me
dis : c'est A et C qui sont dans la même feuille. Enfin, le cas le pire (que
j'ai essayé d'éviter en traitant à la fin les députés souvent absents...) si
je commence par B, je vois : d(A,B) = 0, puis d(B,C) = 0, et alors je me dis
> A et C sont dans la même feuille que B. Argh...
Pour régler le problème, et distinguer ABSENCE et ABSTENTION, c'est vraiment
pas simple. J'ai donc choisi de mettre tout de même en ligne l'arbre pour
l'information qu'il permettait tout de même de déduire. Et de remettre à
plus tard le réglement de ces problèmes. A priori, j'ai pas mal de
littérature à étudier, le problème a dû être traité en bioinfo, où certains
gènes sont parfois absents chez certaines espèces...
Autre problème lié à l'interprétation "fine" de l'arbre : certains députés
qui se sont trompés lorsqu'ils ont voté (ou bien les gens qui les
représentaient) ! J'ai pris en compte le vote final, et pas l'intention de
vote... Cela concerne en particulier Ségolène Royal, et explique qu'elle ne
se retrouve pas dans le gros "groupe PS".
Alors bon, pour une interprétation fine, on peut toujours se référer au
tableau de synthèse
qui est plus facile à lire que la liste des votes des
députés sur le site de l'Assemblée.
Une autre visualisation : la puce ADN
Cliquez dessus pour avoir les détails (et attention aux interprétations hâtives !) :
L'explosion de l'UDF illustrée sur l'arbre
Cliquez dessus pour avoir les détails :
Bibliographie
[1]
Philippe Gambette, Daniel H. Huson:
Improved layout of phylogenetic networks, à paraître dans TCBB.
[2]
Olivier Gascuel:
BIONJ: an improved version of the NJ algorithm based on a simple model of sequence data, Molecular Biology and Evolution, 14:685-695, 1997.
[3]
Daniel H. Huson and David Bryant:
Application of Phylogenetic Networks in Evolutionary Studies, Molecular Biology and Evolution, 23(2):254-267, 2006, logiciel téléchargeable sur
http://www.splitstree.org.
Liens
Construit avec