cassionAnalyse de données

Leçon 4 sur 8

Unité · La fiche de référence

Le débat sur le dénominateur, et les découpages que vous promettez

Trois dénominateurs pour un numérateur, la règle qui tranche entre eux, et la désagrégation qui fait passer de vingt-quatre cellules à quarante-huit, dont trois trop petites pour être publiées.

PythonR90 minDéfinitions d'indicateurs de l'UNICEFNormes OMS de croissance de l'enfantObjectifs de développement durable (ODD)

Toute dispute sur un chiffre est une dispute sur le dénominateur

Le numérateur se règle d’ordinaire en une minute. Quelqu’un a compté les enfants avec un PB sous 125 mm et a trouvé 362, et personne ne le conteste.

Ce qui suit est une heure sur ce par quoi diviser, et cette heure a lieu parce que tous les candidats sont défendables.

Trois dénominateurs, un registre

measured = muac["muac_mm"].notna()
assessed = measured | muac["oedema"].notna()
cases = (muac["muac_mm"] < 125) | (muac["oedema"] == True)

for label, mask in [("all screened", pd.Series(True, index=muac.index)),
                    ("with a measurement", measured),
                    ("assessed either way", assessed)]:
    print(f"{label:22} n={mask.sum():5}  GAM={cases.sum() / mask.sum():.2%}")
muac |>
  summarise(
    all_screened = n(),
    measured     = sum(!is.na(muac_mm)),
    assessed     = sum(!is.na(muac_mm) | !is.na(oedema)),
    cases        = sum(muac_mm < 125 | oedema, na.rm = TRUE)
  ) |>
  mutate(across(c(all_screened, measured, assessed), ~ cases / .x, .names = "gam_{.col}"))
Dénominateur n MAG
Tous ceux qui sont venus 4 218 8,58 %
Enfants avec une mesure de PB 4 146 8,73 %
Enfants évalués par mesure ou œdème 4 216 8,59 %

Trois nombres, séparés de 0,15 point, et les trois circulent dans de vrais rapports.

L’écart est faible ici, et c’est précisément pourquoi la leçon vaut d’être apprise sur ce fichier plutôt que sur un autre où la réponse serait évidente. Le premier dénominateur est faux, et il l’est d’une manière qui ne se voit pas comme un grand écart. Diviser par tous ceux qui sont venus traite les 72 enfants non mesurés comme s’ils avaient été mesurés et trouvés bien nourris. C’est une affirmation sur des enfants que personne n’a regardés.

La règle

Le dénominateur est la population qui était réellement susceptible de figurer au numérateur, sur la même période, au même endroit.

Appliquez-la et la réponse tombe. Un enfant sans mesure et sans évaluation d’œdème ne pouvait pas entrer au numérateur quel que soit son état nutritionnel, il n’a donc pas sa place au dénominateur. La deuxième ligne est la défendable, et la troisième l’est si vous considérez qu’une évaluation d’œdème suffit.

La même règle tranche la plupart des disputes que vous aurez.

  • Couverture. Pas tout le district — la tranche d’âge cible du bassin, sur la période.
  • Taux de guérison. Pas tous les admis — ceux ayant atteint une issue. Les enfants encore en traitement à la date d’arrêt ne sont ni guéris ni abandons.
  • Aboutissement des référencements. Pas tous les cas — les cas ayant consenti à être référés, ce que le jeu de données protection rend explicite et que la plupart des systèmes n’explicitent pas.
  • Assiduité. Pas les enfants inscrits multipliés par tous les jours de classe — les enfants inscrits multipliés par les jours d’ouverture de leur école.

Dites ce qu’il exclut, dans la fiche

Quel que soit votre choix, l’exclusion est une affirmation et elle s’écrit.

Denominator   Children with a MUAC measurement recorded (n = 4,146 of 4,218).
Excludes      72 children (1.7%) screened but not measured, coded -99. Their
              nutritional status is unknown; if they were systematically the
              most distressed children, GAM is understated. Not testable from
              this register.

Cette dernière phrase est ce qui rend le chiffre défendable. Vous avez nommé un sens de biais possible et dit que vous ne pouvez pas le trancher, ce qui est une position plus solide que n’importe quel chiffre présenté sans cela.

