# Rapport de plausibilité — Enquête SMART, 30 grappes, 2024

Documentation technique du projet *Analyse d'enquête SMART et rapport de
plausibilité*. C'est le document sur lequel repose la décision de publication :
l'estimation de prévalence est la moitié facile, et une estimation SMART n'est
pas publiable tant que les tests de plausibilité n'ont pas été exécutés et leurs
verdicts énoncés.

- **Jeu de données source :** `smart-nutrition-survey-2024.v1.csv` (930 enfants,
  30 grappes, 4 équipes de mesure)
- **Table de référence :** `who-2006-weight-for-lenhei.csv` (paramètres LMS
  OMS 2006, exportés du paquet R officiel `anthro`)
- **Analyses :** `notebooks/whz-prevalence.python.fr.ipynb` ; le détail test par
  test se trouve dans l'exemple de jeu de données `plausibility.python`
- **Décision éclairée :** accepter l'enquête, exclure les données d'une équipe de
  mesure, ou recommencer la collecte
- **Normes appliquées :** méthodologie SMART, standards de croissance OMS,
  définitions d'indicateurs UNICEF

Tous les jeux de données de cette plateforme sont synthétiques. Aucun enfant réel
n'y est décrit, et ces résultats ne doivent pas être cités comme une situation
nutritionnelle réelle.

---

## Verdict

**Ne pas publier tel que mesuré. Remesurer les grappes de l'équipe 3 si les
équipes sont encore sur le terrain ; si elles ne le sont plus, publier en plaçant
la comparaison entre équipes dans le corps du rapport plutôt qu'en annexe.**

Deux tests échouent et deux alertent :

