cassionAnalyse de données

Leçon 6 sur 8

Unité · Le rapport autour

Une annexe ne contenant que des analyses réussies est celle que personne ne croit

L'annexe existe pour qu'un relecteur puisse vérifier le rapport sans le réexécuter. Elle contient donc les tests qui n'ont rien trouvé, les analyses lancées puis écartées, et le nombre de comparaisons — parce qu'un relecteur qui ne voit pas le dénominateur ne peut pas peser les constats.

PythonR135 minCritères d'évaluation du CAD de l'OCDENorme humanitaire fondamentale (CHS)Définitions d'indicateurs de l'UNICEFEnquête SMART

À quoi sert l’annexe

Non à l’exhaustivité — un relecteur ne lira pas quarante pages. L’annexe contient exactement ce dont quelqu’un a besoin pour être en désaccord avec vous de façon compétente.

L’annexe contient Pour qu’un relecteur puisse
Chaque test lancé, y compris les nuls Peser les constats contre le nombre
Les définitions, ou un lien vers elles Vérifier que l’indicateur est celui qu’il croit
Les écarts au plan d’analyse Voir que les changements ont été décidés, non découverts
Les exclusions, avec effectifs et raisons Reconstituer le dénominateur
Le code, ou son emplacement Le réexécuter

Tout le reste a sa place dans le rapport ou nulle part.

Le tableau des tests

Comparison                       Test            Statistic      p        Effect
Completion by disability         two-sample z    z = -5.21     <0.001   -19.4 pts
Over-age by sex                  two-sample z    z = 1.84       0.066    +5.5 pts
Attendance by sex                two-sample z    z = 2.28       0.023    +0.56 pts
Attendance by feeding            Welch t         t = 3.11       0.008    +5.2 pts
Over-age by sex, 24 schools      two-sample z x24  2 of 24 at p<0.05     0 survive
                                                                        Bonferroni

Comparisons run in total: 29. Findings reported in the body: 2.

Trois de ces cinq lignes sont en annexe précisément parce qu’elles n’ont rien trouvé. Un écart non significatif, une significativité sans portée et une famille de tests nuls sont tous des choses qu’un relecteur doit pouvoir retrouver.

La dernière ligne est celle qui change la lecture du rapport. Deux constats sur vingt-neuf comparaisons est un rapport défendable énoncé ouvertement ; deux constats sans dénominateur est une affirmation qu’un relecteur n’a aucun moyen de peser.

Une annexe ne contenant que des tests réussis dit au relecteur que le compte a été arrangé, et rien ne défait ce signal.

Les exclusions, avec effectifs

Chaque exclusion est une décision, et un relecteur qui reconstitue votre dénominateur a besoin de toutes.

audit = []
audit.append(("all rows", len(survey)))
survey = survey[survey["age_months"] <= 60]
audit.append(("age above 60 months", len(survey)))
survey = survey.dropna(subset=["muac_mm"])
audit.append(("no MUAC recorded", len(survey)))

for label, remaining in audit:
    print(f"{label:28} {remaining:>6,}")
# Build the audit trail as you filter, not from memory afterwards.

Imprimez l’effectif après chaque étape, dans l’ordre. Un relecteur qui voit 4 218 dans le rapport et 4 206 dans l’annexe sait exactement quelles douze lignes sont parties et pourquoi.

L’exclusion silencieuse la plus courante est une jointure. Une jointure interne qui écarte un tiers des données ressemble exactement à une qui n’en écarte aucune, raison pour laquelle l’assertion la plus utile du cours sur les chaînes est un comptage de lignes à chaque jointure.

Les écarts au plan

Deviations from the analysis plan

  Planned: primary analysis on all enrolled students.
  Done:    restricted to the 585 with both assessment rounds.
  Why:     156 students have no endline. Attrition analysis added; those who
           left scored 39.3% at baseline against 56.8% for those who stayed,
           so the panel is not representative and this is a stated limitation.

Un écart listé est une force et un écart non listé trouvé par un relecteur est la fin de la crédibilité du rapport, et ce qui les sépare tient en quatre lignes écrites sur le moment.

La section exploratoire, étiquetée

Deux en-têtes, et l’étiquette est tout le mécanisme.

B.1 Pre-specified analyses      1 model, reported in the body
B.2 Exploratory analyses        3 models, generating hypotheses only

Un constat de sous-groupe est exploratoire à moins que le sous-groupe ait été nommé d’avance. Le cours de statistiques a trouvé deux écoles significatives sur vingt-quatre pour un effet exactement nul ; un sous-groupe choisi après avoir vu les données est la même machine sans l’étiquette.

Ce qu’une annexe ne doit pas contenir

Des données brutes. Surtout pas ici. Une annexe de protection avec un tableau au niveau du cas est une divulgation, et l’agrégation qui l’empêche est la règle de suppression qu’enseigne le cours de protection.

Des captures d’écran de code. Le code, ou le dépôt, ou rien.

Chaque graphique qui n’a pas atteint le rapport. Une annexe n’est pas un cimetière ; un graphique qui ne portait pas de constat n’en porte pas non plus en annexe.

Une sortie que personne ne peut lire. Un résumé de régression collé avec quarante lignes de mise en forme logicielle n’est pas une preuve, c’est une intimidation. Formatez-le comme le tableau qu’aurait employé le corps du rapport.

La note de reproduction

La dernière chose de l’annexe, et celle qui rend tout ce qui précède vérifiable.

Reproduction

  Code: github.com/<org>/nutrition-surveillance, commit a3f9c21
  Data: muac-screening-artibonite-2024.v1.csv, SHA-256 4f2a9c1b8e...
  Environment: Python 3.12, dependencies pinned in uv.lock

      uv sync && uv run python run.py

  Running this on a clean checkout reproduces every number in this report
  and this annex. Verified 2026-03-14.

« Vérifié » avec une date est l’affirmation. Tout l’argument du cours sur les chaînes reproductibles atterrit ici : une analyse que personne ne peut réexécuter est une analyse dont les autres propriétés doivent être prises sur parole.

Rapportez-le en entier

Annex contents

  A. Indicator definitions (linked; numerator, denominator, level, standard,
     decision informed, for nine indicators)
  B.1 Pre-specified analyses (1)
  B.2 Exploratory analyses (3, labelled, not presented as findings)
  C. All comparisons run: 29, with statistic, p and effect size. Two are
     reported as findings in the body.
  D. Exclusions: 4,218 screenings, 12 excluded for an implausible age, with
     the count after each step.
  E. Deviations from the analysis plan: 1, listed with its reason.
  F. Reproduction: repository, commit, data checksum, environment, and the
     two commands. Verified 2026-03-14.

Six sections et aucune n’est longue. Une annexe se juge à la capacité d’un relecteur d’y trouver ce dont il doute, non à son poids.

La suite

Le rapport est écrit et l’annexe contient le travail. La leçon suivante est la salle où il est présenté — précisément le cas où le constat n’est pas celui que le comité a commandé, ce qui est la chose la plus difficile que ce cours demande à quiconque.

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.