cassionAnalyse de données

Leçon 1 sur 8

Unité · Le contrefactuel

Un gain de sept points qui était l'année scolaire

La littératie a monté de 7,0 points entre le passage initial et le final, et une demande de financement l'appelle l'effet de la cantine scolaire. Les écoles sans cantine ont monté de 7,6 points. Tout le gain, et un peu plus, appartient à l'année et non aux repas.

PythonR180 minCritères d'évaluation du CAD de l'OCDEDéfinitions d'indicateurs de l'UNICEFThéorie du changement

Une question, trois réponses

import pandas as pd
import numpy as np

assessment = pd.read_csv("learning-assessment-2024.v1.csv")
assessment["pct"] = assessment["raw_score"] / assessment["items"]
literacy = (assessment[assessment["domain"] == "literacy"]
            .pivot_table(index="student_id", columns="assessment_round",
                         values="pct").dropna())

roster = pd.read_csv("school-roster-2024.v1.csv").drop_duplicates(
    "student_id", keep="last")
d = literacy.join(roster.set_index("student_id"), how="inner")

print(d.groupby("feeding_programme")[["baseline", "endline"]].mean().round(4))
print(f"overall gain: {(d['endline'] - d['baseline']).mean():+.4f}")
library(dplyr)

d |> summarise(baseline = mean(baseline), endline = mean(endline),
               .by = feeding_programme)
Initial Final Gain n
Avec cantine 57,75 % 64,41 % +6,66 pts 398
Sans cantine 54,67 % 62,29 % +7,62 pts 187
Tous les élèves 56,76 % 63,73 % +6,97 pts 585

Trois affirmations peuvent se bâtir sur ce tableau et deux sont fausses.

« Le programme a produit un gain de 7,0 points. » Avant-après, apparié, IC à 95 % +6,1 à +7,9, t = 15,2. Tranché, reproductible, et cela attribue aux repas une année de scolarité dont chaque enfant a bénéficié.

« Les écoles avec cantine ont 2,1 points d’avance. » Coupe transversale finale, IC à 95 % −1,2 à +5,4. Cela compare deux groupes qui étaient distants de 3,1 points avant même que le programme soit mesuré.

« Le gain a été inférieur de 0,96 point dans les écoles avec cantine. » Chaque groupe contre son propre point de départ, IC à 95 % −3,5 à +1,6 une fois les 24 écoles prises en compte. C’est celle qui tente de répondre à la question, et sa réponse est qu’il n’y a rien ici.

Le contrefactuel, énoncé en une phrase

Toute affirmation d’impact a une seconde moitié cachée.

La littératie dans les écoles avec cantine a monté de 6,66 points par rapport à ce qui se serait passé sans le programme.

Cette seconde proposition est le contrefactuel, et il n’est jamais observé. Les mêmes enfants, la même année, sans repas, n’est pas une chose que contient un jeu de données ; une évaluation est donc toujours une argumentation sur ce qu’il faut y substituer.

Affirmation Contrefactuel supposé Est-ce plausible ?
Avant-après Les mêmes enfants n’auraient pas changé du tout Non — une année scolaire a eu lieu
Coupe transversale finale Les deux groupes auraient été identiques Non — ils différaient de 3,1 points au départ
Différences de différences Les deux groupes auraient changé d’autant Discutable, et la leçon 3 est cette discussion

Nommer le contrefactuel est toute la méthode. Une fois écrit, l’affirmation avant-après s’effondre sans la moindre statistique : elle suppose que les enfants n’apprennent rien dans une année passée à l’école.

Pourquoi le nombre avant-après est si convaincant

Il est précis, il est grand, et il est facile à calculer — trois propriétés qui n’ont rien à voir avec le fait d’être juste.

gain = d["endline"] - d["baseline"]
se = gain.std(ddof=1) / np.sqrt(len(gain))
print(f"{gain.mean():+.4f}  95% CI [{gain.mean() - 1.96*se:+.4f},"
      f" {gain.mean() + 1.96*se:+.4f}]  t = {gain.mean()/se:.1f}")
t.test(d$endline - d$baseline)

