[22] L’affaire “Fun Radio”

Les sondages peuvent parfois faire l’actualité sans parler de politique ! Prenons l’exemple de l’affaire qui oppose Fun Radio et l’institut Médiamétrie, qui est chargé de la mesure d’audience sur les chaînes de télé, de radio, et même des sites internet. Un animateur de la matinale de la radio avait demandé à ses auditeurs, dans le cas où ils seraient contactés par Médiamétrie, de déclarer qu’ils n’écoutaient que Fun Radio (et aucune radio), et qu’ils étaient à l’écoute de la station durant toute la journée. Cela a conduit Médiamétrie à retirer momentanément Fun Radio du panel de mesure. Cette décision a eu des conséquences importantes sur les finances de la radio : en effet, la répartition des revenus publicitaires est directement indexée sur ces calculs d’audience. Ainsi, la radio s’est pourvu en justice pour être réintégrée, ce qui sera a priori le cas.

Je ne commenterai pas la décision de justice, n’y connaissant rien, mais j’ai plutôt envie de commenter d’un point de vue de sondeur cette affaire. En effet, si l’on résume, les messages ont eu (potentiellement) trois effets :

  1. Encourager les auditeurs de la matinale à répondre aux enquêteurs de Médiamétrie lorsque ceux-ci les contactent ;
  2. Sur-déclarer un temps d’écoute pour la radio Fun Radio ;
  3. Sous-déclarer un temps d’écoute pour d’autres radios.

À mon sens, ces trois problèmes demandent des solutions différentes ! Je vais laisser le premier de coté, qui me semble le plus intéressant d’un point de vue sondages, pour parler brièvement des deux autres.

Tout d’abord le deuxième : on peut imaginer qu’en utilisant des sources extérieures comme le panel Radio global sur le temps d’écoute moyen de la radio en France, ou des enquêtes type Emploi du Temps de l’INSEE, on puisse repérer des outliers (c’est à dire des personnes qui déclarent des valeurs qui sortent très largement de la moyenne) et les traiter, ou les exclure. En gros, écouter la radio 24h par jour, c’est suspect.

Le troisième point est le plus ardu à corriger, mais on peut faire l’hypothèse (soyons optimistes) que quelqu’un qui est prêt à mentir si un animateur radio le lui demande est un auditeur exclusif de la radio en question, ce qui neutralise l’effet.

Reste donc le premier point. Tout praticien des sondages sait que les individus sélectionnés dans un échantillon ne sont pas tous volontaires pour répondre aux questionnaires, loin de là. Cela crée un biais, qui est étudié et traité en statistiques par des méthodes de “correction de la non-réponse”. On pourrait donc imaginer que ces méthodes servant à prendre en compte la non-réponse pourraient suffire à annuler le biais en question, mais le problème est plus compliqué que cela. Je vais tenter d’expliquer à l’aide d’un exemple : supposons qu’il existe uniquement deux radios, une pour les “jeunes”, et une pour les autres. Dans ce cas, Médiamétrie cherche à savoir combien de personnes écoutent chaque radio. Si 10% des jeunes répondent avant l’effet de l’annonce, Médiamétrie a l’habitude de multiplier par 10 (pour simplifier) le nombre d’auditeurs de Fun Radio : si le nombre de répondants augmente, il suffit de changer un peu le coefficient multiplicatif, mais cela n’aura pas d’effet sur l’écoute de l’autre radio, et les chiffres devraient être globalement les mêmes.

Pourquoi je dis que c’est plus compliqué ? Parce que les méthodes de la correction de la non-réponse reposent sur de l’information auxiliaire, par exemple les informations démographiques. On peut facilement séparer (par exemple via les variables d’âge) l’auditeur moyen de Fun Radio de celui de France Inter, mais ce sera plus compliqué avec NRJ ou une autre station destinée à un même public. Il est d’ailleurs intéressant de noter que c’est NRJ qui a initialement porté réclamation auprès de Médiamétrie. Et donc, la mesure “absolue” de l’audience de Fun Radio (en excluant les points 2 et 3) n’est pas trop mauvaise. Celle de Nostalgie n’est pas impactée non plus, mais celle de NRJ peut l’être énormément. En effet, plus de jeunes répondent, mais les répondants écoutent moins NRJ (car ils sont plutôt auditeurs de Fun Radio), donc l’estimation finale est à la baisse pour cette radio, alors que le comportement de leurs auditeurs n’a pas changé.

Voilà, vous en savez plus sur ceux qui travaillent en secret pour Médiamétrie !

[18] Recensement et constitution américaine

C’est l’avent, sans nul doute la meilleure période pour faire un petit post sur le recensement.

Le principe du recensement

Un recensement consiste à établir un registre de toutes les personnes vivant dans un pays. Le principe en est même inscrit dans l’article 1 de la constitution américaine. Le gouvernement américain est ainsi tenu de dénombrer régulièrement le nombre de ses citoyens, afin notamment d’ajuster le nombre de représentants de chaque Etat dans les différentes institutions démocratiques, entre autres, le sénat, la chambre des représentants et le collège électoral.

Recensement en Alaska en 1940. Source : https://en.wikipedia.org/wiki/United_States_Census#/media/File:1940_Census_-_Fairbanks,_Alaska.jpg
Recensement en Alaska en 1940. By Dwight Hammack, U.S. Bureau of the Census

Recenser toute la population d’un pays est bien entendu long et coûteux. C’est pourquoi historiquement, ces opérations n’étaient conduites qu’à certains moments (une fois tous les 7 ans en moyenne en France aux XIXe et XXe siècles). Un des inconvénients de cette façon de procéder est que le dernier recensement disponible à date peut présenter une information un peu datée ! Si les évolutions démographiques sont rapides, le données d’un recensement effectué plusieurs années auparavant ne refléteront pas la réalité.

Introduction d’une petite partie de sondages

Ainsi, dans le courant des années 2000, quelques instituts nationaux de statistiques ont introduit une petite part de sondage dans leur recensement. L’idée est de ne plus effectuer un dénombrement complètement exhaustif, mais d’effectuer un sondage avec un taux assez fort dans certaines zones géographiques. Ceci à la fois pour gagner en coûts, corriger certains biais de la méthode exhaustive, et surtout permettre d’effectuer le recensement plus souvent, c’est-à-dire de donner aux statisticiens des informations plus récentes !

