Retour à la leçon·Leçon 1 sur 8·L'échantillon n'est pas la population
La moyenne de votre échantillon n'est la moyenne de rien
Le même diaporama que les téléchargements, rendu sous forme de page. Lancez le diaporama pour le présenter en plein écran — les flèches ou un clic avancent d'une diapositive, Échap quitte.
Ce que couvre cette leçon
- Deux nombres tirés d'un seul fichier
- D'où vient l'écart
- Pourquoi concevoir le plan ainsi
- Les estimations par strate n'ont pas besoin de pondérations
- Le sens n'est pas toujours le même
- Que faire lorsqu'il n'y a pas de base de sondage
- La suite
Notes du présentateur
32,8 % contre 29,1 % sur les mêmes 996 entretiens, et 62,8 % contre 69,8 % sur les mêmes ménages. L'écart, c'est le plan de sondage, et ce n'est pas du bruit.Deux nombres tirés d'un seul fichier — En Python
import pandas as pd survey = pd.read_csv("household-survey-2025.v1.csv") frame = pd.read_csv("household-survey-frame-2025.v1.csv") unweighted = (survey["food_insecure"] == "true").mean() print(f"unweighted: {unweighted:.1%}")Notes du présentateur
Prenez l'enquête ménage, comptez les ménages classés en insécurité alimentaire, divisez par le nombre de ménages. Cela fait 32,8 %. Pondérez maintenant chaque ménage par le nombre de ménages qu'il représente dans la population, et le même fichier donne 29,1 %.Deux nombres tirés d'un seul fichier — En R
library(dplyr) library(readr) survey <- read_csv("household-survey-2025.v1.csv") frame <- read_csv("household-survey-frame-2025.v1.csv") mean(survey$food_insecure == "true")Notes du présentateur
Les deux nombres sont calculés correctement. L'un est une estimation de la population et l'autre une description de qui a été interrogé, et un seul des deux est ce que le rapport prétend rapporter.D'où vient l'écart
Strate Ménages dans la base Zones tirées Ménages enquêtés Insécurité alimentaire Urbain 21 270 25 316 14,6 % Rural accessible 28 958 25 337 36,2 % Rural reculé 6 200 25 343 46,4 % Notes du présentateur
Rien à voir avec l'arithmétique. Tout à voir avec la façon dont l'échantillon a été tiré.D'où vient l'écart — En Python
by_stratum = ( survey.assign(insecure=survey["food_insecure"] == "true") .groupby("stratum") .agg(interviews=("insecure", "size"), rate=("insecure", "mean")) ) frame_totals = frame.groupby("stratum")["households"].sum() comparison = by_stratum.join(frame_totals.rename("frame_households")) comparison["sample_share"] = comparison["interviews"] / comparison["interviews"].sum() comparison["population_share"] = ( comparison["frame_households"] / comparison["frame_households"].sum() ) print(comparison.round(3))Notes du présentateur
Lisez ensemble la première et la dernière colonne. Le rural reculé représente 11 % de la population et 34 % de l'échantillon, et c'est de loin la strate la plus touchée. Une moyenne non pondérée des trois lignes surreprésente donc d'un facteur trois la strate la plus en difficulté. Les 32,8 % ne sont pas l'insécurité alimentaire du district ; c'est celle d'une population dont un tiers des ménages sont ruraux reculés, et cette population n'existe pas.D'où vient l'écart — En R
survey |> summarise(interviews = n(), rate = mean(food_insecure == "true"), .by = stratum) |> left_join(summarise(frame, frame_households = sum(households), .by = stratum), by = "stratum") |> mutate(sample_share = interviews / sum(interviews), population_share = frame_households / sum(frame_households))D'où vient l'écart
Strate Part de l'échantillon Part de la population Urbain 31,7 % 37,7 % Rural accessible 33,8 % 51,3 % Rural reculé 34,4 % 11,0 % D'où vient l'écart
- Lorsque ces deux colonnes diffèrent, une estimation non pondérée est biaisée — et l'ampleur comme le sens du biais se…
Notes du présentateur
Lorsque ces deux colonnes diffèrent, une estimation non pondérée est biaisée, et l'ampleur comme le sens du biais se déduisent entièrement du tableau.Pourquoi concevoir le plan ainsi
- L'allocation proportionnelle donne la meilleure estimation nationale et des estimations infranationales faibles.
- L'allocation égale donne des estimations infranationales comparables et exige une pondération pour tout chiffre…
Notes du présentateur
La réaction immédiate est que l'échantillon a été mal tiré. Ce n'est pas le cas, et comprendre pourquoi fait l'essentiel de cette leçon. Une allocation égale entre strates inégales est un choix délibéré et classique, et il achète quelque chose de précis — une estimation exploitable pour chaque strate séparément. Le rural reculé compte 11 % des ménages, si bien qu'un échantillon proportionnel à la population y aurait mis environ 110 entretiens : assez pour un chiffre national, très loin d'assez pour dire quoi que ce soit de la strate elle-même. L'arbitrage est explicite. Les EDS, les MICS et la plupart des évaluations humanitaires choisissent la seconde, car l'objet même de l'enquête est en général de comparer des lieux. Les pondérations ne corrigent pas une erreur. Elles sont le prix du plan.Les estimations par strate n'ont pas besoin de pondérations — En Python
print(by_stratum["rate"].round(3))Notes du présentateur
Le plan a une conséquence utile qu'il vaut la peine de voir tôt.Les estimations par strate n'ont pas besoin de pondérations — En R
survey |> summarise(rate = mean(food_insecure == "true"), .by = stratum)Notes du présentateur
À l'intérieur d'une strate, ce plan est autopondéré — chaque ménage avait la même probabilité de sélection — si bien que le taux non pondéré de la strate est déjà l'estimation. Les pondérations n'interviennent qu'au moment de combiner les strates. C'est pourquoi un rapport peut légitimement présenter des chiffres non pondérés par strate à côté d'un total pondéré, et pourquoi le faire sans préciser lequel est lequel égare tout le monde.Le sens n'est pas toujours le même — En Python
for outcome in ["food_insecure", "improved_water_source"]: print(f"{outcome:24} unweighted {(survey[outcome] == 'true').mean():.1%}")Notes du présentateur
L'insécurité alimentaire baisse quand on pondère. L'accès à une source améliorée monte, et davantage.Le sens n'est pas toujours le même — En R
survey |> summarise(across(c(food_insecure, improved_water_source), ~ mean(.x == "true")))Le sens n'est pas toujours le même
Résultat Non pondéré Pondéré Insécurité alimentaire 32,8 % 29,1 % Source d'eau améliorée 62,8 % 69,8 % Le sens n'est pas toujours le même
- On ne peut donc pas corriger un chiffre non pondéré à vue de nez — et un rapport qui en présente un avec la mention «…
Notes du présentateur
Sept points sur le second. Il n'existe aucune règle générale voulant que les estimations non pondérées soient trop hautes ou trop basses : le biais va dans le sens où la strate suréchantillonnée diffère, et il diffère d'une ampleur différente pour chaque résultat. On ne peut donc pas corriger un chiffre non pondéré à vue de nez, et un rapport qui en présente un avec la mention « non pondéré, le vrai chiffre est donc un peu plus bas » devine.Que faire lorsqu'il n'y a pas de base de sondage
- Rapporter par strate seulement, si les strates sont enregistrées. Les chiffres infranationaux sont d'ailleurs…
- Reconstituer des pondérations approximatives à partir d'une source de population externe, en documentant qu'elles…
- Dire que l'enquête ne permet pas d'estimation de population. C'est une vraie réponse, meilleure qu'un nombre qui…
Notes du présentateur
Il arrive d'hériter d'un jeu de données sans base et sans pondérations. Trois positions honnêtes, et aucune ne consiste à rapporter la moyenne non pondérée comme une estimation.La suite
- Les pondérations sont calculables, à partir de la base que ce jeu de données livre.
Notes du présentateur
Les pondérations sont calculables, à partir de la base que ce jeu de données livre. La leçon suivante les construit depuis le début — probabilité de sélection à chaque degré, pondération de base, ajustement pour non-réponse — puis les prouve, en vérifiant qu'elles totalisent le nombre de ménages que la base déclare.