30 mai 2007

Eurovision, géopolitique et phylogénie, partie 1/2 : des pourcentages d'amitié aux distances d'amitié

Un peu plus d'un an que ce blog existe, je me permets donc de faire un petit bilan, avant de passer au sujet principal de ce billet, qui répond justement au premier posté ici l'an dernier, à propos de l'Eurovision.

Un rythme pas trop inégal d'un peu moins d'un billet par semaine, une collection de petits outils informatiques qui s'agrandit régulièrement (celui pour créer des nuages de mots, lancer de multiples requêtes Google, analyser les logs MSN), quelques idées de futurs billets en tête, tout cela m'incite à continuer dans la même veine. Surtout que ce blog m'est finalement très utile. Pour mettre à l'épreuve quelques idées reçues (sur la collusion des votes à l'Eurovision, la qualité des sondages...), ou quelques idées tout court (l'utilisation des moteurs de recherche pour l'orthographe et ses limites, le déclin de la qualité de traduction des titres de films...). Mais il m'a aussi permis quelques découvertes inattendues, sur la datation du big bang du web, la spécificité francophone de l'abréviation "MacDo" ou le syndrôme des moutons de Panurge chez les députés. Et je profite souvent d'avoir posté un billet pour approfondir un peu sur le sujet (certes, il serait préférable de le faire avant, mais je ne tiens pas vraiment à me lancer dans une étude biblio systématiquement...).

Je ne suis pas le premier à me féliciter des avantages du blog en tant qu'outil comunautaire, mais les discussions faisant suite à certains posts, qu'elles aient lieu sur le blog ou non, ont toujours été très enrichissantes. Et elles ont parfois rejoint directement un sujet de recherche scientifique "sérieux", que ce soit pour l'illustrer (le Voronoï des McDos parisiens par exemple, pour illustrer le jeu de Voronoï, ou la visualisation en plan de métro pour l'isomorphisme de graphes), le motiver (de nombreuses problématiques sur les distances en phylogénie), ou rester à sa frontière en attendant des liens éventuels (le corpus de la F-list et les modèles de diffusion ou les communautés dans les blogs). Bref, le blog qui s'introduit comme une des composantes de la méthode scientifique, ça me plaît bien, et je vais continuer à véroniser encore un peu...