En France, cette petite part de sondage a été combinée avec un recensement tournant. Les communes de moins de 10000 habitants sont entièrement recensées tous les cinq ans, par roulement, alors que les communes de plus de 10000 habitants ne voient chaque année qu’une fraction (8%) de leur population recensée (plus de détails ici).

L’utilisation du recensement pour la répartition des représentants

Aux Etats-Unis, le Census Bureau fait partie de ces instituts nationaux de statistiques qui ont décidé d’ajouter une petite part de théorie statistique à leur recensement. Mais la cour Suprême semble sceptique quant à l’utilisation de telles méthodes “inexactes”. En 1999, elle a décidé que les résultats du recensement qui auront été obtenus en utilisant la méthode par sondage ne pourraient pas être utilisées pour “l’apportionment“, c’est-à-dire la constitution des institutions démocratiques représentatives.

Le Census Bureau collecte quand même des données par cette méthode car elles sont utiles dans beaucoup de domaines (par exemple cet article très intéressant  sur lequel je reviendrai un de ces jours). Mais elles ne seront pas utilisées pour calculer le nombre de représentants au Sénat, à la chambre ou dans le collège électoral.

Notons que certains statisticiens pensent que le recensement “exhaustif” américain est biaisé en défaveur des minorités, ce qui fait écho aux débats récents sur la constitution du collège électoral.

Le découpage électoral en France

Circonscriptions électorales élections législatives 2012. Source : http://www.lefigaro.fr/politique/2009/07/28/01002-20090728ARTFIG00458-la-nouvelle-carte-electorale-pour-2012-.php
Circonscriptions électorales élections législatives 2012. Source : http://www.lefigaro.fr/politique/2009/07/28/01002-20090728ARTFIG00458-la-nouvelle-carte-electorale-pour-2012-.php

En France, la délimitation des circonscriptions législatives se nomme le découpage électoral. La dernière modification de ces circonscriptions a été effectuée en 2010 en utilisant les données démographiques du recensement de la population 2009. Autrement dit, notre mode de découpage des circonscriptions utilisant cette méthode de recensement serait considéré… inconstitutionnel aux Etats-Unis !

[Sampling] Icarus et calage sur bornes minimales au 9ème colloque francophone sondages

Du 11 au 14 octobre dernier, nous étions à Gatineau (Québec) pour participer au 9ème colloque francophone sur les sondages de la SFdS. Un grand bravo à toute l’équipe organisatrice pour ce contenu scientifique de grande qualité et ce programme social très sympathique !

Nous avons donné les présentations suivantes :

[Sampling] Talk at INSPS – Avignon

I’m in the beautiful city of Avignon for the 3rd ISNPS conference, which is held in the extroardinary Palace of the Popes Convention center. I’ve been invited by Ricardo Cao to give a talk wednesday morning during on sampling methods for big graphs.

[Sampling] Coucher pour réussir ?

Je commence ma semaine en tombant sur un article de LCI qui indique qu’une enquête OpinionWay estime qu’un jeune sur cinq serait prêt à “coucher” pour réussir en entreprise (note : l’info a été en fait reprise dans beaucoup de quotidiens ce lundi matin). On note au passage la magnifique illustration qui montre cinq jeunes salariés … je suppose qu’il faut se demander lequel parmi les cinq est sur le point de coucher pour réussir ?

Essayons d’avoir un regard critique sur ce chiffre annoncé. Souvenons-nous que lorsque l’on fait un sondage, on choisit de n’interroger qu’un petit nombre d’individus, à qui on pose les questions qui nous intéressent. Bien entendu, ce serait trop coûteux d’interroger 66 millions de français au sujet de leur intention de coucher pour réussir (c’est l’intérêt du sondage), mais on paye tout de même un prix : la statistique obtenue aura une certaine imprécision, aussi appelée erreur d’échantillonnage. Essayons d’estimer cette “imprécision”.

Les informations données sur le sondage effectué montrent que l’échantillon a été construit “de façon représentative” (si vous voulez savoir ce que je pense de ce terme, vous pouvez lire cet article) par la méthode des quotas. Cela signifie que les proportions de jeunes salariés de 18-24 ans dans la population et dans l’échantillon sont censées être égales. D’après des statistiques diffusées par Pôle emploi, les 18-24 ans représentent environ 9% du nombre de salariés total. Les 18% de jeunes salariés prêts à coucher pour réussir sont donc dans l’échantillon au nombre de :

\begin{align*}
0.09 \cdot 1060 \approx 95.4
\end{align*}

 

Cette “statistique” ne repose donc que sur les réponses de 95 personnes, et non pas la totalité de l’échantillon (notez qu’il est probable que je surestime le nombre de jeunes salariés de l’échantillon car celui-ci semble construit sur le total de la population et non sur le total de salariés). On peut utiliser cette valeur pour calculer un intervalle de confiance pour la statistique, donné par la formule :

\begin{align*}
\hat{IC} &= \left[ 0.18 \pm 2\cdot \sqrt{\dfrac{0.18 \cdot (1-0.18)}{95}} \right] \\
&\approx [0.10 ; 0.26]
\end{align*}

 

Comme prévu, l’intervalle de confiance est très large : la valeur estimée à 18% est comprise entre 10% et 26% au seuil de confiance de 95%, soit entre “un jeune sur dix” et “un jeune sur quatre”. Et il s’agit uniquement de l’erreur d’échantillonnage ! Les sondages en général sont sujets à beaucoup d’autres sources d’erreurs (voir par exemple le dernier chapitre de ce cours pour plus de précisions). Par exemple, pour cette enquête, le questionnaire était rempli par les individus échantillonnés sur une page web. Le questionnaire n’est pas diffusé ici, mais imaginez que cette question soit la 198ème d’une série de 200, pourrait-on accorder une grande importance aux réponses données par ces 17 individus à cette question ? La formulation de la question peut également influer sur la réponse données par les individus interrogés.

