12 décembre 2007

tag cloud + tag tree = nuage arboré (1)

Vous avez déjà travaillé avec deux objets, pour vous rendre compte que combinés ils fonctionnaient vachement mieux ? C'est la vraie révélation du dernier article de Jean Véronis sur Aixtal !
Après lecture de son blog ou du mien, vous êtes convaincus qu'un nuage de mots dont la taille (et la couleur, j'apprécie beaucoup les teintes rouges, oranges, et bleues du Nébuloscope, introduites en partie chez TagCloud) reflète la fréquence, c'est très utile pour donner un aperçu rapide d'un texte ou d'un corpus. Vous êtes tout autant convaincus qu'un arbre phylogénétique peut donner un aperçu rapide de relations entre des mots-clés. Et quand on mixe les deux ? Je cite : "c'est marrant les arbres... ils peuvent nous raconter des histoires". Et voilà, un nouvel outil de visualisation d'histoires !

Dans l'exemple dédié à Laurence Ferrari, ce sont les résultats Wikio qui sont "passsés à la moulinette". Mais de la même façon qu'on peut effectuer un nuage de mots depuis un simple texte (avec TagCloudBuilder et une échelle de coloriage logarithmique bien sûr !), j'ai l'impression qu'un nuage arboré (tree-cloud pour nos amis anglophones) est encore un meilleur moyen d'avoir un aperçu rapide d'un texte. L'ordre alphabétique complètement artificiel des tags dans le nuage est remplacé par une disposition hiérarchique intuitive et informatrice !

Alors maintenant, quelle distance entre mots choisir pour reconstituer l'arbre, sur un simple texte ? J'ai fait l'essai suivant : pour chaque paire de mots, leur distance mutuelle est égale au log du nombre de mots minimal qui les sépare. J'avais déjà tenté de commencer à justifier théoriquement l'introduction du log pour certaines reconstructions "phylogénétiques" (la seconde partie du billet est toujours dans les cartons), là je l'introduis a priori seulement pour éviter quelques trop longues branches. J'ai prévu de tester quelques améliorations de cette idée : nombre de mots moyen séparant la paire de mots, éventuellement seulement sur les occurences les plus rapprochées de la paire...

Je garde ces préoccupations pour un éventuel billet suivant, et je livre un exemple d'application de ce principe, tiré du premier texte de longueur convenable que j'avais sous la main, une interview en anglais de Tom Sharpe. L'heure tardive ne me permet pas de mixer arbre et nuage de mots, les voici donc, à mixer mentalement (pour le moment) :
Pour la construction de l'arbre, j'ai gardé seulement les mots présents plus de 3 fois, et contrairement au nuage de mots, n'ai pas enlevé les mots très présents peu porteurs de sens (I, the, to, l'antidico quoi...), qui ne gènent pourtant pas vraiment dans l'arbre (is, of, in, the, he arrivent au niveau du centre).

Le choix de la distance conduit à certains rapprochement un peu artificiels, toutefois la plupart des sous-arbres ont un sens. Soit constitués justement de mots de l'antidico, donc à négliger, soit reflétant les principaux thèmes de l'article. En particulier le sujet général apparaît dans le sous-arbre {village,where,Tom,Sharpe}. Afficher le contexte au passage de la souris sur une feuille ou un sous-arbre serait donc particulièrement intéressant.

Du travail en perspective, donc. A suivre sur ce blog... et sur treecloud.org !

Les fichiers sources des images ci-dessus : fichier Nexus de l'arbre phylogénétique, mots et occurences, mots et occurences avec anti-dico manuel, nuage de mots de TagCloudBuilder, programme de construction de la matrice de distance format Nexus et source Delphi peu commenté pour l'instant.

23 octobre 2007

Dissection d'une pétition (3) : robustesse des résultats

Je reviens sur les résultats de mon dernier billet concernant les tendances horaires d'utilisation d'internet selon la catégorie professionnelle. Quelques éléments de tendance avaient été identifiés, et j'avais avancé dans chaque cas une cause pouvant les expliquer. A quel point ces tendances sont-elles réelles, pourraient-elles être dues à la procédure utilisée pour obtenir les graphiques ?

