cassionAnalyse de données

Leçon 7 sur 8

Unité · Le lire face à autre chose

Trois réponses à une seule question

La malnutrition aiguë vaut 8,7 % dans le registre de dépistage de routine, 11,4 % dans une enquête ménage employant la même mesure, et 14,9 % dans une enquête SMART en employant une autre. Décomposez l'écart entre sélection et mesure, et aucune source n'est fausse.

PythonR90 minNormes OMS de croissance de l'enfantEnquête SMARTDéfinitions d'indicateurs de l'UNICEF

La réunion

Le cluster nutrition dispose de trois chiffres pour la malnutrition aiguë, même population et même année. Le registre de dépistage de routine dit 8,7 %. Une enquête ménage dit 11,4 %. Une enquête SMART dit 14,9 %.

Quelqu’un demandera lequel est juste. La réponse est que les trois le sont, et le travail utile consiste à décomposer l’écart selon ses deux causes — qui a été mesuré et ce qui a été mesuré — car chacune a une implication différente pour le programme.

Les trois sources

import pandas as pd

muac = pd.read_csv("muac-screening-artibonite-2024.v1.csv")
measured = muac[muac["muac_mm"].notna()]
routine = ((measured["muac_mm"] < 125) | (measured["oedema"] == True)).mean()

print(f"routine screening register: {routine:.1%} on n={len(measured):,}")
library(dplyr)

muac |>
  filter(!is.na(muac_mm)) |>
  summarise(rate = mean(muac_mm < 125 | oedema), n = n())
Source Mesure Population Estimation n
Registre de dépistage de routine PB Enfants amenés au dépistage 8,7 % 4 146
Enquête ménage PB Échantillon de population, pondéré 11,4 % 648
Enquête SMART Score z poids-taille Échantillon de population 14,9 % 874

Deux choses varient entre ces lignes, et elles varient une à la fois, ce qui rend la décomposition possible.

Mesure constante, sélection variable — de 8,7 % à 11,4 %

Les lignes un et deux emploient toutes deux le PB. La seule différence est qui a été mesuré.

Le registre de routine mesure les enfants que quelqu’un a amenés à un dépistage. L’enquête ménage mesure des enfants tirés de la population, avec les pondérations construites par le cours sur les enquêtes.

Un écart de 2,7 points, et il va dans le sens où il va toujours. Le dépistage atteint les enfants dont les accompagnants peuvent atteindre un point de dépistage — plus près du site, moins contraints par d’autres travaux, dans un ménage où quelqu’un peut se déplacer. Les enfants les plus difficiles à atteindre sont systématiquement plus susceptibles d’être malnutris, et le chiffre de routine ne les contient pas.

Les données de routine mesurent la population servie, non la population. Ce n’est pas un défaut du système, c’est ce qu’est un registre de service. L’erreur est de le lire comme une prévalence.

Sélection constante, mesure variable — de 11,4 % à 14,9 %

Les lignes deux et trois sont toutes deux des échantillons de population. La différence est la mesure.

Le PB et le poids-pour-taille n’identifient pas les mêmes enfants. Ils sont corrélés, mais chacun trouve des cas que l’autre manque — le PB est plus sensible chez les enfants plus jeunes et plus petits, le poids-pour-taille chez les plus âgés et plus grands. Appliquer les seuils standards à la même population donne des prévalences différentes, et dans la plupart des contextes le poids-pour-taille donne le chiffre le plus élevé.

Un écart de 3,5 points ici, et il signifie que les deux chiffres ne peuvent pas se lire face au même seuil. Le seuil d’urgence de 15 % pour la malnutrition aiguë globale est défini pour une mesure précise, et lui comparer une prévalence fondée sur le PB revient à comparer deux quantités différentes. Le cours sur les indicateurs le disait à propos du nommage ; voici ce que cela coûte.

comparison = pd.DataFrame({
    "source": ["Routine register", "Household survey", "SMART survey"],
    "measure": ["MUAC", "MUAC", "weight-for-height z"],
    "population": ["screened", "population sample", "population sample"],
    "estimate": [0.087, 0.114, 0.149],
})
comparison["vs_previous"] = comparison["estimate"].diff()
print(comparison)
tibble::tribble(
  ~source,             ~measure, ~population,         ~estimate,
  "Routine register",  "MUAC",   "screened",              0.087,
  "Household survey",  "MUAC",   "population sample",     0.114,
  "SMART survey",      "WHZ",    "population sample",     0.149
) |> mutate(vs_previous = estimate - lag(estimate))

La sélection explique 2,7 points. La mesure en explique 3,5. À elles deux elles rendent compte de la totalité de l’écart de 6,2 points, et aucune n’est une erreur.