Et pour aujourd'hui, ce sera un problème qui me trotte dans la tête depuis quelque temps déjà. Cela fait belle lurette que l'arbre phylogénétique a été utilisé pour représenter autre chose que des relations de parenté entre espèces ou gènes... C'est simplement un excellent outil de visualisation, qui est très expressif pour représenter des données séparées par des distances connues, plus en tout cas qu'un plongement dans le plan (en deux dimensions, parfois même plus expressif qu'un plongement en 3D...), bien qu'il soit planaire.

Le problème est que pour des applications non bioinformatiques, les distances utilisées doivent ressembler à des distances le long de branches d'un arbre pour que celui-ci soit vraiment expressif. On peut se rappeler de l'arbre des thèmes de la présidentielle de Jean Véronis construit à partir des "distances Google normalisées", qui était beaucoup plus expressif quand on fixait une longueur unitaire à toutes les arêtes de l'arbre. Si on ne le faisait pas, on obtenait une sorte d'étoile, avec des branches menant aux feuilles toujours très longues.

J'avais obtenu pour l'Eurovision l'an dernier un arbre assez satisfaisant, mais celui-ci représentait seulement les proximités de votes entre les pays : deux pays étaient rapprochés s'ils votaient de la même façon, et pas s'ils votaient l'un pour l'autre. Or ce second problème semble plus intéressant quand on désire quantifier les effets du vote d'amitié entre pays voisins. Reste à trouver une distance d(i,j) qui reflète que le pays i avantage le pays j dans ses votes, et inversement. Si vous voulez éviter ces détails techniques croustillants et passer directement aux résultats... vous n'avez plus qu'à attendre la seconde partie du billet

Un des défis est que la distance soit normalisée, c'est à dire qu'un pays n'ayant pas souvent participé, ou ayant reçu peu de points, ait des distances avec les autres comparables à celles d'un pays souvent présent au palmarès. Pour cela je propose donc l'approche suivante, qui m'a surpris par ses résultats qui semblent robustes (j'obtiens pour cette distance des arbres très similaires avec diverses méthodes de reconstruction, je reviendrai là-dessus...).

J'appelle P(i->j) le pourcentage des points donnés par le pays i au pays j, parmi tous les points reçus par le pays j. Un des avantages de cette approche est que le nombre de compétitions auxquelles ont participé i et j importe peu (ce qui est intéressant parce que par exemple l'Albanie n'a participé qu'une fois de 1975 à 2004, alors que la Grande-Bretagne était présente tous les ans). On dispose donc d'un ensemble de données normalisées P(i->j) pour chaque couple de pays, et on voudrait les transformer en données de distances qu'on note d(i->j). En particulier on veut qu'elles soient symétriques, c'est à dire que d(i->j) = d(j->i), et on veut que d(i->j) soit petit quand P(i->j) et P(j->i) sont grands, c'est à dire que d soit une fonction décroissante par rapport à P. Mais quelle fonction décroissante choisir ?

Pour trouver cette fonction convenable pour d, commençons par raisonner sur de petits exemples, c'est à dire de petits arbres binaires non enracinés où d est donc connue, et où on cherche à déterminer pour chaque noeud i des pourcentages P(j->i) raisonnables. On commence par l'arbre le plus simple possible, à 3 feuilles, en figure (a) ci-dessous. Chaque feuille étant placée à distance égale de ses deux voisins, les pourcentages des deux voisins doivent être égaux, c'est à dire par exemple pour la feuille 2 que : P(1->2) = P(3->2) = 1/2.
Supposons maintenant qu'on insère une feuille 4 dans l'arête qui aboutit à 3, comme illustré dans la figure (b). Le sous-arbre contenant 1 et 2 n'étant pas changé, on garde P(1->2) = P(2->1) = 1/2. Il reste donc 50% des points reçus par 1 à attribuer à 3 et 4, qui sont tous deux à la même distance de 1, donc : P(3->1) = P(4->1) = 1/4. En procédant de même pour chacune des autres feuilles, on obtient les pourcentages indiqués dans la figure (b).

De même, si on ajoute une nouvelle feuille, 5, on peut attribuer les points pour obtenir les pourcentages indiqués en figure (c). En fait la procédure pour attribuer les pourcentages de points de la feuille i peut se voir ainsi : on part de la feuille i et on parcourt l'arbre : à chaque embranchement rencontré, on divise par deux le nombre de points attribué par chacun des sous-arbres délimités par l'embranchement. Cette technique permet bien d'arriver à un total de 100% des points attribués, pour chaque feuille.

La formule est donc la suivante pour P en fonction de d :

P(i->j) = P(i->j) = 1/2^(d(i->j)-1),
ce qui donne pour d en fonction de P :
d(i->j) = 1 + log2 (1/P(i->j)),
et comme on veut que les distances soient symétriques, on fait la moyenne :
d(i,j) = (d(i->j) + d(j->i))/2.

Il reste à gérer un "léger" problème, celui des cas où P(i->j)=0, qui devrait donner une distance infinie. Quelle distance choisir dans ces cas-là, qui ne sont pas rares ? Difficile de choisir, je ne vois aucune façon naturelle de répondre à la question, et tous les essais que j'ai faits (choisir par exemple la plus grande distance dans la matrice pour ces cas-là, ou deux fois cette distance) donne des arbres avec quelques très longues branches au niveau des pays touchés par le problème. Ceci dit, il y a un moyen simple de régler le problème : corriger les données a priori !

Au lieu d'utiliser les données brutes, on va effectuer une sorte de lissage en ajoutant le fait que tout pays donne de toute façon un point à tout autre pays. Ainsi, en notant p(i->j) le nombre de points réellement donnés à j par i, au lieu de définir :
P(i->j) = p(i->j) / k p(k->j)),
on définit :
P(i->j) = (1+p(i->j)) / k 1+p(k->j)).
Ainsi, P n'est jamais nul, et l'arbre obtenu est plutôt convaincant... mais pour s'en rendre compte il faudra attendre la seconde partie de ce billet ;).