En général pour vérifier que des résultats trouvés à partir d'analyses statistiques sont corrects, on réeffectue tous les calculs en modifiant légèrement les données. C'est la technique de "rééchantillonnage" ou "bootstrap", particulièrement utilisée en phylogénie (c'est d'ailleurs cette étape de vérification qui traîne et m'empêche de terminer mon billet sur une proposition de "distance Eurovision").

Dans le cas de la pétition TouchePasAMonAdn je ne vais pas modifier les données de départ concernant les signataires, mais plutôt utiliser d'autres règles de regroupement de professions qui donneront donc lieu à un nouveau lot de données. J'avais précisé que les règles que j'avais utilisées pour interpréter les noms de professions entrées par les signataires étaient un peu arbitraires, j'obtenais finalement trois gros groupes (retraités, étudiants, enseignants), et un ensemble de groupes beaucoup plus petits. C'est en tombant sur l'analyse des statistiques sur la pétition EUCD.info que j'ai découvert d'autres règles de groupement de professions qui m'ont semblé meilleures (page 2). Sont-elles effectivement meilleures ? Est-ce qu'en les appliquant on obtient des courbes de tendances similaires ?

Première réponse : oui, les règles d'Eucd sont meilleures, puisqu'elles permettent d'identifier plus de professions. Mes règles personnelles appliquées sur les signataires du 4 octobre permettait de récupérer la profession de 50,5% d'entre eux. Avec les règles d'Eucd.info, j'arrive à 64,3% d'identification de la profession (les signataires de TouchePasAMonAdn ont "mieux" indiqué leur profession que ceux d'Eucd où ils atteignaient seulement 36,6% d'identification). Et en plus de la quantité, la qualité est au rendez-vous : les courbes sont beaucoup plus équilibrées, avec le groupe des "employés" qui passe en première position dans l'ensemble des signataires.

Seconde réponse : oui, les tendances identifiées sont toujours visibles, excepté peut-être le "repas de 13h" des journalistes un peu noyés dans la masse. La disjonction du groupe d'étudiants en post-bac et lycéens/collégiens permet aussi d'identifier une nouvelle tendance sur ces derniers (utilisation d'internet plutôt le soir).

On remarque aussi certaines courbes presque constantes, celles des cadres, des professions libérales, des fonctionnaires, groupes au sein desquels on ne peut donc pas identifier de comportement commun vis à vis de l'utilisation d'internet.

Enfin je m'étais bien gardé de comparer entre différentes professions les pourcentages de signataires trouvés (pour éviter de fausses impressions du genre "ceux qui ont le plus signé la pétition sont les employés", attention j'ai 30% de professions que je n'ai pas identifiées !), mais après cet avertissement je peux me permettre de comparer les pourcentages de signataires par profession avec ceux de la pétition EUCD.info :
Et là les pourcentages de signataires de la pétition TouchePasAMonAdn sont clairement plus représentatifs de la société française que ceux de Eucd.info. Je suis particulièrement étonné par la proportion de retraités : traduit-elle un plus grand intérêt pour cette pétition comme pour les enseignants ou les professions libérales, ou est-ce simplement un reflet de la forte augmentation du "taux de connexion" des retraités depuis 2 ans (la pétition EUCD a commencé fin 2005) ?

21 octobre 2007

Dissection d'une pétition (2) : à quelle heure surfent les retraités, enseignants, étudiants, ingénieurs...

J'expliquais dans mon dernier billet comment récupérer l'heure et la profession de chaque signature de la pétition Touche pas à mon ADN. On va voir maintenant que les résultats obtenus illustrent les habitudes de surf sur internet de chaque profession.

Tout d'abord voyons comment j'ai uniformisé les noms de professions (vous pouvez passer directement au graphique en bas si vous voulez éviter ces détails techniques...). Effectivement, dans la base de données brutes, on trouve "étudiant" aussi bien qu'"étudiantes", les professeurs détaillent parfois quelle matière ils enseignent, etc. Bref il faut regrouper certaines professions. Voici les règles utilisées (sur des chaînes de caractères que j'ai "désaccentuées"), dans cet ordre, tout à fait subjectives et critiquables (les commentaires sont faits pour ça [modification du 21/11/2013 : si je devais refaire le travail ci-dessous aujourd'hui, je ne mettrais évidemment pas "doctorant" et "thesard" dans la catégorie "étudiant", mais bien dans la catégorie "chercheurs", je n'étais alors qu'au début de mon doctorat et pas très sensibilisé à ces questions...]) :
profession contient "retraite" > retraité
profession contient "etudiant" ou "lyceen" ou "collegien" ou "doctorant" ou "thesard" > étudiant
profession = "prof" ou contient "enseignant" ou "professeur" > enseignant
profession contient "medecin" > médecin
profession contient "sans emploi" ou "sans profession" ou "chomeur" > chomeur
profession contient "architecte" > architecte
profession contient "assistant" et "social" > assistante sociale
profession contient "chercheu" > chercheur
profession contient "fonctionnaire" > fonctionnaire
profession contient "infirmier" > infirmier
profession contient "graphiste" > graphiste
profession contient "informaticien" ou "webmaster" > informaticien
profession contient "ingenieur" > ingénieur
profession contient "journaliste" > journaliste
profession contient "musicien" ou "chanteu" > musicien
profession contient "psychologue" > psychologue
profession contient "secretaire" > secrétaire
profession contient "technicien" > technicien
profession contient "commer" ou "vendeu" > commercial
profession contient "au foyer" > mère au foyer
profession contient "ouvrier" > ouvrier
profession contient "plombier" ou "artisan" ou "electricien" > artisan

Pourquoi me limiter à ceux-là ? La méthodologie pour déterminer les noms de métiers "significatifs" a été la suivante : afficher dans un tableur le tableau des professions récupérées pour les deux premiers jours de la pétition (eh oui, les tableurs ont un nombre de ligne limité, je ne pouvais pas insérer toute ma base), trier par nom de métier croissant, puis filtrer (c'est formidable, cette fonction des tableurs découverte à l'occasion de mon enseignement de C2I...) tous les métiers qui apparaissent plus de 50 fois.

Résultat : pour le 4 octobre par exemple, sur 32845 signataires, 30222 ont indiqué leur profession, mes règles basiques me permettent d'en récupérer 16605. Au total je récupère 79104 indications de professions. Assez pour que la loi des grands nombres s'applique et que je puisse espérer obtenir des résultats représentatifs. Voici le graphique des données récupérées pour les signatures du 2 au 10 octobre (j'avais mentionné dans mon post précédent que les données des jours suivants contiennent des doublons qui peuvent être gênants pour ces stats) :
En sélectionnant les courbes des trois groupes les plus représentés : enseignants, étudiants, retraités, on remarque que leur allure est similaire les jours de semaine, et un peu différente le weekend. Ce sont ces régularités qui justifient qu'effectivement certains motifs particuliers apparaissent pour chaque profession, que l'on va pouvoir tenter d'expliquer : un creux dans une des courbes indique que moins de personnes signent la pétition, elles doivent donc faire autre chose que surfer sur internet. Par exemple, remarquons le creux de 16h le dimanche. Il doit y avoir une explication : la promenade dominicale peut-être ? (Re)précisons que le creux du samedi a une cause technique : une défaillance du site web de la pétition certainement.

Certaines régularités étant observables pour les jours du lundi au vendredi, on va donc regrouper les données de ces jours pour obtenir des statistiques horaires par profession et visualiser certaines de leurs habitudes de vie. Comme on s'intéresse aux spécificités de chaque profession, c'est moins le nombre de signataires horaires que le pourcentage horaire de signataires de chaque profession qui nous intéresse, le voici donc représenté :
Regardons les trois groupes les plus représentés : entre minuit et 3h, belle prépondérance de la courbe des étudiants, visiblement plus couche-tard. Attention toutefois, entre 1h et 6h, les données ne sont pas extrêmement significatives... Si les retraités semblent avoir une représentation constante depuis 4 heures du matin, il semble que beaucoup d'enseignants vont surfer au réveil, entre 6h et 8h. Pour les étudiants, le réveil a visiblement lieu plus tard, ce qui apparaissait déjà bien sur la courbe s'étendant sur toute la semaine. Nouveau pic enseignant à 18h, petit surf de retour du boulot certainement ? Pour les retraités, les creux se placent à 13h et entre 19h et 22h : repas de midi, et soirée devant la télé ?

Maintenant regardons plus précisément les groupes moins représentés :
La pause repas d'une heure le midi semble particulièrement suivie par les ingénieurs qui semblent utiliser internet dès leur arrivée au travail le matin, et éventuellement en rentrant chez eux le soir après 19h. On a un beau pic de psychologues insomniaques à 4h du matin qui concerne en fait 8 individus, et de chercheurs à 5h, qui en concerne 9... on atteint ici les limites de significativité. Pour les informaticiens, se dégage bien un plateau entre 8h et 16h, intervalle qui doit correspondre à leurs heures de travail et donc de présence sur internet. Pour les journalistes enfin, remarquons comme pour les ingénieurs le creux vraisemblablement expliqué par la pause repas, qui semble là être décalée à 13h.

La compilation de ces courbes fait donc bien apparaître quelques variations significatives (le prochain billet s'intéressera justement à cette significativité, et à la robustesse des résultats présentés ici), qu'on peut tenter d'expliquer par des comportements globaux inhérents à la profession. N'hésitez pas à en mentionner d'autres en commentaires, pour visualiser mieux une courbe en la mettant en gras, vous pouvez modifier le document source, un fichier au format Excel.

19 octobre 2007

Dissection d'une pétition (1)

De retour après avoir passé du temps à l'Inathèque, déménagé, commencé ma thèse, et préparé mes premiers enseignements, me voilà prêt à décortiquer un nouveau phénomène viral, après la F-list, la pétition "Touche pas à mon ADN".

Là malheureusement, on n'a pas autant d'informations sur la transmission du phénomène que pour les F-lists, mais on va essayer de tirer quelques conclusions à partir de la jolie base de plus de 200 000 signataires disponibles sur le site TouchePasAMonAdn.com. Première difficulté, récupérer la base de données, qui est répartie en plusieurs feuilles de 400 noms. Pour ça j'ai mon "aspirateur" personnel, qui visite les pages voulues en extrayant les informations utiles du code HTML des pages. Une petite difficulté supplémentaire : la liste se met à jour pendant l'aspiration, il a donc fallu mettre en place a posteriori une détection automatique des signataires qui avaient été enregistrés deux fois : en fin de page et en début de page suivante. Ca paraît relativement simple, hein ? Sauf que la tâche se complique quand les organisateurs décident de nettoyer leur base de signataires d'avant le 11 octobre, en réorganisant au passage de façon apparemment aléatoire (rangée ni dans l'ordre alphabétique, ni chronologique) la liste des signatures avant cette date.

Alors pourquoi une telle réorganisation ? Tout d'abord, à cause des signataires qui cliquent mal : beaucoup de doublons apparaissent dans la liste brute. Ensuite, à cause des petits rigolos qui font des blagues. En voilà un petit florilège (vous vous rappelez des Zidane et Chirac d'Unitaid ?), attention la finesse n'est pas toujours au rendez-vous...

04 octobre 2007, 02:15;nicolas sarkozy;nabot présidentiel (république bananière);
04 octobre 2007, 12:29;Nicolas Sarkozy;;
04 octobre 2007, 13:01;Nicolas Sarkozy;Président de rien du tout;
04 octobre 2007, 14:54;NICOLAS SARKOZY;président (france);
04 octobre 2007, 17:43;Nicolas Sarkozy;Président (aucune);
04 octobre 2007, 18:38;nicolas sarkozy;président;
04 octobre 2007, 20:52;Nicolas Sarkozy de Nagy Bocsa;Président, enfin... je crois;
16 octobre 2007, 08:36;nicolas sarkozy;président des francais;
03 octobre 2007, 11:00;brice hortefeux;schizophrène (Dictature Sarkozyenne);
03 octobre 2007, 11:52;BRICE Hortefeux;Fuhrer (République Francaise);
03 octobre 2007, 13:41;hortefeux brice;raciste 2nd;
03 octobre 2007, 17:12;Brice HORTEFEUX;;
03 octobre 2007, 17:28;Brice Hortefeux;Face de pet;
03 octobre 2007, 21:47;BRICE HORTEFEUX;ministre de la betise;
03 octobre 2007, 22:50;Brice Hortefeux;futur ex-Ministre;
03 octobre 2007, 23:13;Brice Hortefeux;;
04 octobre 2007, 16:12;brice hortefeux;;
04 octobre 2007, 16:13;Brice HORTEFEUX;Ministre (SARKOLAND);
16 octobre 2007, 12:16;brice hortefeux;;
03 octobre 2007, 21:59;Thierry Mariani;Député cocu;
03 octobre 2007, 18:48;thierry mariani;député (bientôt chômeur);
12 octobre 2007, 15:04;Thierry Mariani;député;
13 octobre 2007, 21:04;THIERRY MARIANI;MINISTRE : vous êtes tous des rigolos !;
03 octobre 2007, 10:53;GEORGES BUSH;u want2fukme;
03 octobre 2007, 22:22;jorge bush;rongeur (otan);
04 octobre 2007, 15:37;georges bush;;
04 octobre 2007, 23:30;GEORGES BUSH;USA;
13 octobre 2007, 22:54;Debeuliou Bush;President of the United-States of America;
16 octobre 2007, 06:33;georges bush;;
12 octobre 2007, 18:49;François Mitterrand;Illusionniste;
13 octobre 2007, 17:41;Chirac Bernadette;Pute des routes;
16 octobre 2007, 10:57;Jacques Chirac;ancien Président de la République;
03 octobre 2007, 11:35;zidane zinedine;retraité;
03 octobre 2007, 18:05;Zinedine Zidane;ancien footballeur;
03 octobre 2007, 22:50;zidane zinedine;footballeur;
03 octobre 2007, 23:23;zinedine zidane;footballer (OM);
04 octobre 2007, 23:27;Zinédine Zidane;Footballeur retraité;
15 octobre 2007, 18:38;Zinedine Zidane;retraitée du sport (les pervers);
15 octobre 2007, 19:06;Bernard Kouchner;National Socio-traitre (Nazie) (Heil Hitler !);
04 octobre 2007, 23:32;KOUCHNER Bernard;Extérieur du Ministère;
16 octobre 2007, 09:26;Francois Bayrou;Clown;
04 octobre 2007, 10:35;fadela amara;traitre (ump);
17 octobre 2007, 07:20;test test;test (test);
17 octobre 2007, 07:17;Kipeutebattre croustibat;poisson pané (findus);
16 octobre 2007, 02:02;Kylie Minogue;Chanteuse;


Depuis, certains de ces noms ont disparu : les Sarkozy et Hortefeux d'avant le 11 octobre. Il reste les Zidane. J'imagine donc qu'une certaine partie du tri a été faite manuellement (pour automatiser un peu tout ça je suggérerais de classer les signataires par ordre alphabétique et vérifier les groupes de personnes qui ont le même nom et prénom, ou encore d'utiliser FuryPopularity sur les noms de tous les signataires pour identifier les noms connus... et donc suspects). La partie automatique de suppression des répétitions a visiblement été efficace, puisqu'elle a fait passer le nombre de signataires du 4 octobre de 41000 à 33000 environ, pour le 3 octobre de 30000 à 28000. L'ordre de grandeur est toutefois respecté, ce qui peut rassurer les quelques visiteurs étonnés par ces doublons.

Bref, même si la récupération de la base n'est pas immédiate, elle est possible, et je l'ai bien vite enregistrée en supprimant les données nominatives, gardant seulement l'heure et la profession pour chaque signataire. La profession, je la garde en réserve pour la deuxième et la troisième partie de ce billet, regardons seulement l'évolution des signatures pendant la première quinzaine de la pétition :
Remarquons d'abord le joli démarrage, qui doit laisser rêveur tout adepte de marketing sur internet... Est-ce que la "qualité du produit" a suffi à attirer une telle foule ? Quels ont été les relais publicitaires pour faire connaître le site aussi vite ? Médias traditionnels, bouche à oreille, blogs, mails ? S'il n'est pas évident de le déterminer (le décollage commence à 8h du matin !), on peut en revanche remarquer une forte corrélation entre le nombre de billets de blogs citant la pétition, ou son adresse, et le nombre de signataires :
Notre tableur préféré nous donne un coefficient de corrélation de 0.80 entre le nombre de signataires et le nombre de billets quotidiens contenant "Touche pas à mon ADN" d'après Blogsearch, 0.76 avec le nombre de ceux qui contiennent le lien vers touchepasamonadn.com. Remarquons aussi que les deux courbes Blogsearch très proches avant le 13 octobre divergent ensuite. Pourquoi ?

La clé de l'énigme, c'est le meeting concert Touche pas à mon ADN, dont les gens ont visiblement parlé sur leur blog sans donner l'adresse de la pétition. Toutefois l'événement a eu un retentissement médiatique qui se visualise très bien le 14 octobre au soir avec deux pics de signatures vers 19h50 et 20h20, et qui redonne de l'énergie au nombre de signatures par heure.

Enfin vous aurez noté sur le graphique de l'évolution des signatures deux interruptions du site, le 11 octobre au soir, et le 6 octobre avant 17h. Il semble tout de même avoir tenu le coup aux moments les plus critiques.

Pas encore efficace, cette pétition montre toutefois quelques conditions nécessaires pour un succès. Un relai médiatique, une solide structure technique pour accueillir les signatures voire vérifier leur authenticité. Où s'arrête l'initiative populaire et où commence le lobbying super organisé et forcément bien financé ? En attendant de telles initiatives permettent au moins de maintenir une certaine vigilance... et nous donner des indications sur les horaires de surf des étudiants, des enseignants, des retraités, des chercheurs, des ingénieurs. A suivre très bientôt, dans le prochain billet !

5 juillet 2007

Avoir vocation à... une héritation de Chirac

Parti traquer les erreurs de pronoms relatifs (oui, merci, la pêche a été bonne...), j'ai été étonné, après le billet de Jean Véronis sur l'expression "avoir vocation à", de l'entendre 3 fois dans la bouche de Brice Hortefeux dimanche dernier dans son passage au Grand Jury d'RTL :

"les pays d'immigration n'ont pas vocation à laisser partir [...] toute leur élite"
"Tout immigré en situation irrégulière a vocation à être reconduit à la frontière"
"s'ils sont interpelés, ils ont vocation à être reconduits dans leur pays"

Alors, contamination par le patron ? Ou bien reflet d'une utilisation plus généralisée ?

Pour tester cela j'ai tout d'abord essayé une combinaison de recherches Google de la forme :
n1 = nombre de résultats Google pour ("Nicolas Sarkozy")
n2 = nombre de résultats Google pour ("Nicolas Sarkozy" "vocation à")
n3 = nombre de résultats Google pour ("Nicolas Sarkozy" "pas vocation à")


Pour effectuer ces recherches en masse sur une brochette de politiques, aucun problème, mon programme FuryPopularity dont je vous avais déjà parlé se débrouille très bien. Je viens d'ailleurs d'y ajouter la possibilité de récupérer le nombre de résultats pour un ensemble de requêtes sur les moteurs Yahoo et Dir.com. L'objectif était donc de comparer pour l'ensemble des politiques les valeurs n2/n1, et aussi les n3/n1.

Premier problème, encore et toujours, les fantaisies des moteurs Yahoo et Google. Les deux sont concernés, pour Yahoo j'ai même eu parfois n3>n2 ! Mais bon, ça, je m'y attendais. J'ai essayé d'ajouter un petit test pour m'assurer que les chiffres n'étaient pas trop absurdes, récupérer aussi :
n4 = nombre de résultats Google pour ("Nicolas Sarkozy" "vocation à" -"pas vocation à")
Là théoriquement n2-n3-n4=0, je considérais le résultat comme correct quand (n2-n3-n4)/n2 restait inférieur à 10% : rien à faire, les deux moteurs fournissaient des résultats incohérents et non significatifs. Idem du point de vue du manque de significativité pour Dir.com qui est plus rigoureux dans ses annonces de résultats.

Bref, il fallait un corpus de discours d'hommes politiques, plus spécifique que le web tout entier. Evidemment, je me tiens au courant de l'actualité... Mais 19 discours de politique générale, ça ne fourmille pas de "vocations à". Heureusement mon moteur de recherche préféré (malgré ses défauts cités plus haut) m'a indiqué le corpus du "concours" DEFT'05, qui réunit des extraits d'allocutions de Jacques Chirac et François Mitterrand (bien annoté, ce qui m'a permis de séparer les uns des autres sans programmer une ligne de code, avec simplement des rechercher/remplacer et Microsoft Excel). Verdict sur les 1 036 331 mots de Chirac et les 202 120 de Mitterrand ? 95 "vocation à" pour le premier, 4 pour le second.

Bingo ! C'était bien vu de la part de Narvic dans les commentaires d'Aixtal, Jacques Chirac atteint un joli 9,17 "vocation à" sur 100 000 mots, face aux presque 11 pour 100 000 de Nicolas Sarkozy, et aux 1,98 sur 100 000 de François Mitterrand


Alors, Sarkozy digne héritier de Chirac pour l'utilisation de cette expression ? Pas tout à fait, il a su ajouter sa petite rupture. Comptons parmi toutes ces occurences le nombre de "pas vocation à" : 9,4% pour Jacques, 42,5% pour Nicolas...

De là à irriter l'ancien président comme le prétend Google...

19 juin 2007

Google toujours misogyne

Google s'était un peu corrigé après l'affaire de "toutesdesbeautés" et du ségolisme, allant même jusqu'à douter de l'ouverture d'un "Sarkozy gauchiste". Mais ses suggestions orthographiques continuent à dégrader l'image de la femme : apparemment les filles préféreraient sécher plutôt que bûcher.

Les garçons bûcheurs quant à eux deviennent bouchers :

11 juin 2007

Archives du blog François-Mitterrand-2007

You've been Google-cach'd!Fin du mystère sur le blogueur/médium de François Mitterrand, grâce à Nicolas Voisin dont la démarche est plus ou moins appréciée.

La fermeture s'est accompagnée de la suppression de tous les billets précédents. Heureusement que notre ami Google avait (presque ?) tout archivé scrupuleusement. Comme ce n'est pas très facile de se promener là dedans, voici le catalogue des billets ordonnés chronologiquement ! Et le cache de Google n'étant pas éternel, je remplacerai à leur disposition les liens cassés par des pointeurs vers les fichiers fraîchement sauvegardés (ce qui n'était d'ailleurs pas trivial, je n'ai pas réussi à configurer mon aspirateur préféré pour archiver tout ça et j'ai dû concocter un petit programme personnel).

A ce propos, je me demande d'ailleurs comment sont gérées les questions de droits d'auteur pour des productions anonymes... En tout cas, Google ne se pose pas la question, pour le plus grand plaisir des lecteurs du "cache" !

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.

27 avril 2007

Postures et énigme politicombinatoire

Avec les débats Royal-Bayrou demain et Royal-Sarkozy la semaine prochaine, on peut espérer que la campagne va toucher au fond des discours de chacun, après avoir plutôt touché le fond. La campagne du premier tour a été une succession de postures (et d'impostures ?).

Les trois candidats arrivés en tête ont tenu à incarner le politique nouveau, avec en particulier une liberté de ton rafraîchissante, à laquelle chacun a ajouté ses spécificités. Ségolène Royal s'est définie comme l'incarnation de l'ordre juste, de la femme, de la mère, du vote utile anti-Le Pen. Pour Nicolas Sarkozy, c'était la fermeté, la réforme ou rupture, et plus récemment le rassemblement. François Bayrou a commencé par être l'opposant aux puissances médiatiques, pour devenir le centriste en lutte contre le bipartisme, ou encore le vote utile anti-sarkozy.

Ces postures ont l'avantage d'être très faciles à médiatiser. Elles créent la polémique et peuvent facilement être démontées par les adversaires : les qualités mises en avant par le candidat sont retournées contre lui, ou tout simplement niées preuve à l'appui ou presque. Royal a donc subi le machisme et les accusations d'incompétence. Sarkozy est devenu un facho, ou l'héritier du bilan du gouvernement sortant. Bayrou, un utopiste sans majorité à l'assemblée profondément ancré à droite.

Le débat "proposition contre proposition" sur des questions précises n'a jamais été mis en avant à la télévision ou dans la presse écrite. Ce que j'aurais aimé avoir, ce n'est pas le catalogue de propositions de chacun des candidats, mais plutôt, sur chaque thème, les différents points de vue et les convergences. Des tentatives de synthèse ont été entreprises, mais elles ne faisaient pas apparaître clairement les consensus et les incompatibilités. C'est une démarche que j'aurais attendu de la part des centristes : combien de points du pacte présidentiel de Ségolène Royal seraient acceptés aussi par Nicolas Sarkozy ? On en a vu défiler, des pactes ou questionnaires (celui de Nicolas Hulot, du collectif AC Le Feu, des langues, le questionnaire sur les logiciels libres...) : ce sont devenus des packs de propositions ne donnant lieu à aucun débat contradictoire, aucun résumé synthétique.

Et les sites qui prétendaient avec une série d'une vingtaine de questions calculer votre similarité avec tous les candidats ? Où sont les tableaux des réponses des candidats à ces questions ? Pour une fois qu'on aurait pu avoir un avis clair (voire binaire) à des questions censées nous déterminer politiquement de la part de tous les prétendants...

On a préféré la politique spectacle, plus facile à "vendre", et plus ludique. Attention, je ne le critique pas totalement : déjà, ça a permis d'atteindre presque 85% de participation au premier tour. Je vais même plus loin, c'est l'appréciable, voire nécessaire, première étape d'une démarche qui me plaît : commencer par des légèretés pour motiver à "mettre les mains dans le cambouis". Exprimé par Stefan Zweig dans La Confusion des Sentiments : "celui qui n'est pas passionné devient tout au plus un pédagogue ; c'est toujours par l'intérieur qu'il faut aller aux choses, toujours, toujours en partant de la passion." Et si on a droit à de vrais débats de fond calmes et intéressants dans les jours qui viennent, après la passion de l'avant premier-tour, la campagne présidentielle de 2007 sera réussie !

Et maintenant à moi d'illustrer cette démarche, en motivant un problème combinatoire par une petite histoire de politique d'image et de posture : le Problème du Club de Réflexion, que j'appellerais presque le problème du siècle (issu d'une discussion initiée avec Nergal)...

F.B. affirme n'avoir pas parlé à N.S. depuis 3 ans. Ces deux hommes appartiennent à un même club de réflexion, qui se réunit tous les mois de la façon suivante : parmi tous ses n membres, un certain nombre est invité à venir manger à l'Automobile Club de France. Ils peuvent alors discuter autour de tables de k personnes. Disons qu'il y a t tables. En pratique il paraît que k=7, qu'environ 300 personnes participent à chaque dîner soit t=43, et que le club a environ n=700 membres. La première question, facile, consiste à déterminer quelle est la probabilité que F.B. n'ait en effet jamais dîné à la même table que N.S. depuis 3 ans, en supposant que les organisateurs des soirées invitent et placent leurs membres aléatoirement à chaque fois.

Calculons la probabilité à chaque réunion que F.B. ne soit pas à la même table que N.S. Est-ce que N.S. est là ? Il y a seulement tk invités, donc il n'est pas là avec proba (n-tk)/n. S'il est là, alors F.B. n'est pas là avec proba (n-tk)/(n-1), et il est là avec proba (tk-1)/(n-1). Si les deux sont là, alors une fois que N.S. est placé il y a k-1 chaises vides autour de lui, et il reste à placer tk-1 convives donc F.B. n'est pas à sa table avec proba (tk-k)/(tk-1). Comme on le voit avec l'arbre de toutes les possibilités ci dessous, on obtient la probabilité que F.B. ne soit pas à la table de N.S. à une réunion par la formule :

P=(n-tk)/n + tk/n ((n-tk)/(n-1) + (tk-1)/(n-1).(tk-k)/(tk-1))


Soit pour les valeurs de n, t et k données une probabilité de 99,6309% que F.B. et N.S. ne se rencontrent pas à une certaine réunion. On élève à la puissance 36 pour chacune des 36 réunions en 3 ans : il y a 87,5% de chances qu'ils n'aient effectivement pas mangé à la même table pendant tout ce temps...

La deuxième question, beaucoup plus compliquée, consiste à trouver la stratégie de placement des organisateurs. On considère raisonnablement qu'ils veulent que tout le monde parle avec tout le monde. Quel est donc le nombre minimum de réunions à effectuer pour qu'en effet tout le monde ait mangé au moins une fois avec tout le monde ? Et comment inviter et placer les membres pour atteindre ce minimum ? En déduire le nombre maximal de réunions consécutives où N.S. et F.B. ne mangent pas à la même table.

Si on prend la restriction de ce problème avec n=tk et k=2, ça revient à un problème d'organisation de tournoi d'échecs : on a n participants, et on fait jouer en parallèle t parties, en cherchant à minimiser le nombre de parties permettant que tout le monde ait joué contre tout le monde. Cela nous permet d'introduire de la théorie des graphes : on considère le graphe complet, c'est à dire qu'on relie un ensemble de 2k sommets (les joueurs) par toutes les arêtes possibles, chaque arête correspondant à une partie d'un joueur contre l'autre. On va colorier les arêtes de telle sorte que les couleurs correspondent à des parties qui peuvent se dérouler en parallèle, c'est à dire que deux arêtes partageant un même sommet n'auront pas la même couleur. On cherche à minimiser le nombre de couleurs, c'est à dire l'indice chromatique du graphe complet à 2k sommets. Le problème, classique ("promenade des demoiselles"), est résolu ici : 2k-1 couleurs (donc 2k-1 parties) suffisent, vous avez même la configuration des parties !

Pour le cas général je cherche encore, quelques variantes du problème sont réunies sur cette page...

23 avril 2007

Bilan des sondages du premier tour

SarkolèneLe premier tour des élections présidentielles hier a marqué un succès, celui des sondeurs, dont les estimations se sont révélées assez correctes.

Le journal Le Monde proposait une formidable visualisation en Flash de tous les sondages d'intentions de vote pour la présidentielle française parus depuis octobre 2006. Bon, Flash, c'est pas le meilleur format pour récupérer automatiquement les données... mais l'ergonomie permettait quand même une bonne récupération manuelle. Toutes ces données sont donc disponibles dans ce fichier Excel (ou OpenOffice), voici quelques graphiques qu'on peut en extraire et analyser, maintenant que des résultats définitifs ont été publiés.

L'interface du Monde permet de visualiser pour chaque institut l'ensemble des sondages qu'il a publiés : résultat, on obtient des courbes assez irrégulières dont les tendances générales n'apparaissent pas vraiment. Superposer tous les résultats donne un nuage de points beaucoup plus parlant (regardez ce que ça donne pour Bush chez le "Professor Pollkatz") :

Ceci dit, tout ça n'est pas vraiment parlant si on veut visualiser les 12 candidats (ou comparer plusieurs indices), pour cela il vaut mieux effectuer une moyenne, qui aura pour effet de fournir une courbe un peu plus lissée. C'est donc ce que j'ai fait, en calculant pour chaque jour la moyenne obtenue d'après le dernier sondage paru pour chaque institut (ça se fait très bien avec les formules Excel/OpenOffice, et franchement, c'est plus joli/lisible/rigoureux que les courbes du CEVIPOF, non ?).

Présidentielles sondages premier tourEvidemment l'extrémité droite de la courbe correspond aux résultats réels. On remarque que les trois principaux candidats avaient été généralement sous-évalués, et Jean-Marie Le Pen sur-évalué, et supposé assez haut par les électeurs pour motiver un vote "utile" pour Ségolène Royal au premier tour visiblement. La montée de François Bayrou commence à la mi-janvier, mais il décroît un mois avant la date fatidique. Tiens, ce serait intéressant de les superposer précisément avec sa courbe de Presse2007, j'ai l'impression à l'oeil nu que celle des sondages précède légèrement la popularité dans la presse (sachant que la courbe des sondages présente un retard intrinsèque lié au délai de publication, et à une sorte de délai d'harmonisation des 6 instituts puisque c'est une moyenne...).

Au passage, on peut s'amuser des approximations faites par les différents instituts, dont la somme des intentions de votes publiées n'atteint pas toujours 100%. Puisque les nombres ne sont pas "bruts" et sont issus d'une petite cuisine secrète, ils pourraient quand même s'arranger pour les arrondir dans ce sens. Ceci dit, ce cas arrive assez rarement, et ceux qui mettaient à jour le document Flash du site du Monde auraient pu tester à chaque fois la somme, pour vérifier leurs chiffres (qui font apparaître quelques petites erreurs... bah, au moins, ils les corrigent rapidement).

Et maintenant voyons quels instituts avaient le mieux deviné les résultats. Pour ça, on peut calculer une distance (je n'indique pas l'échelle qui ne veut pas dire grand chose, il suffit de retenir que plus c'est haut, plus l'erreur est grande, voir le fichier Excel pour les détails ou essayer d'autres distances) entre les résultats prévus (dernier sondage paru vendredi dernier ou avant), et ceux réellement obtenus : bravo à Ipsos (labosonic m'alerte en commentaires sur le fait qu'il existait des données pour vendredi pour BVA aussi, qui fait alors mieux que Ipsos) ! J'ai ajouté aussi la moyenne des sondages des 6 instituts et le dernier sondage du site Votez2007.com. Avec ce dernier, on se rend compte que publier des sondages sérieux nécessite une expérience que ces professionnels revendiquent et détaillent quand ils sont mis en cause. Il peut sembler contre-intuitif que la moyenne donne de moins bons résultats que 4 sondages parmi 6. En fait on découvre en apprentissage automatique que combiner de bons outils pour en faire un meilleur ne se fait pas vraiment naïvement (par une moyenne), mais avec des techniques un peu sophistiquées.
Voir aussi : une excellente analyse, plus détaillée, des taux d'erreur des sondeurs.

On peut donc faire totalement confiance à nos chers sondeurs pour nous prévoir le résultat du second tour... Ou pas. Vous avez entendu les sondages à la sortie des urnes ? Pour ça il ne fallait pas lire les blogs, mais écouter la radio suisse romande : vers 18h30, on apprenait que Royal et Sarkozy étaient à 26%, Le Pen à 17 et Bayrou à 16 ! Quelques minutes plus tard heureusement, les premières estimations tombaient, un peu plus conformes à la réalité.

La suite ici (bilan des sondages de 2002)...

20 avril 2007

Analyse du buzz F-List de la blogosphère francophone (3/3)

Ouf ! Après plusieurs soirées passées à corriger le corpus, les résultats intermédiaires, et quelques 800 lignes de code, voilà enfin le post de conclusion sur les F-listes.

Où l'on remarque l'importance de l'effet de gratitude dans la poursuite de la chaîne ; où l'on découvre une liste de blogs francophones intéressants que la F-list était censée promouvoir ; où l'on détermine la liste des blogs qui ont le plus bénéficié de la chaîne ; où l'on voit que cette seconde liste ne contient naturellement pas la première...

Commençons par l'effet de gratitude, c'est le principe du "tu me cites ? je te cite !". 95 blogs sur 185, soit plus de 51% des participants, étaient déjà présents dans la F-list récupérée pour construire la leur (voir l'arbre de diffusion ici) ! On peut donc supposer qu'ils n'ont pas découvert la liste simplement en lisant leur blog favori, mais plutôt en se voyant cités, grâce aux rétroliens, ou peut-être en identifiant un blog leur amenant des visiteurs grâce à des outils de statistiques de fréquentation, ou encore... eh bien demandons-leur ! Si vous êtes dans la liste ci-dessous, c'est que vous faites partie de ces participants qui ont repris une F-liste dans laquelle ils avaient déjà été ajoutés : comment l'avez-vous découverte ? Merci de répondre en commentaires ! En ce qui me concerne, c'est dans les rétroliens du blog de Jean Véronis.

fiuuu.com bluebayou34.free.fr/dotclear/index.php www.digiboy.fr www.spirit-of.com hisaux.free.fr blog.localingo.com www.underdeepwater.com/lab.oratoire yellowman.wordpress.com blog.gloups-news.info stephanerangaya.kyotek.com www.tagle.ca/wordpress www.yannicklejeune.com www.eyes-wide-shoot.be mallo-blog.new.fr www.libert-fr.com lafrange.wordpress.com befaure.blogspot.com mesgoutsmescouleurs.blogspirit.com www.net-marketing.fr damdam.typepad.com www.estrade.ca www.go-referencement.org www.stephguerin.com fredfortin.net/Blog ambiome.net/blog www.martinbreton.com www.supergab.com christellefv.com/weblog www.zecanada.com hamadiblog.blogspot.com akratique.blogspot.com fraises.blogspot.com leperiscope.blogspot.com www.goudaille.com www.nayezpaspeur.ca journal.covonline.net leblogdemateusz.blogspot.com osmany.hautetfort.com www.melissamonaco.com/wordpress maheanuu.free.fr family-counts.blogspot.com stephanetauziede.com mmelovecraft.livejournal.com ancienetmoderne.blogspot.com arnolux.typepad.fr aodai.typepad.com fredofenua.blogspot.com www.darjeeling-in-the-teapot.com lemondedetitus.blogs.letelegramme.com hysteriesilencieuse.free.fr soleilentete.canalblog.com karamailhe.canalblog.com phinebacker.blogspot.com www.netwizz.net/blog blog.galerie-net.com www.williamperes.com ru3.com/luc marcus.retais.fr les5sensselonchristian.typepad.com lesfemmesendisent.blogs-handicap.com planetargonautes.typepad.fr www.emich.be www.benjaweb.be/blog www.vinch.be/blog blog.barbayellow.com www.zewoc.com arkandis.blogsome.com www.nellio.com lovnyterrestre.vox.com bayart.typepad.com/blog www.buzzdunet.com www.greg-b.net corps-et-sante.typepad.fr www.buzztogether.net gaduman.blogspot.com www.netandco.info misstics.canalblog.com utovic.hautetfort.com viralbuzzandco.blogspot.com www.commalad.com cheguerilla.blogspirit.com sendtofriend.blogspot.com www.sylvainbriant.com www.page2007.com vmaurin.free.fr/dotclear elayeillon.hautetfort.com www.voxinablog.com www.arts-et-talents.com fadhilabrahimi.blogspirit.com www.duperrin.com www.cooperatique.com www.bizfriz.com www.jbouteiller.net 2ro.free.fr/blog le.bisounours.eu/index.php

Xavier, en démarrant la chaîne, motivait son initiative par la découverte de petits blogs francophones intéressants. On peut supposer que c'est le cas de blogs qui ont été insérés dans la F-list par plusieurs blogueurs différents. Voici la liste des 39 blogs ajoutés indépendamment plus de quatre fois (il y en a une centaine qui ont été ajoutés plus de trois fois) :

Si vous avez été cité dans la F-list, vous pouvez savoir qui vous a ajouté en recherchant votre blog parmi la liste complète disponible ici !

Comme vous avez pu le constater, les blogs ajoutés souvent à la F-list n'ont pas nécessairement été ceux le plus souvent cités, et finalement les grands gagnants en termes de citations (voir aussi : classement Technorati, voir aussi : pagerank) sont les suivants (93 blogs avec 50 citations ou plus, dont 18 participants à la F-list) :Bilan, si vous voulez créer le prochain buzz viral de la blogosphère francophone, citez des blogs de la première liste (ils vous le rendent bien), arrangez pour le faire connaître de ceux de la seconde (ils sont lus par des gens susceptibles de réagir sur leur blog), et il ne vous servira à rien de citer les blogs de la troisième qui ne sont pas en gras (s'ils ont vu passer la F-List, ils ont choisi de ne pas y participer).

N'hésitez pas si vous avez d'autres aspects du phénomène sur lequel vous voulez des précisions, vous pouvez aussi utiliser directement les fichiers générés au cours de l'étude.