Prenant tout cela en compte, on peut réécrire la version “statistiquement honnête” de l’article de LCI :

lci_9_mai

Finalement c’est peut-être mieux que je ne sois pas journaliste 😉

[Sampling] Combien de salons de coiffure ont un jeu de mots dans leur nom ? (Deuxième partie)

Suite de notre première partie. Nous avions utilisé une méthode de sondage pour déterminer le nombre de salons de coiffure dont le nom est un jeu de mots. Dans cette seconde partie, nous allons essayer d’utiliser une méthode d’apprentissage pour estimer ce nombre. L’idée sera d’entraîner un modèle à reconnaître si une enseigne de coiffure présente un jeu de mots ou non. C’est parti !

Jeu d’entraînement

Il faut commencer par constituer un “jeu d’entraînement” (ou training set), qui comportera des noms avec et sans jeu de mots, de manière à ce que le modèle choisi puisse construire une règle de classification. Ce jeu d’entraînement, nous allons devoir le constituer à la main. Comme je n’ai pas envie de passer mon dimanche entier à classer des noms de salons de coiffure suivant qu’ils contiennent un jeu de mots ou non (je serais obligé de mentir si on me demandait ce que j’ai fait de mon week-end à la machine à café lundi matin) je choisis de me limiter à 200 enseignes, que je vais tirer aléatoirement dans la base.

Petite remarque supplémentaire : si je tirais ces noms avec une probabilité uniforme (comme on l’a d’abord fait en première partie), ma base comporterait environ 10 enseignes avec jeu de mots contre 190 enseignes sans (puisque, d’après la première partie, le taux de salons de coiffure avec un jeu de mot vaut environ 5%). Avec simplement 10 noms comportement un jeu de mot dans notre base de références, faire classer efficacement les noms de salons par un modèle ne serait pas chose aisée… Je choisis donc d’utiliser à nouveau un tirage stratifié (comme en première partie), de manière à équilibrer les données sur lesquelles le modèle va être entraîné.

Avant de passer à la suite, je réserve 50 noms parmi mes données d’entraînement que j’utiliserai uniquement pour tester la qualité de mon modèle. Le modèle sera donc entraîné sur 150 noms de salons, parmi lesquels environ 50% présentent un jeu de mot (je nomme ces données “jeu de développement”).

Une nécessaire sous-estimation

Il va s’agir de choisir un classificateur d’apprentissage qui présente de bonnes performances sur des données issues de Natural Language Processing (NLP). Le but est que notre modèle soit capable de reconnaître un jeu de mots similaire à ceux qui sont contenus dans le jeu de développement. Des noms similaires à une enseigne contenue dans le jeu de test devraient être correctement classés si les différences sont mineures (quelques lettres, l’ordre, une préposition en plus ou en moins, etc.). Par exemple, si le jeu de développement contient “FAUT TIFF HAIR”, il est bien possible que “FAUTIF HAIR” ou “FAUT TIF HAIRS” soient correctement classés. A fortiori, tous les noms strictement identiques à ceux du jeu de développement seront correctement classés. Par contre, on ne peut pas raisonnablement s’attendre à ce que le modèle soit capable de reconnaître un jeu de mots très différent de ceux qui seront contenus dans cette base de données.

Finalement, il faut s’attendre à ce que cette façon de procéder aboutisse à une sous-estimation du nombre de salons de coiffure avec jeu de mots. Pour le vérifier, on pourra comparer avec l’intervalle de confiance établi en première partie.

Le choix du modèle

J’utilise l’excellent librairie python scikit-learn, que j’utilise pour tester différents types de classificateurs. Bien souvent en machine learning, il s’agit de tester rigoureusement différents modèles et différents choix de paramètres comparativement les uns aux autres. Dans notre cas, je cherche simplement un classificateur suffisamment performant pour aboutir à une conclusion à peu près robuste. Je me contente donc de quelques essais à la main pour effectuer mon choix de modèle. J’effectue ensuite un petit grid search pour tester différents choix de paramètres. Dans le cas du choix de modèle comme du grid search, j’utilise une validation croisée pour choisir le meilleur modèle. Mon classificateur final est donc :

vectorizer = TfidfVectorizer(ngram_range=(1, 3), analyzer='char',
use_idf=False, stop_words=["SARL", "SAS", "SA"])

clf = Pipeline([
('vec', vectorizer),
('clf', SGDClassifier(loss="hinge", penalty="l2")),
])

clf.fit(docs_train, y_train)

Je peux enfin tester la performance de mon modèle sur le jeu de test de 50 noms que j’ai mis de côté :

Classé “avec jeu de mots” Classé “sans jeu de mots”
Sans jeu de mots 17 7
Avec jeu de mots 11 15

Par ailleurs, le jeu de test contenait 26 noms avec jeu de mots. L’estimation issue du modèle donne 22 noms avec jeu de mots, ce qui est cohérent avec le fait qu’on s’attend à obtenir une sous-estimation.

Petits tests à la main

Avant de faire tourner le classificateur sur l’ensemble de la base, j’effectue quelques petits tests à la main, avec des noms d’enseigne inventés. Comme prévu “CREA TIFFS”, “FAUT TIFF HAIR” et “FAUX TIFF HAIR”, proches de certains noms du jeu de développement, sont bien reconnus comme présentant un jeu de mot . “HAIR DRESSER” et “COIFFURE JEAN MICHEL” sont également correctement classés, en tant que noms ne présentant pas de jeu de mots. Je teste ensuite “LA CHAMBRE A HAIR”, “VOLT HAIR” et “LE SAVOIR F HAIR” (merci au tumblr lolcoiffeurs pour les idées !), sans grand espoir car ces jeux de mots me semblent trop éloignés de ceux présents dans le jeu d’entraînement. Et pourtant, les trois sont bel et bien reconnus comme jeux de mots ! Mon dernier test, “DE MECHE AVEC VOUS”, n’est lui pas correctement reconnu. Cela ne m’étonne pas outre mesure, car le nom de salon qui s’en approchait le plus dans mon jeu d’entraînement était “MECH EN LOOK”, qui ne contenait même pas le mot “MECHE” en entier. Finalement, je suis plutôt agréablement surpris des performances du modèle (comme souvent en learning , même si dans notre cas, le modèle et son ambition sont très modestes).