La désagrégation est une promesse sur la taille d’échantillon

Un cadre logique qui dit « désagrégé par sexe, âge et district » s’est engagé à produire des cellules, et les cellules ont des effectifs.

banded = muac[muac["age_months"].notna()].assign(
    band=lambda d: (d["age_months"] >= 24).map({True: "24-59", False: "6-23"})
)

by_two = banded.groupby(["commune", "band"]).size()
by_three = banded.groupby(["commune", "band", "sex"]).size()

print(f"commune x band:       {len(by_two)} cells, smallest {by_two.min()}")
print(f"commune x band x sex: {len(by_three)} cells, smallest {by_three.min()}, "
      f"{(by_three < 30).sum()} below 30")
banded <- muac |>
  filter(!is.na(age_months)) |>
  mutate(band = if_else(age_months >= 24, "24-59", "6-23"))

banded |> count(commune, band) |> summarise(cells = n(), smallest = min(n))
banded |> count(commune, band, sex) |> summarise(cells = n(), smallest = min(n),
                                                 under_30 = sum(n < 30))
Désagrégation Cellules Plus petite Cellules sous 30
Commune × tranche d’âge 24 49 0
Commune × tranche d’âge × sexe 48 16 3

Ajouter un seul découpage binaire double les cellules et divise leur taille par deux. Passer de deux à trois dimensions fait tomber la plus petite cellule de 49 enfants à 16, et place trois cellules sous tout seuil de publication raisonnable.

Une prévalence calculée sur 16 enfants bouge de six points de pourcentage quand un enfant change de catégorie. La publier dans un tableau à côté d’un chiffre communal calculé sur 400 invite le lecteur à les comparer comme s’il s’agissait du même type de nombre.

Fixez un effectif minimal, dans la fiche, à l’avance

MIN_CELL = 30

table = (
    banded.assign(case=cases)
    .groupby(["commune", "band", "sex"])
    .agg(n=("case", "size"), cases=("case", "sum"))
)
table["rate"] = (table["cases"] / table["n"]).where(table["n"] >= MIN_CELL)
table["note"] = table["n"].lt(MIN_CELL).map({True: "suppressed: n < 30", False: ""})
MIN_CELL <- 30

table <- banded |>
  summarise(n = n(), cases = sum(case), .by = c(commune, band, sex)) |>
  mutate(rate = if_else(n >= MIN_CELL, cases / n, NA_real_),
         note = if_else(n < MIN_CELL, "suppressed: n < 30", ""))

Deux propriétés comptent. L’effectif n reste visible même là où le taux est supprimé, si bien qu’un lecteur voit que la cellule existe et pourquoi elle est vide. Et le seuil a été fixé avant que les chiffres soient vus, même discipline que celle appliquée aux bandes de tolérance par le cours d’évaluation.

Dans les données de protection et de VBG, cela cesse d’être une élégance statistique pour devenir un contrôle de divulgation, que le cours Données de protection et VBG traite comme il se doit. L’habitude est la même et il vaut mieux l’avoir avant d’en avoir besoin.

Quels découpages changent réellement une décision

Dernière question, et elle est budgétaire autant qu’analytique. Chaque désagrégation promise doit être collectée, nettoyée, calculée et vérifiée, et la plupart des cadres logiques en promettent plus que personne n’en utilise.

Demandez de chaque découpage — le programme ferait-il quelque chose de différent si ce découpage montrait un écart ?

  • Sexe — oui, presque toujours. Cela change le ciblage, les effectifs et les messages.
  • Tranche d’âge — oui en nutrition, où les critères d’admission diffèrent selon l’âge.
  • District — oui, cela déplace des ressources.
  • Type de formation — parfois ; cela change la supervision, ce qui est réel.
  • Mois — d’ordinaire une tendance et non une désagrégation, et moins chère en graphique.

Un découpage qui ne changerait rien est un coût de rapportage assorti d’un risque de qualité, car chaque champ obligatoire supplémentaire est un champ de plus qui arrivera vide.

La suite

Vous savez désormais définir un indicateur avec précision. L’unité suivante porte sur la famille d’indicateurs qui comptent des personnes, où le problème de définition est différent — la même personne apparaissant dans douze rapports mensuels, et ce qui se passe quand quelqu’un additionne ces rapports.

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.