Retour à la leçon·Leçon 4 sur 8·La fiche de référence
Le débat sur le dénominateur, et les découpages que vous promettez
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
- Toute dispute sur un chiffre est une dispute sur le dénominateur
- Trois dénominateurs, un registre
- La règle
- Dites ce qu'il exclut, dans la fiche
- La désagrégation est une promesse sur la taille d'échantillon
- Fixez un effectif minimal, dans la fiche, à l'avance
- Quels découpages changent réellement une décision
- La suite
Notes du présentateur
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.Toute dispute sur un chiffre est une dispute sur le dénominateur
- Le numérateur se règle d'ordinaire en une minute.
Notes du présentateur
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 — En Python
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%}")Trois dénominateurs, un registre — En R
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}"))Trois dénominateurs, un registre
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 % Notes du présentateur
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.
La règle
- 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…
- Aboutissement des référencements. Pas tous les cas — les cas ayant consenti à être référés, ce que le jeu de…
- Assiduité. Pas les enfants inscrits multipliés par tous les jours de classe — les enfants inscrits multipliés par…
Notes du présentateur
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.Dites ce qu'il exclut, dans la fiche — Exemple
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.Notes du présentateur
Quel que soit votre choix, l'exclusion est une affirmation et elle s'écrit. 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 — En Python
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")Notes du présentateur
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.La désagrégation est une promesse sur la taille d'échantillon — En R
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))La désagrégation est une promesse sur la taille d'échantillon
Désagrégation Cellules Plus petite Cellules sous 30 Commune × tranche d'âge 24 49 0 Commune × tranche d'âge × sexe 48 16 3 La désagrégation est une promesse sur la taille d'échantillon
- Ajouter un seul découpage binaire double les cellules et divise leur taille par deux — Passer de deux à trois…
Notes du présentateur
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 — En Python
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: ""})Fixez un effectif minimal, dans la fiche, à l'avance — En R
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", ""))Notes du présentateur
Deux propriétés comptent. L'effectifnreste 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
- 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.
Notes du présentateur
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 ? 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.
Notes du présentateur
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.