Les résultats

En exécutant notre classificateur sur toute la base des noms de salons, on obtient une valeur d’estimation de :

916, soit 3% de coiffeurs (contre environ 5% par la méthode par sondage)

présentant un jeu de mots dans leur enseigne. Ce chiffre correspond à l’estimation basse obtenue par sondage en partie 1. Ceci est cohérent avec notre remarque faite plus haut : ce chiffre obtenu par apprentissage est une sous-estimation du nombre total.

Dernière remarque : ce modèle est valable uniquement pour les enseignes de salons de coiffure. On pourrait appliquer une méthode similaire pour déterminer le nombre de jeu de mots parmi les enseignes d’un autre secteur (les boulangeries par exemple), en changeant le training set et en ajustant le modèle. Mais trouver une méthode générale pour reconnaître ce qui constitue ou non un jeu de mots en français serait une autre paire de manches !

Note 1 : L’image-titre est issue d’une note de Boulet, qui possède un blog bd très sympa que je vous encourage à aller voir !

Note 2 : en échangeant à propos de cet article, on m’a fait remarquer que notre définition du jeu de mot n’incluait pas par exemple le cas d’un jeu de mot “pour initié” sur le quartier dans lequel est situé la boutique ou sur le nom des entrepreneurs. Je précise donc que notre définition recouvre plus ou moins les jeux de mots “compréhensibles par tous” 😉

[Sampling] Combien de salons de coiffure ont un jeu de mots dans leur nom ? (Première partie)

Nous connaissons tous une boulangerie, ou un salon de coiffure, qui a un jeu de mots dans son nom (“L’Hair du temps” ?), mais est-ce vraiment si répandu ? Essayons de répondre à cette question. Il y a plusieurs manières d’aborder ce problème : utiliser une approche de type apprentissage (mais il n’est jamais simple de faire comprendre l’humour à un ordinateur, et nous discuterons de cela plus tard), ou une approche de type sondage (ce qui sera fait dans un premier temps, dans cet article).

L’idée derrière cette approche consiste à se dire que juger la totalité des noms des salons de coiffure serait assez long (il y en a plusieurs dizaines de milliers) et que l’on va donc seulement s’intéresser à un petit échantillon (qui ne sera pas “représentatif” !) sur lequel on fera le travail de juger si le nom correspond à un jeu de mots ou pas.

Quelques considérations pratiques tout d’abord : nous avons un jeu de données composé de 30 083 entreprises françaises dont l’activité principale est dans le domaine du 9602A, ce qui dans le monde merveilleux des nomenclatures de la statistique publique, signifie que ce sont des entreprises dans le domaine de la coiffure, donc des salons de coiffure. On va également considérer qu’une taille raisonnable pour le travail de détection des jeux de mots est de prendre n = 200.

Première tentative

Nous allons donc extraire un échantillon de 200 SIREN de notre base, en utilisant un sondage aléatoire simple pour les choisir. Qu’entend-on par sondage aléatoire simple ? Comme son nom l’indique, il s’agit d’une technique basique de sondage qui repose sur deux postulats : on peut sélectionner tout le monde avec la même chance, et on veut aboutir à une taille fixe. Une représentation possible de ce type de sondage consiste à imaginer une urne avec les 30 083 boules qu’on mélange, puis on extrait une à une des boules jusqu’à en avoir le nombre souhaité, ici 200. Ce type de sondage est facile à mettre en pratique ; et il est facile d’utiliser les résultats obtenus pour avoir une estimation sur la population totale, et même une idée de la précision de cette estimation. On peut se référer au cours suivant pour une présentation plus détaillée.

Nous avons donc suivi ce plan de sondage, et nous avons un échantillon de 200 noms de salons de coiffure. Il reste maintenant à analyser les résultats pour détecter les jeux de mots : cette phase est forcément subjective, mais j’ai essayé ici de prendre la définition la plus large possible de jeu de mots, c’est à dire à chaque fois qu’il peut y avoir un double sens ou un jeu sur la prononciation de mots. Regardons plutôt quelques exemples trouvés dans l’échantillon :

Atmosp’hair, Posi’if, Aux mains d’argent, L’art de Pl’Hair, Diminu Tif, FauTif’Hair…

J’arrive au total à 13 jeux de mots, ce qui nous donne un pourcentage de jeux de mots de 6,5% parmi les salons de coiffure. L’utilisation d’un sondage aléatoire simple permet de garantir que cette estimation est sans biais (c’est un estimateur d’Horvitz-Thompson (en) du ratio), c’est à dire que, en moyennant sur tous les échantillons que l’on peut obtenir, on obtient la vraie proportion sur la population totale des salons de coiffure. Cela signifie en particulier que l’estimation que nous avons est fiable.

Cependant, cela ne signifie pas qu’elle est précise ! Prenons un exemple simple. On a deux individus A et B, avec une valeur de 0 pour A et de 100 pour B, et que l’on veut estimer la moyenne des valeurs dans la population, qui vaut 50. Lorsque l’on réalise un sondage aléatoire simple d’un individu parmi les deux, nous allons avoir la moitié du temps A et donc une estimation de 0, et la moitié du temps B et une estimation de 100. Cela donne bien 50 en moyenne : pourtant dans une réalité où l’on ne peut pas répéter le tirage des échantillons, on aurait juste l’observation de B (par exemple), et donc un estimateur de 100. Cette estimation est très imprécise : cela vient de la faible taille de l’échantillon (1 n’est pas suffisant), et de la très grande hétérogénéité de la population (si A avait une valeur de 1 et B de 2, on serait plus proche de la vérité). On peut aussi voir, en anglais, l’exemple des éléphants de Basu (en), bien connu des étudiants en théorie des Sondages.

Il existe une formule permettant de calculer la variance de l’estimation. On peut se référer par exemple aux slides 60 et suivantes de cette présentation. Globalement, dans le cas d’une proportion, la variance vaut à peu près :