Ce à quoi chaque source sert réellement

Source Bonne pour Pas pour
Registre de routine Charge de cas, charge de travail, approvisionnement, tendance dans la population servie Prévalence, dénominateurs de couverture
Enquête ménage Prévalence de population avec intervalle, équité entre strates Tout ce qui est mensuel ; tout ce qui porte sur une formation
Enquête SMART Prévalence face aux seuils IPC et d’urgence, comparabilité avec d’autres enquêtes Toute fréquence supérieure à l’annuelle

Lisez ce tableau et la réunion se règle d’elle-même. Le responsable de programme qui demande « combien d’enfants admettrons-nous le trimestre prochain » veut le registre de routine. Le cluster qui demande « la situation a-t-elle franchi le seuil d’urgence » veut l’enquête SMART. Poser l’une des questions à l’autre source produit une réponse fausse qui sonne défendable.

Triangulation, non réconciliation

Le réflexe, quand deux sources divergent, est de les réconcilier — décider laquelle a raison et ajuster l’autre. Résistez-y. Les sources mesurent des choses différentes et la différence est une information.

Ce que la différence vous apprend.

  • Un écart routine-enquête qui se creuse signifie que la couverture du dépistage baisse, ou que les plus difficiles à atteindre le deviennent davantage. C’est un constat programmatique qu’aucune source seule ne montre.
  • Un chiffre de routine qui bouge alors que l’enquête ne bouge pas relève en général du dépistage — une nouvelle sortie de proximité, un nouveau protocole — et non de l’état nutritionnel.
  • Un chiffre d’enquête qui bouge alors que la routine ne bouge pas signifie que le programme ne voit pas le changement. C’est le plus actionnable des trois.
def gap_over_time(routine_series, survey_series):
    return pd.DataFrame({
        "routine": routine_series,
        "survey": survey_series,
        "ratio": survey_series / routine_series,
    })
gap_over_time <- function(routine, survey) {
  tibble::tibble(routine, survey, ratio = survey / routine)
}

Suivez le rapport, pas la différence. Le rapport enquête sur routine est à peu près l’inverse de la couverture du dépistage, et il est assez stable pour être un indicateur de suivi à part entière.

La phrase du rapport

Acute malnutrition in the district, 2024:

  14.9% (95% CI 12.3-17.9) by weight-for-height z-score, from a 30-cluster
  SMART survey of 874 children, design effect 1.5.

  11.4% by MUAC in the same population, from a household survey of 648
  measured children, weighted to the sampling frame.

  8.7% by MUAC among 4,146 children brought to routine screening. This is a
  measure of the screened population, not a prevalence estimate, and is
  reported here for comparison with previous rounds of screening only.

The gap between the first two figures is a measurement difference; between the
second and third, a difference in who was measured. Neither indicates an error.

Dix lignes, et elles mettent fin à une discussion qui reviendrait sinon chaque trimestre. La dernière phrase est celle qui travaille.

Quand vous n’avez que des données de routine

C’est-à-dire la plupart du temps. Trois positions honnêtes.

  • Rapportez la charge de cas, non la prévalence. « 3 700 enfants dépistés, 362 en malnutrition aiguë selon le PB » est une phrase vraie qui soutient l’approvisionnement.
  • Rapportez la tendance, non le niveau. Une série de routine est bien plus fiable sur le sens que sur le niveau, à condition que la couverture du dépistage soit stable — et dites qu’elle l’est, avec un chiffre.
  • Ancrez à la dernière enquête. Là où une enquête existe, le rapport routine-enquête de cette année peut être reporté comme hypothèse énoncée, avec sa date. C’est une hypothèse et elle doit être étiquetée comme telle.

Ce qu’il ne faut pas faire est de présenter un taux de dépistage de routine comme une prévalence de population. C’est le mésusage le plus répandu des données de routine dans ce secteur, et il sous-estime toujours.

La suite

Chaque leçon de ce cours a été une variante d’une seule question. La dernière la pose directement — qu’a-t-on exactement compté, par qui, sur quelle période — et en fait un bloc que l’on attache à tout chiffre produit par le système.

Animer cette leçon

La leçon en diaporama, la prose étant reléguée dans les notes du présentateur plutôt que projetée. Produit à partir de cette page, dont il ne peut donc pas s'écarter.

Lancer le diaporamaLire les diapositives

Le PDF ne requiert aucun logiciel et se projette depuis n'importe quel poste. Le fichier PowerPoint est fait pour être modifié : appliquez la charte de votre organisation, retirez une section pour une séance plus courte, ou fusionnez deux leçons en atelier.