Je suis allé faire un petit tour dans la littérature concernant le concours de l'Eurovision, et les moyens utilisés pour estimer une "distance Eurovision" entre les pays sont assez variés.

Il y a une sorte de référence en la matière, l'article de Fenn, Suleman, Efstathiou et Johnson de 2005 (paru cette année dans Physica A) qui propose plusieurs critères quantitatifs :
- ils considèrent pour chaque année le graphe formé simplement en mettant les pays comme noeuds et une arête entre deux noeuds si un pays a donné un ou des points à l'autre. Ils comparent les coefficients de clustering, et la distribution des degrés (des paramètres classiques en étude de réseaux sociaux), de ce réseau par rapport à un réseau correspondant à un concours attribuant les points aléatoirement.
- pour dessiner un dendrogramme (une sorte d'arbre phylogénétique), ils ne se basent pas sur une distance indiquant l'affinité entre pays (qui était pourtant exprimée par le coefficient de clustering, et la distribution des degrés), mais reviennent à une approche plus classique de comparaison des votes, en utilisant le coefficient de Pearson (donc un peu plus sophistiqué que la simple somme des valeurs absolues des différences que j'avais utilisée l'an dernier), et en utilisant la méthode UPGMA pour la construction de l'arbre. En tout cas l'arbre obtenu fait bien ressortir quelques signaux forts d'affinité de goûts entre pays.

L'analyse de Gatherer de 2006 cherche à identifier localement les collusions entre pays et leur évolution, mais ne fournit pas de panorama global.

L'article de Dekker, The Eurovision Song Contest as a 'Friendship' Network, propose un "score d'amitié" intéressant : il estime un score attendu en fonction des résultats globaux, et le score d'amitié reflète la différence entre le nombre de points attendu et le nombre de points réellement obtenus. Toutefois, l'auteur indique que la construction d'un arbre phylogénétique n'est pas appropriée en utilisant ces scores : ajouter un bruit aléatoire de 0 à 0,1% pour altérer les données fournit des arbres assez différents. C'est justement sur ce point que j'espère que la formule de distance présentée dans ce billet sera plus robuste.
A noter aussi dans cet article le joli graphique en 3D représentant les points attribués entre pays en fonction de la proximité entre eux (calculée en terme de nombre minimal de frontières à traverser pour passer de l'un à l'autre).

Bref, tests et figures à venir, en attendant vous pourrez toujours aller voir la carte de l'Europe colorée en fonction des points attribués au concours 2007 sur Agoravox...

11 mai 2007

Positionnement des députés UDF

La partie la plus intéressante de l'arbre phylogénétique des députés (qui les rapproche selon leurs votes à l'assemblée entre octobre 2004 et fin 2006) est la partie centrale, avec l'ensemble des députés UDF éparpillés le long du chemin de la droite à la gauche.

Le premier tour l'avait déjà entamée, le deuxième tour a sonné le glas de cette belle diversité centriste, en voilà le bilan en images (grâce aux informations trouvées ici principalement) :

Le dégradé de bleu est relativement bien respecté, et on comprend la déception de François Bayrou de s'être fait abandonner par des députés ayant voté exactement comme lui pendant plus de deux ans. On peut aussi s'étonner qu'aucun député ayant déclaré simplement voter Nicolas Sarkozy (sans le soutenir plus concrètement en participant à ses meetings) n'ait annoncé à ce jour rejoindre le Mouvement Démocratique. Enfin... l'étonnement est tout relatif, visiblement, c'est une histoire de "stratégie" :
Un seul élu ayant "lâché" François Bayrou est venu expliquer sa démarche à la tribune : l'eurodéputé Jean-Louis Bourlanges.
"L'heure, c'était de rester, de reconstituer une majorité", a-t-il déclaré sous quelques huées. "En refusant cela, vous vous enfermez dans la plus sympathique mais la plus tragique des impasses stratégiques".

On verra ce qu'en pensent les électeurs dans un mois...