Variance = Proportion * (100% – Proportion) / Taille de l’échantillon

À partir de ce résultat, on peut calculer un intervalle de confiance pour la vraie valeur de la proportion. Il suffit d’enlever et d’ajouter 1,96 fois la racine carrée de la variance. L’intervalle obtenu donne un ensemble de valeurs pour lesquelles l’observation qu’on a, c’est à dire la valeur obtenue sur l’échantillon, n’est pas trop improbable ; on considère ainsi qu’il est possible moins de 5 fois sur 100 pour une vraie valeur hors de cet intervalle d’obtenir un tel résultat.

L’application de ces méthodes ici donne l’intervalle de confiance suivant : [3.1% ; 9.9%]. Il est assez large, car d’une part la taille de l’échantillon est assez faible, et d’autre part la proportion estimée est faible, ce qui a tendance à réduire la précision des estimations : un caractère rare dans une population est difficile à détecter, et n’apparaît pas si souvent dans l’échantillon, donc l’information collectée reste assez faible.

Adaptons le sondage

Même s’il est possible d’être assez déçu par le résultat obtenu à l’aide de ce premier échantillon, il ne faut pas désespérer. En effet, il est toujours possible d’améliorer un plan de sondage une fois que l’on a collecté un peu plus d’informations. Ici, il est possible de faire une remarque générale sur les jeux de mots trouvés : la plupart d’entre eux contiennent soit le mot “Hair”, soit le mot “Tif”. Il est fort probable que l’on trouve plus de jeux de mots dans les salons dont le nom contient un des deux mots que dans la population générale. Nous allons utiliser cette nouvelle information pour réaliser un sondage stratifié (voir ce cours pour plus d’informations).

Pour reprendre l’analyse développée dans la partie précédente, avec une urne remplie de 30 083 boules, il va s’agir ici de séparer a priori, sur un critère connu (qui sera ici la présence ou non du mot “Tif” ou “Hair” dans le nom) les boules entre deux urnes, pour ensuite en tirer un certain nombre dans la première urne puis, indépendamment, un certain nombre (qui peut être différent du premier) dans la seconde urne.

Il ne reste qu’à séparer les 200 salons de coiffure entre les deux catégories, dites strates : la strate 1, qui regroupe les 2 603 salons de coiffure avec “Hair” ou “Tif”, dans laquelle on suppose qu’il y a environ la moitié de jeux de mots, et la strate 2 des autres salons de coiffure, dans laquelle on va supposer qu’il y a 1% de jeux de mots. Ces suppositions permettent de calculer des allocations, c’est à dire le nombre d’unités à tirer dans chaque strate, en utilisant la technique dite de l’allocation de Neyman (slide 61 de cette présentation). Cette allocation, classique en sondages, vise à maximiser la précision de l’estimateur obtenu à la fin, en prenant plus d’individus dans les strates avec une forte variance, ce qui est ici le cas de la strate 1 ; en effet, il y aura à peu près autant de jeux de mots que de non jeux de mots, alors que dans la strate 2 ce sera principalement des noms sans jeu de mots, donc assez peu variés.

Le résultat obtenu ici consiste à tirer 141 salons de coiffure de type 1 et 59 salons de coiffure de type 2. On réalise alors un tel tirage. Les résultats obtenus sont de 68 jeux de mots dans la première strate, et de 1 jeu de mots dans la seconde : “C’est dans l’ère”, assez proche du thème classique de Tif et Hair, mais avec une autre graphie !

Ici, il n’est évidemment pas possible d’extrapoler le résultat à la population totale en disant que la proportion de jeux de mots est de 68+1 sur 200, soit 34.5%. Il faut pondérer les résultats obtenus par la part que représente chacune des strates :

Estimation de la proportion = % de salons dans la strate 1 * proportion de jeux de mots dans la strate 1 + % de salons dans la strate 2 * proportion de jeux de mots dans la strate 2

ce qui donne ici 2603/30083*68/141 + 27480/30083*1/59 = 5,7%. On est bien dans l’intervalle de confiance obtenu tout à l’heure, ce qui est plutôt encourageant. Mais quelle est la précision de ce nouvel estimateur ? Pour cela, on utilise le même type de formule de calcul de variance pour chacune des strates :

Variance_Strate = Proportion_Strate * (100% – Proportion_Strate) / Taille de l’échantillon_Strate

puis on combine ces résultats pour avoir la variance de l’estimation :

Variance = (Part strate 1)² * Variance_Strate_1 + (Part strate 2)² * Variance_Strate_2

et enfin, on construit l’intervalle de confiance de la même façon que précédemment. Nous obtenons ici [4,1% ; 7,3%] qui est plus resserré que celui obtenu au début : nous avons bien amélioré la précision de notre estimation !

Conclusion

Ainsi, en utilisant un sondage intelligent, basé sur l’étude de certaines caractéristiques des jeux de mots dans les salons pour la stratification, nous arrivons au résultat que parmi les 30 083 salons de coiffure, il y en a environ 1 700 dont le nom comporte un jeu de mots, plus ou moins 500, soit très probablement entre 1 200 et 2 200.

[Sampling] De l’instantanéité des sondages

Ces derniers jours une application de “sondages” fait beaucoup parler d’elle dans les médias traditionnels : elle agacerait les instituts de sondages – je ne sais pas pour eux, mais ça nous a plutôt désespéré – et serait un baromètre de l’opinion pour les Républicains avant leur primaire – contrairement aux apparences, nous parlons d’une application française, GOV.

Cette application permet deux choses : tout d’abord, un peu à la façon d’un Tinder de la politique, les utilisateurs peuvent donner une opinion positive ou négative à propos de certaines personnalités politiques, souvent nationales : le Président, Manuel Valls, Christiane Taubira, Marine le Pen, Nicolas Sarkozy, Alain Juppé… Il est également possible de proposer des questions – des débats – auxquels les autres utilisateurs peuvent répondre en indiquant leur accord, avec un +, ou leur désaccord, avec un -. Ces débats peuvent concerner différents sujets : la politique, évidemment, mais aussi la société, la religion, les technologies…