| N° | Test | Valeur | Résultat |
| ---: | --- | --- | --- |
| 1 | Mesures impossibles | 1,5 % exclues | réussite |
| 2 | Enregistrements signalés (SMART, ±3 ET de la moyenne d'enquête) | 0,3 % | réussite |
| 3 | Écart-type du Z poids-taille | 1,23 | **alerte** |
| 4 | Préférence de chiffre | équipe 2 à 69 % sur ,0/,5 | **échec** |
| 5 | Attraction des âges | 24 % sur des années entières | **alerte** |
| 6 | Sex-ratio | 1,01 | réussite |
| 7 | Biais entre équipes | 0,67 z d'écart | **échec** |

Les deux échecs concernent des **équipes différentes**. L'enquête présente deux
défauts de mesure indépendants, et un seul des deux déplace l'estimation de
prévalence.

---

## 1. L'estimation, et pourquoi elle ne peut être publiée en l'état

| | Valeur |
| --- | --- |
| Enfants analysables | 872 |
| MAG (Z poids-taille < −2 ou œdèmes) | **14,9 %** |
| IC 95 % | 11,3 % – 18,5 % |
| MAS (Z poids-taille < −3 ou œdèmes) | 3,9 % |
| Effet de grappe | 2,28 |
| Z moyen | −0,673 |
| Écart-type du Z | 1,228 |

Le seuil d'urgence qui déclencherait une montée en charge est de 15 %.
**L'estimation ponctuelle se situe juste en dessous et l'intervalle le franchit.**
Sur cette seule base, l'enquête ne peut pas dire si le critère de montée en charge
est rempli — d'où la nécessité de trancher la question des équipes du §4 avant
même d'utiliser le chiffre.

### 1.1 Comment l'intervalle est calculé

Les grappes sont l'unité de sondage : la variance doit donc être calculée entre
grappes, non entre enfants. Estimateur de ratio à grappes ultimes :

```
p   = Σ yᵢ / Σ mᵢ
var = k / ((k−1) · M²) · Σ (yᵢ − p·mᵢ)²
```

avec `k` = 30 grappes, `mᵢ` enfants analysables dans la grappe *i*, `yᵢ` cas dans
la grappe *i*, `M = Σ mᵢ`. L'intervalle à 95 % est `p ± 1,96·√var`.

L'effet de grappe est cette variance rapportée à la variance en sondage
aléatoire simple `p(1−p)/M` : **2,28**, soit une corrélation intra-grappe proche
de 0,045. Traiter les 872 enfants comme un échantillon aléatoire simple donnerait
un intervalle environ √2,28 ≈ 1,5 fois trop étroit, et placerait tout l'intervalle
sous le seuil.

### 1.2 Calcul des scores Z

Les scores Z poids-pour-taille sont calculés contre les paramètres LMS de
l'OMS 2006, et non lus dans une colonne pré-calculée :

- La longueur est utilisée en dessous de 24 mois, la taille à partir de 24 mois.
  Lorsque la position de mesure saisie contredit la règle d'âge, la mesure est
  convertie de 0,7 cm.
- Au-delà de ±3 ET, l'OMS remplace la courbe LMS par une extension linéaire fondée
  sur la distance entre les seuils 2 et 3 ET. Elle est appliquée ; l'omettre gonfle
  les queues de distribution, précisément là où la MAG et la MAS sont comptées.
- Les œdèmes priment sur l'anthropométrie : un enfant présentant des œdèmes
  bilatéraux prenant le godet est un cas de MAG et de MAS quel que soit son score Z.

La table de référence est livrée avec cette plateforme parce que R dispose du
paquet OMS officiel et que Python n'a pas d'équivalent maintenu s'installant
proprement. Les analyses R et Python concordent sur la prévalence à la première
décimale.

---

## 2. Exclusions, avant tout test

| Catégorie | Enfants | Traitement |
| --- | ---: | --- |
| Mesure impossible (poids hors 2–30 kg, taille hors 45–130 cm) | 14 | Exclus — erreur de saisie |
| Poids manquant | 11 | Conservés dans le fichier, score NA |
| Âge manquant | 21 | Conservés dans le fichier, score NA |
| Analysables | 872 | — |

**Une mesure manquante et une mesure impossible sont deux défauts différents, et
un seul des deux est une erreur de saisie.** Sous pandas, `between()` renvoie
False pour NaN : un simple `~between(...)` compte donc une mesure manquante comme
impossible — erreur qui avait porté le décompte d'exclusions de 14 à 25 dans une
version antérieure de cette analyse. Elle est consignée ici parce qu'elle est
invisible dans la sortie.

---

## 3. Tests 1 à 6, en détail

### Test 1 — Valeurs impossibles · **réussite**
14 sur 930 (1,5 %) exclues. En dessous du niveau où SMART remettrait en question
la collecte dans son ensemble.

### Test 2 — Enregistrements signalés · **réussite**
En appliquant le signalement SMART (±3 ET de la moyenne *de l'enquête* plutôt que
la plage fixe de l'OMS) : 3 enregistrements, 0,33 %. La plage fixe de l'OMS
(−5 à +5) en signale 1. Les deux sont très en dessous du niveau de préoccupation
SMART.

Le signalement SMART est relatif à la moyenne de l'enquête : il identifie donc
les enregistrements incohérents avec *cette* enquête ; le signalement OMS
identifie ceux incohérents avec le standard de croissance. Ils répondent à des
questions différentes et les deux sont rapportés.

### Test 3 — Écart-type du Z poids-taille · **alerte**
**1,228.** SMART considère 0,8 à 1,2 comme acceptable et au-delà de 1,2 comme le
signe d'une imprécision de mesure ou d'une population réellement hétérogène.

À 1,23 le résultat est limite, et le §4 fournit le mécanisme probable : une seule
équipe mesurant systématiquement bas élargit la distribution agrégée. Exclure
l'équipe 3 permettrait de le tester directement.

### Test 4 — Préférence de chiffre · **échec**

Part des mesures de taille se terminant par `,0` ou `,5`, attendue à 20 % en
l'absence de préférence :

| Équipe | % sur ,0/,5 |
| --- | ---: |
| 1 | 17,6 % |
| **2** | **69,4 %** |
| 3 | 18,0 % |
| 4 | 23,4 % |

La distribution complète du dernier chiffre pour l'équipe 2 place 34,7 % sur `,0`
et 34,7 % sur `,5`, contre 2,5 à 5,4 % sur chacun des autres chiffres. Ce n'est
pas du bruit d'arrondi ; c'est une équipe qui lit la toise au demi-centimètre le
plus proche.

**C'est un échec, et il désigne une autre équipe que le test 7.** Le Z moyen de
l'équipe 2 est de −0,427, le deuxième plus *élevé* des quatre — son défaut de
mesure ajoute du bruit plutôt qu'un biais, il ne déplace donc pas l'estimation
ponctuelle de prévalence. Il gonfle en revanche l'écart-type (test 3) et
constitue de toute façon un constat de formation.

### Test 5 — Attraction des âges · **alerte**
**211 enfants (23,6 %) à une année entière exacte**, avec des amas à 24, 36 et
48 mois (65, 80 et 44 enfants contre 10 à 26 aux mois voisins).

Cela compte ici pour une raison précise : **la règle longueur/taille bascule
exactement à 24 mois.** Un enfant attiré vers 24 mois est mesuré debout et
comparé au standard de taille alors qu'il a peut-être 22 mois. C'est une seconde
source d'erreur, plus faible, qui traverse toutes les équipes.

### Test 6 — Sex-ratio · **réussite**
461 garçons, 455 filles ; ratio 1,013, khi-deux contre 1:1 = 0,04. Aucun indice
d'inclusion sélective.

---

## 4. Test 7 — Biais entre équipes · **échec**

| Équipe | Enfants | Z moyen | ET | Taille moy. (cm) | Poids moy. (kg) | MAG |
| ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 1 | 208 | −0,687 | 1,240 | 76,11 | 9,07 | 15,9 % |
| 2 | 232 | −0,427 | 1,173 | 75,97 | 9,26 | 11,2 % |
| **3** | **230** | **−1,099** | 1,224 | 75,24 | **8,59** | **22,2 %** |
| 4 | 202 | −0,457 | 1,155 | 75,41 | 9,04 | 9,9 % |

**Écart du Z moyen entre équipes : 0,67.** SMART considère un écart entre équipes
supérieur à environ 0,3 z comme un problème de supervision.

**Les grappes ont été attribuées aux équipes indépendamment de l'état
nutritionnel** : un écart réel de deux tiers de score Z entre équipes serait donc
extraordinaire. L'équipe 3 mesure des enfants en moyenne 0,5 kg plus légers que
les trois autres à taille moyenne presque identique — la signature d'une balance
mal réglée ou dérivante plutôt que d'une population plus fragile.

La préférence de chiffre de l'équipe 3 (18,0 %) est banale : il ne s'agit donc pas
du même défaut que le test 4. Deux équipes, deux défauts indépendants.

---

## 5. Les trois options, chiffrées

| Option | MAG | IC 95 % | Effet de grappe | n | Franchit 15 % |
| --- | ---: | --- | ---: | ---: | --- |
| Accepter tel que mesuré | 14,9 % | 11,3 – 18,5 % | 2,28 | 872 | oui |
| Exclure l'équipe 3 | 12,3 % | 8,6 – 16,0 % | 2,16 | 642 | oui |
| Remesurer les grappes de l'équipe 3 | — | — | — | — | — |

**Différence : −2,6 points.** La décision de montée en charge se joue précisément
sur cet écart.

**Ne pas accepter tel que mesuré.** L'estimation est gonflée par une équipe dont
le Z moyen se situe deux tiers d'écart-type en dessous des autres, sur des
grappes attribuées indépendamment.

**Ne pas exclure silencieusement cette équipe non plus.** Exclure 8 grappes sur 30
modifie la base de sondage, et une prévalence calculée sur le reste n'est plus
l'enquête qui avait été conçue. Noter que l'intervalle franchit encore le seuil :
l'exclusion ne résout donc même pas la question qu'elle était censée résoudre.
Elle est rapportée comme analyse de sensibilité, non comme la réponse.

**Remesurer.** Si les équipes sont encore sur le terrain, remesurer les huit
grappes de l'équipe 3 est la seule option produisant une estimation publiable. Si
elles ne le sont plus, publier en plaçant le §4 dans le corps du rapport. Un
lecteur à qui l'on ne montre que le chiffre du district ne peut pas savoir qu'un
quart de l'échantillon a été mesuré par quelqu'un dont les résultats ne concordent
avec ceux de personne.

---

## 6. Ce que ce rapport n'établit pas

1. **Quelle équipe a raison.** La comparaison montre qu'une équipe diffère ; elle
   ne montre pas que les trois autres sont justes. Si un exercice de
   standardisation a été mené avant la collecte, ses résultats tranchent, et cette
   analyse ne les contient pas.
2. **Si les grappes de l'équipe 3 sont réellement plus dégradées.** L'attribution
   indépendante rend cela improbable sans le rendre impossible. Seule une nouvelle
   mesure sépare les deux hypothèses.
3. **La cause de la préférence de chiffre ou du biais de balance.** Une visite de
   supervision y répond ; un jeu de données non.
4. **Quoi que ce soit sur le dépistage par PB.** Le PB et le poids-pour-taille
   identifient des enfants qui se recoupent sans se confondre, et une MAG par Z
   poids-taille n'est pas comparable à une MAG par PB — voir le projet *Tableau de
   bord de programme nutritionnel*.

---

## 7. Reproduire ce rapport

```bash
pnpm examples:build
```

Puis exécuter `notebooks/whz-prevalence.python.fr.ipynb` pour l'estimation et les
options, et l'exemple de jeu de données `plausibility.python` pour le détail test
par test. Les deux requièrent pandas, numpy et scipy et lisent leurs entrées en
HTTPS.

Le jeu de données et la table de référence de l'OMS sont versionnés par nom de
fichier et immuables.

---

## 8. Journal des versions

| Date | Modification |
| --- | --- |
| 27/07/2026 | Première émission, sur le jeu de données v1. |