Quant au vote centriste ce dimanche, la révolution blanche n'a pas eu lieu : 4,2% de vote blanc ou nul (soit plus de 1,5 millions tout de même, mais à comparer avec les 5,39% de 2002, et 4,8% de 1995). D'après un sondage IPSOS, 7% des électeurs de Bayrou au premier tour (et 5% de ceux de Le Pen) ont voté blanc au second tour. L'AFP avait mis sous les projecteurs le village de Lourdios-Ichère dans le Béarn qui s'était prononcé à plus de 63% pour Bayrou au premier tour, voici les résultats du second : 9,65% de blancs/nuls, et parmi les exprimés près de 67% pour Sarkozy.

Mise à jour du 11/05/2007 : les députés UDF qui rejoignent la "majorité présidentielle" s'engagent à soutenir le gouvernement sur la censure et le budget, j'ai donc ajouté à la figure un récapitulatif des députés UDF qui avaient voté pour la censure de mai 2006 (post-CPE) et ceux qui ont voté contre la loi de finances pour 2006 (les votes sont presque identiques pour celle de 2007), et bizarrement, certains noms accompagnés d'une pastille rose ou rouge sont pourtant écrits en bleu clair, et ne sont pas soulignés...

Mise à jour du 12/05/2007 : merci à Muff qui me signale que le bayrousien roubaisien Gérard Vignoble a voté blanc.

4 mai 2007

Le vote blanc, vainqueur du grand débat du 2 mai ?

J'attendais un débat de fond, j'ai été déçu. Alors que celui de samedi entre Royal et Bayrou avait au moins bien mis en relief les différences subtiles et les points d'accord de chacun, celui de mercredi était une opposition bloc contre bloc, chaque argumentation étant parsemée d'erreurs. Décevant.

Et je ne suis pas le seul : regardez le nombre de blogs mentionnant l'expression "vote blanc" et "voter blanc" le lendemain, le 3 mai, d'après Technorati :


Il est intéressant de vérifier aussi l'effet du débat sur le mot "abstention" : rien de flagrant, le pic a lieu plutôt le premier mai avec la consigne de Le Pen.

Mise à jour : alors, combien de votes blancs ou nuls le 6 mai ? Réponse ici.

2 mai 2007

Bilan des sondages de 2002

Après mon bilan sur les sondages du premier tour, Jean Véronis m'avait demandé si des données similaires existaient pour 2002. Grâce à la base de données du site france-politique.fr, voici des graphiques similaires : nuage de points pour les quatre candidats arrivés en tête, et moyenne des intentions de vote pour l'ensemble des cinq instituts (et document source Excel et OpenOffice).
Pour mémoire, la gifle de Bayrou, c'était le 8 avril, appréciez l'effet mesuré par les sondeurs... Mon rasoir d'Occam à 16 lames m'incite à penser que ça n'est pas étranger à la symétrie des courbes de Chirac et Bayrou dans les derniers jours. Remarquez aussi la jolie symétrie pendant les dernières semaines des courbes de Laguillet et Besancenot. A moins que certains de ces électeurs contestataires soient passés d'un extrême à l'autre... La chute brutale de Pasqua, c'est simplement qu'il a abandonné la course. N'hésitez pas à commenter les chutes et les pics, j'avoue qu'ils ne m'évoquent pas grand chose, moi qui étais encore mineur en ce temps-là... C'est bien dommage puisqu'on y voit des chassés-croisés et des dépassements plus jolis qu'en 2007.

Et pour calculer les distances entre les prévisions et les résultats, prenons la racine de la moyenne des carrés des écarts (entre le dernier sondage publié à J-2 et le résultat final), pour obtenir cet histogramme :
La proximité des erreurs moyennes en 2002 et en 2007 laisse songeur : les sondages n'étaient finalement pas si mauvais en 2002 ? Pas si bons en 2007 ? Ou bien la distance choisie pour le calcul d'erreur n'est pas assez expressive ? Il est vrai qu'on considère un sondage comme réussi plutôt quand l'ordre prédit est le bon, et pas vraiment quand le score des petits candidats est correct à la virgule près... Ca mériterait peut-être que je me renseigne sur les distances d'ordre un de ces jours.