Dernière précision : après téléchargement de l’application, un compte utilisateur doit être créé. On nous demande pour cela un pseudonyme, une adresse mail, puis de spécifier notre sexe, notre département, notre date de naissance et (de façon optionnelle) notre orientation politique, de l’extrême droite à l’extrême gauche en passant par le centre.

Tout cela est bien sympathique ; mais nous ne croyons pas une seule seconde aux résultats obtenus par cette application. Nous allons expliquer par la suite pourquoi nous n’y croyons pas, mais aussi donner quelques pistes d’améliorations pour chacun des problèmes, parce que nous n’aimons pas laisser notre prochain dans l’embarras.

Vérifier les utilisateurs

Commençons par le commencement. Si l’on souhaite avoir une information sur une population, par exemple combien de personnes en France ont une opinion positive de François Hollande, il faut commencer par s’assurer de deux choses sur la population : que l’on interroge bien des personnes qui existent et que ces personnes sont dans la population d’intérêt. Ici, il faudrait vérifier que les gens sont bien en France – cela n’a pas l’air d’être le cas, mais peut-être que les magasins d’applications bloquent le téléchargement hors de France, donc accordons le bénéfice du doute à l’application. La deuxième question est bien plus compliquée, car on ne peut pas demander un papier d’identité à tous les utilisateurs, mais elle est généralement réglée de deux manières différentes : soit en utilisant un autre service comme identifiant – Google, Facebook, etc – ce qui est une possibilité ici, soit en demandant une adresse mail pour y envoyer un mail afin de valider l’inscription, ce qui permet de montrer que ce n’est pas un robot qui vote. Cela laisse le problème de l’unicité, car une personne peut avoir plusieurs adresses mail, mais cela le limite néanmoins : les gens ont une dizaine d’adresses mail au maximum, ce qui ne suffira pas forcément à perturber les résultats.

Que se passe t-il sur GOV ? Eh bien, j’ai pu me créer le compte suivant afin d’aller donner mon avis sur François Hollande. Et si j’avais voulu, j’aurais pu me créer les comptes miaou1@miaou.fr à miaou99999@miaou.fr en automatisant le processus pour aller voter 100000 fois en faveur de François Hollande, pour perturber les analystes politiques de notre pays.

Miaou@miaou

Comment pallier ce problème ? A minima, demander une validation par mail pour éviter l’utilisation d’adresses mail stupides comme la mienne, et si possible trouver un moyen d’éviter les doublons – authentification via adresse de téléchargement de l’application, par exemple.

Changer de sexe – et de date de naissance ?

Le but de l’application n’est pas uniquement de connaître ce pourcentage de votes positifs sur la France entière, il y a également des résultats pour certaines sous-populations : les hommes et les femmes, principalement, sur chacun des départements français, ainsi que selon les orientations politiques. Je n’ai pas trouvé de résultats par âge, mais j’imagine que cela pourrait arriver. J’ai donc renseigné mes informations de façon tout à fait sérieuse. Aujourd’hui, je serai donc une jeune femme de 19 ans vivant à Blois et activement en faveur de l’extrême droite.

Loir et Cher

Aucune de ces informations n’a été vérifiée. Cela peut sembler normal pour l’orientation politique : le vote est secret, et c’est de toute façon facultatif. Mais le sexe, la date de naissance, la position géographique ? Nous pouvons faire encore mieux. Ce(tte) “miaoumiaou” va pouvoir changer d’avis sur la politique (aucun problème), déménager de Blois à Mérignac (cela arrive régulièrement), de sexe (admettons !), mais aussi de date de naissance (???).

Gironde

Comment pallier ce problème ? Il faut récupérer les informations à partir d’une source plus fiable : par exemple, les profils sur les réseaux sociaux. En revanche, les questions de modification des caractéristiques des personnes sondées sont toujours un problème difficile. Il convient de distinguer celles qui ne peuvent pas changer (sauf cas exceptionnels) : sexe, date de naissance… Pour ces caractéristiques, on peut interdire les changements ou à la limite accorder un changement, mais une seule fois. Pour les autres caractéristiques telles que la ville de résidence ou les opinions politiques, les modifications doivent être autorisées, mais il faut une limite aux modifications : je peux changer d’avis politique toutes les deux heures sur GOV, et ainsi les résultats n’ont aucune valeur.

Combien sommes-nous ?

Si l’on en juge par les classements qui se trouvent dans l’onglet Profil, nous étions dans les 10 000 meilleurs après quelques votes, on peut donc estimer que le nombre d’utilisateurs de l’application est entre 10 000 et, allez, 20 000. Cela représente un nombre suffisant pour avoir un avis sur une question si tout le monde y répondait, mais vu le nombre de personnalités politiques et de débats présents sur l’application, cela n’est pas une hypothèse crédible. Un premier problème est donc que les résultats obtenus ne sont pas suffisamment précis : on voit dans l’image ci-dessous que 245 personnes ont voté dans les dernières 24h sur le débat que nous avons créé, ce qui n’est absolument pas suffisant pour avoir l’information pour la totalité de la population française. Mathématiquement, cela veut dire que la variance de notre estimateur est trop forte : 76% des répondants croient aux statistiques de l’INSEE, mais on ne peut rien en déduire de plus précis que ceci : “entre 65% et 87% des français croient aux statistiques de l’INSEE”. Sauf que c’est faux, parce qu’il y a des biais induits par la réponse ou non, mais nous en parlerons plus tard.

245govs

Et pour “ajouter l’injure à l’insulte”, comme on dit chez les jeunes, l’application nous propose même les résultats ventilés selon les différentes orientations politiques. Par exemple, pour la question sur l’INSEE que nous avions posé, nous avons les résultats suivants.

Politique