t = 15,2. Toutes les barrières du cours de statistiques passent. L’intervalle est étroit, la taille d’effet est grande, l’échantillon suffit, et la valeur p est très loin sous n’importe quel seuil.

Aucune de ces vérifications ne peut détecter un groupe de comparaison manquant, et c’est ce qu’il faut emporter de cette leçon. La rigueur statistique appliquée au mauvais contrefactuel produit une réponse fausse et assurée, et c’est l’assurance qui la fait entrer dans une demande de financement.

Trois choses que contient une évolution avant-après

Chaque fois que vous en voyez une, c’est une somme, et seul le dernier terme est le programme.

Le passage du temps. Les enfants grandissent et sont enseignés. Les prix montent. Les points d’eau vieillissent. Ici, c’est la totalité des 7 points.

La régression vers la moyenne. Ceux qui ont été sélectionnés parce qu’ils étaient les plus mal lotis paraîtront mieux au passage suivant même si rien n’a été fait, parce qu’une part de « le plus mal loti » était du bruit de mesure. Le PB à l’admission du cours de nutrition en est l’exemple type.

Tout le reste de ce qui est arrivé. Une sécheresse, un mouvement de change, le programme d’une autre agence dans le même district, un changement dans la façon dont l’indicateur est enregistré.

by_school = d.groupby(["school_id", "feeding_programme"])[
    ["baseline", "endline"]].mean()
by_school["gain"] = by_school["endline"] - by_school["baseline"]
print(by_school.groupby("feeding_programme")["gain"].describe()[
    ["mean", "min", "max"]].round(4))
by_school |> summarise(mean = mean(gain), min = min(gain), max = max(gain),
                       .by = feeding_programme)

Chacune des 24 écoles a progressé, de +1,2 point à +12,2. Un programme qui n’aurait rien fait du tout aurait produit un tableau de nombres positifs.

Quand une comparaison avant-après est légitime

Elle n’est pas toujours fausse, et il vaut la peine d’être précis sur les cas où elle tient.

Quand le contrefactuel est réellement plat et que vous pouvez le montrer. Trois passages ou plus avant le programme sans tendance constituent un argument ; un seul point de départ non.

Quand le résultat ne peut pas changer tout seul. Une latrine ne se construit pas elle-même. Un point d’eau ne devient pas chloré sans que quelqu’un le fasse. La couverture d’une chose que seul votre programme fournit a un contrefactuel nul défendable.

Quand vous faites du suivi, non de l’évaluation. « La présence est passée de 84 % à 88 % » est une affirmation vraie sur le monde et utile à suivre. Elle devient une affirmation sur le programme quand quelqu’un écrit « grâce à ».

La formule à surveiller est « grâce à ». C’est là qu’un nombre de suivi devient une affirmation d’impact, et elle est généralement ajoutée par quelqu’un qui n’était pas dans l’analyse.

Rapportez-le en entier

Literacy outcomes, baseline to endline 2024

  All students        56.8% to 63.7%    +6.97 points   95% CI +6.1 to +7.9
    With feeding      57.8% to 64.4%    +6.66 points
    Without feeding   54.7% to 62.3%    +7.62 points

  The overall change is reported as a monitoring result and is not
  attributed to the feeding programme. Schools without the programme gained
  slightly more, so the difference-in-differences estimate of the programme
  effect is -0.96 points (95% CI -3.5 to +1.6, clustered on 24 schools).

  The before-after change assumes children would have learned nothing over
  a school year. That counterfactual is not defensible here and the
  comparison group is what replaces it.

Le dernier paragraphe fait trois lignes et c’est la différence entre un rapport de suivi et une affirmation d’impact. Écrire le contrefactuel est ce qui force le choix, et un rapport qui n’en écrit jamais a fait le choix par défaut.

La suite

L’estimation en différences de différences ci-dessus repose sur le fait que les deux groupes d’écoles sont comparables sur ce qui compte. La leçon suivante teste cela directement, sur les quinze et les neuf, et trouve une différence standardisée huit fois plus grande que ce que tolérerait un essai randomisé.

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.