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 !