Nous voyons bien l’intérêt de ce graphique : on aurait envie de dire que les français partisans des partis traditionnels (Gauche, Droite) ont plus confiance dans les institutions et donc dans l’INSEE que ceux des partis d’extrême droite et gauche. Et bien cette analyse n’a absolument aucun fondement. Pourquoi ? Car non seulement comme évoqué précédemment il n’y a pas assez de répondants pour avoir une estimation précise, mais surtout parce qu’on ne sait pas comment sont répartis les répondants au sein des catégories. On sait uniquement que 100% des votants d’extrême droite ne croient pas aux statistiques de l’INSEE, mais on ne sait pas si cela représente 1, 5 ou 50 personnes. On ne peut donc rien en déduire.

Comment pallier ce problème ? À part évidemment attendre qu’il y ait plus de monde (certains débats ont moins de 10 votants, donc autant dire absolument aucune valeur), il serait possible d’au moins d’afficher les effectifs pour toutes les sous-catégories pour avoir une idée de la répartition des votes.

J’ai changé d’avis !

Si vous avez bien suivi, le point précédent n’aurait pas dû être un problème. Il y a plus de 10000 comptes d’utilisateurs inscrits, donc pourquoi est-ce que la plupart des débats et des hommes politiques sont aux alentours de 250-500 “govs”, avec peut-être 1000 au maximum ? Cela vient du fait que le compteur qui est communiqué aux utilisateurs ne concerne que les votes dans les dernières 24 heures, ce qui explique pourquoi le nombre n’augmente pas au fur et à mesure. Pourquoi avoir fait ce choix ? Cela est probablement lié au concept d’instantanéité, car il est possible de revoter toutes les 24 heures pour suivre au plus près l’actualité politique.

Il est donc possible de redonner son avis. Cela veut dire qu’il est possible d’en changer ou de garder le même d’un jour sur l’autre, et cela veut aussi dire que potentiellement les 500 “govs” sur certains sujets proviennent des mêmes personnes d’une journée sur l’autre. Que peut-on déduire de l’évolution sur l’image suivante ? (Réponse : rien.)

Ségolène Royal

Comment pallier ce problème ? Ce n’est pas forcément un problème, certains sondages sont réalisés de cette manière, ce sont les études en panel ou cohorte : on interroge les personnes à des dates différentes, et on s’intéresse à l’évolution entre ces différentes dates. Le fait de réinterroger les mêmes personnes permet de limiter l’aléatoire et donc d’avoir des résultats plus précis que de re-choisir au hasard des individus. Cependant, il faudrait alors être sûr que les individus sont bien toujours les mêmes, et cela n’enlève rien au problème lié au nombre de répondants ou aux autres problèmes qui arrivent dans la suite de l’article.

Comment vote t-on dans le Loir-et-Cher ?

Eh bien, par exemple sur notre question les résultats dans le département (initial) de miaoumiaou sont les suivants. Les barres en gris clair signifient qu’aucun répondant n’est de cette orientation politique dans ce département.

Vote dans le département

Je pense qu’il n’y aura pas besoin d’un grand discours pour en conclure que c’est totalement inutilisable.

Comment pallier ce problème ? Il ne faut pas diffuser d’information à un niveau aussi fin, et se limiter par exemple à un Paris/Province, ou au moins par région.

Je ne suis pas intéressé par la religion

Sur l’application GOV, il est possible de choisir pour qui et quoi on vote. Par exemple, si je ne suis pas du tout intéressé par les questions sur la religion, il me suffit de parcourir uniquement les autres catégories de débats et je n’aurai pas à donner mon avis sur les questions sur le sujet. Cela pourrait ne pas être grave, mais cela pose un problème assez classique en sondages et plus largement en théorie des comportements. C’est celui de la non-réponse non-ignorable. Prenons un exemple.

Cigarettes

Cette question est déséquilibrée : les individus auront des tendances à vouloir répondre qui sont différentes selon leurs caractéristiques. Raisonnons de façon schématique. Si je suis fumeur, j’ai envie d’indiquer que je suis contre le paquet plus cher. Si je ne suis pas fumeur, j’ai moins d’intérêt dans la question, mais peut-être que je veux arrêter le tabagisme passif et donc que je suis pour. En moyenne, les fumeurs répondront plus souvent que les non-fumeurs. Le résultat final est alors biaisé en faveur du non, et donc pas directement exploitable !

Comment pallier ce problème ? Il y a deux manières différentes de s’attaquer à cette problématique. La première, c’est de ne pas laisser ce choix et de “forcer” les individus à répondre aux questions qui leur sont soumises, par exemple aléatoirement : l’inconvénient est que cela limite la convivialité de l’application, et cela n’empêche pas les gens de quitter l’application et de ne pas répondre de toute façon quand ils ne sont pas intéressés. L’autre solution c’est d’utiliser les caractéristiques socio-démographiques et les profils de réponse des individus pour corriger de la non-réponse, par exemple dans notre exemple analyser qui est fumeur et non-fumeur pour rétablir l’équilibre des réponses, et s’approcher du “vrai” pourcentage d’avis pour le paquet à 10€.

Le “calage” des réponses

Je vais essayer d’éviter d’utiliser le mot “représentatif” dans ce paragraphe ! Les individus inscrits sur l’application GOV ne sont pas nécessairement un portrait de la population française. Par exemple, il n’y a peut-être pas 50% d’hommes et 50% de femmes, et probablement trop de jeunes par rapport à la vraie pyramide des âges de la population française. Or, tout individu de plus de 50 ans qui vote sur l’application a le même impact qu’un jeune, ce qui ne permet pas d’avoir des résultats sur la population entière.

Comment pallier ce problème ? Il est possible d’utiliser des techniques dites de calage sur marges, c’est à dire d’adapter l’impact des votes des individus en fonction de leurs caractéristiques socio-démographiques pour faire en sorte que ceux minoritaires parmi les inscrits aient un poids plus important que les autres. Cela permettrait ainsi de conclure à partir des inscrits à GOV sur la population entière.

J’adore donner mon avis !

Il reste un problème encore plus important que ce qui a été mentionné dans les deux points précédents. En effet, le fait de télécharger ou non cette application est en soi une décision raisonnée d’un individu, et donc ce choix dépend de ses caractéristiques. On peut imaginer par exemple que les individus les plus politisés auront envie de donner leur avis sur les personnalités politiques plus souvent que les autres, ce qui crée également un biais non-ignorable sur les résultats. Le problème, c’est que la question de la politisation n’est pas forcément facilement déductible des caractéristiques socio-démographiques, et que donc les techniques de calages ne suffisent pas.

Comment pallier ce problème ? Il existe quelques méthodologies assez avancées permettant de résoudre le problème, mais la méthode la plus simple consiste soit à interroger quelques personnes sur leur utilisation ou non de l’application pour connaître les caractéristiques qui font que l’on a envie de voter sur GOV, ou de réaliser une expérience aléatoire, en demandant aux gens par exemple dans le cadre d’un sondage par téléphone ou dans la rue de répondre à un débat de GOV, puis en comparant le résultat obtenu avec celui de l’application.

Conclusion (TL;DR)

Les résultats affichés par l’application GOV ne sont pas crédibles car ils souffrent d’un manque de sérieux concernant le champ des personnes interrogées, d’un manque de précision et de biais relatifs aux caractéristiques des utilisateurs par rapport à la population. Cependant, le concept est intéressant, et avec quelques modifications comme celles que nous avons suggérées dans cet article, il serait tout à fait possible d’aboutir à des résultats sérieux. On verra ce qu’il en sera dans une éventuelle version 2 ?

[Sampling] Why you should never ever use the word “representative” about survey sampling

We often hear the term “representative”, which supposedly assesses the quality of a sample. In this article, I’ll try to show you that not only “representative” has no scientific meaning, but also it is misleading, especially for people who are not survey sampling specialists. This includes students, researchers in social science who use surveys, journalists, etc. I hope I’ll convince you to never use it again !

I’ll try to make this post understandable even if you don’t know the basics of survey sampling theory. Well, you might miss a thing or two, but I think my main arguments are perfectly understandable to anyone who has ever taken a course in statistics. And perhaps I’ll write an article later to explain the basics of survey sampling in layman’s terms 😉

The Horvitz-Thompson estimator

In this article, I’ll only speak about random sampling, which is the technique governments use to produce many official statistics. I will not speak about non-random methods like quota sampling or other techniques mostly used by market research companies.

Horvitz and Thompson provide us an unbiased estimator using sample data. Assuming you know \(\pi_k\), the inclusion probability of unit k, and you’re trying to measure the mean of \(Y\) using the \(y_k\) only known for units in the sample (s). The size of the sample is n, and the size of the population is N. Then the estimator:

\begin{align*}
\hat{\bar{Y}}_{HT} = \dfrac{1}{N} \sum_{k \in s} \dfrac{y_k}{\pi_k}
\end{align*}

is unbiased, as long as no inclusion probability equals 0.
The Horvitz-Thompson estimator can also be written:

\begin{align*}
\hat{\bar{Y}}_{HT} &= \dfrac{1}{N} \sum_{k \in s} d_k y_k \\
\text{with: } d_k &= \dfrac{1}{\pi_k}
\end{align*}

which means units are weighted by the inverse of their inclusion probability.

Do not plugin !

As you can see from the formula, the Horvitz-Thompson estimator is very different from the sample mean (ie the plugin estimator), which writes:

\begin{align*}
\bar{y} = \dfrac{1}{n} \sum_{k \in s} y_k
\end{align*}

This means that in general, if you estimate a mean by direclty using the sample mean, you end up with bias. I think that saying a randomly selected sample is “representative” of the studied population suggests that you could use the plugin estimator, no matter what the inclusion probabilities are. After all, if you claim your sample is somehow a valid “scale model” of the population, why couldn’t simple stats such as means, totals or even quantiles of variables of interest be directly inferred from the stats in the sample ?

The only case when the plugin estimator is unbiased is when all inclusion probabilities are equal. But with equal probabilities, rare characteristics are very unlikely to be selected which is (paradoxically) why you’ll very seldom hear someone use the term “representative” speaking of a sample selected with equal probabilities. Besides…

Sample = goal

… you can obtain much better precision (or, alternatively, much lower costs) by using unequal inclusion probabilities. Stratified sampling and cluster/two-stage sampling are way more common than simple random sampling for this reason.

The most telling example is perhaps stratified sampling for business surveys. Imagine a business sector when you can regroup businesses into two groups. Your goal is to estimate the mean revenue, by sampling 100 units out of 1090. Key figures for the population of my example are gathered in the following table:

Group Revenue range (M$) Dispersion of revenue N
“Big” businesses 50 – 50000 300 100
“Small” businesses 0 – 50 10 990

One of the best sampling designs you can use is stratified sampling (with a SRS in each stratum) using the optimal allocation. Neyman’s theorem gives the inclusion probabilities for the optimal allocation:

Group Inclusion probability for every unit in group
« Big » businesses 75%
« Small » businesses 2,5%

Inclusion probabilities are way different between the two groups ! Another way to see this: one only sample cannot provide good estimates for every variable you could think of. In our example, optimal inclusion probabilities would certainly be very different if we tried to estimate (for example) the number of businesses that were created less than a year ago. The best expected precision for a variable depends on the sampling design. And to assess this expected precision, there’s no other choice than to think in terms of bias and variance. There are formulas for precision estimation, but “representativity” is by no means a statistical concept.

The sample is not required to be similar to the population

This point is directly related to the previous one: inclusion probabilities are designed to optimize the estimator of one variable (or possibly a few variables with high correlation). Neyman’s theorem also gives this optimal allocation, i.e. how you should divide your 100 sampled units between the two groups :

Group Share of the population Share of the sample (optimal allocation)
« Big » businesses 9,2% 75%
« Small » businesses 88,8% 25%

If you look at the final allocation, we have a huge over-representation of “big” businesses, in comparison of their relative number in the population. However, this is the optimal allocation, meaning that this sample will lead to the best possible estimator for revenue.

Consequently, the sample is not required to “look like” the population for the estimator to be good… in our example it is in fact quite the contrary !

Conclusion

Estimation in survey sampling can be somewhat counter-intuitive. If you want to be as rigorous as a statistician should be, think in statistical terms, such as bias and variance. And when you speak about survey sampling, ban words which have no statistical meaning, such as “representative” or “representativity”.