Retour à la leçon·Leçon 3 sur 8·Confronter à la source
Le recomptage, et le nombre qu'il produit
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
- L'exactitude est la dimension qui exige un déplacement
- Le facteur de vérification
- Calculez-le sur un registre dont vous disposez
- Le chiffre du district est le piège
- La bande de tolérance
- Le recomptage est un protocole, pas une après-midi
- Ce qu'un facteur de vérification ne peut pas dire
- La suite
Notes du présentateur
Un facteur de vérification est le recomptage divisé par le chiffre rapporté. Le district est à 1,012, ce que personne ne contesterait, et une école sur vingt-quatre est à 1,42.L'exactitude est la dimension qui exige un déplacement
- Les quatre autres dimensions sortent de l'extraction.
Notes du présentateur
Les quatre autres dimensions sortent de l'extraction. Celle-ci non. L'exactitude signifie « le chiffre rapporté correspond-il à la source », et la source est un registre papier dans une armoire, une fiche de pointage, ou une tablette qui n'a plus synchronisé depuis mars. La méthode est la plus ancienne de ce cours et personne n'a fait mieux — allez le recompter. Puis divisez.Le facteur de vérification
- Les deux sens sont des constats, et ce ne sont pas les mêmes
- Facteur supérieur à 1 — le registre contient plus que ce qui a été rapporté. Sous-déclaration. Généralement une…
- Facteur inférieur à 1 — le rapport revendique plus que le registre ne soutient. Surdéclaration. Parfois un double…
Notes du présentateur
Ce que vous avez compté à la source, divisé par ce qui a été remonté. Un facteur de 1,00 signifie que le rapport correspondait au registre. C'est un rapport, non un pourcentage d'erreur, et le mettre dans le bon sens compte au moment de l'écrire. Les deux sens sont des constats, et ce ne sont pas les mêmes.Calculez-le sur un registre dont vous disposez — En Python (suite)
import pandas as pd attendance = pd.read_csv("school-attendance-2024.v1.csv") roster = pd.read_csv("school-roster-2024.v1.csv") # The two students on the roster twice are ambiguous; exclude them from the # verification and say so, rather than assigning them arbitrarily. duplicated = roster["student_id"].duplicated(keep=False) clean_roster = roster[~duplicated] marks = attendance.merge( clean_roster[["student_id", "school_id"]], on="student_id", how="inner", validate="many_to_one", ) vf = (Notes du présentateur
Prenez le registre de présence scolaire. L'extraction électronique porte des marquestrueetfalse; une école a aussi enregistré certains jours enYetN, que la conversion booléenne de l'extraction n'a pas reconnus. Une visite de vérification lisant le registre papier compterait ces jours comme des présences. L'extraction ne l'a pas fait. Cela donne un recomptage réel et un chiffre rapporté réel, sur les mêmes données.Calculez-le sur un registre dont vous disposez — En Python (suite)
marks.assign( reported=marks["present"] == "true", recount=marks["present"].isin(["true", "Y"]), ) .groupby("school_id")[["recount", "reported"]] .sum() ) vf["verification_factor"] = vf["recount"] / vf["reported"] print(vf.sort_values("verification_factor", ascending=False).head())Calculez-le sur un registre dont vous disposez — En R
library(dplyr) clean_roster <- roster |> group_by(student_id) |> filter(n() == 1) |> ungroup() vf <- attendance |> inner_join(select(clean_roster, student_id, school_id), by = "student_id", relationship = "many-to-one") |> summarise( recount = sum(present %in% c("true", "Y")), reported = sum(present == "true"), .by = school_id ) |> mutate(verification_factor = recount / reported) |> arrange(desc(verification_factor))Calculez-le sur un registre dont vous disposez
École Recomptage Rapporté Facteur SCH09 2 456 1 734 1,416 SCH01 2 945 2 945 1,000 SCH02 2 569 2 569 1,000 … 22 autres 1,000 District 61 764 61 042 1,012 Le chiffre du district est le piège — En Python
print(vf["verification_factor"].describe()) outliers = vf[(vf["verification_factor"] - 1).abs() > 0.05] print(f"{len(outliers)} of {len(vf)} schools outside the tolerance band")Notes du présentateur
Lisez la dernière ligne d'abord, car c'est celle qui figure dans la plupart des rapports. Le facteur de vérification du district vaut 1,012 — un peu plus d'un pour cent — et aucun auditeur au monde ne soulèverait de constat là-dessus. Lisez maintenant la première ligne. Une école sur vingt-quatre a sous-déclaré sa présence de 42 %, et cela est invisible dans le total du district parce que les vingt-trois autres sont exactes. C'est l'argument que le cours précédent avançait à propos de la moyenne des facteurs de vérification, et il mérite d'être avancé deux fois car c'est la manière la plus courante dont une évaluation délivre un satisfecit à un district qui a un vrai problème. Rapportez la distribution et les exceptions. La moyenne est la statistique la moins informative disponible.Le chiffre du district est le piège — En R
summary(vf$verification_factor) vf |> filter(abs(verification_factor - 1) > 0.05)La bande de tolérance
- Élargissez-la pour les petits nombres. Une formation rapportant 12 cas a un facteur de 1,08 si un cas a été manqué.…
- Resserrez-la quand il y a de l'argent. Lorsque le chiffre déclenche un paiement — financement basé sur les…
Notes du présentateur
Une évaluation a besoin d'un seuil fixé avant de regarder, sans quoi chaque constat devient une négociation. La convention retenue par la plupart des cadres bailleurs est 0,95 à 1,05 — à 5 % près c'est acceptable, au-delà c'est un constat. C'est une convention et non une loi, et deux ajustements sont légitimes.La bande de tolérance — En Python
TOLERANCE = 0.05 MIN_ABSOLUTE = 5 vf["difference"] = vf["recount"] - vf["reported"] vf["finding"] = ( ((vf["verification_factor"] - 1).abs() > TOLERANCE) & (vf["difference"].abs() > MIN_ABSOLUTE) ) print(vf[vf["finding"]])La bande de tolérance — En R
vf <- vf |> mutate( difference = recount - reported, finding = abs(verification_factor - 1) > 0.05 & abs(difference) > 5 )La bande de tolérance
- Inscrivez la bande dans le protocole avant la visite — Un seuil choisi après avoir vu les chiffres n'est pas un seuil,…
Notes du présentateur
Inscrivez la bande dans le protocole avant la visite. Un seuil choisi après avoir vu les chiffres n'est pas un seuil, et tout le monde dans la salle le saura.Le recomptage est un protocole, pas une après-midi
- Fixez la période exactement. « Mars » n'est pas une période. « Du 1er au 31 mars, par date de service et non par…
- Fixez la définition exactement. Comptez ce que dit le numérateur de l'indicateur, non ce que dit l'en-tête de…
- Recomptez indépendamment. La personne qui a compilé le rapport ne doit pas faire le recomptage. Non par défiance —…
- Notez à partir de quoi vous avez compté. Registre, fiche de pointage, cartes individuelles. Deux sources d'une même…
Notes du présentateur
L'arithmétique est triviale. Tout ce qui rend le nombre digne de confiance se joue en amont.Ce qu'un facteur de vérification ne peut pas dire
- Il ne dit pas que le registre est juste — Un facteur de 1,00 signifie que le rapport correspond au registre
- Il ne se généralise pas au-delà des formations visitées — sauf si vous avez échantillonné correctement
- Ce n'est pas une accusation — Un facteur de 1,42 dans une école, avec vingt-trois autres à exactement 1,00, a la…
Notes du présentateur
Trois limites à énoncer dans le rapport, sinon quelqu'un sur-interprétera le nombre. Il ne dit pas que le registre est juste. Un facteur de 1,00 signifie que le rapport correspond au registre. Si le registre a été rempli en fin de semaine de mémoire, les deux sont faux ensemble et le facteur reste muet. Il ne se généralise pas au-delà des formations visitées, sauf si vous avez échantillonné correctement. C'est la leçon suivante. Ce n'est pas une accusation. Un facteur de 1,42 dans une école, avec vingt-trois autres à exactement 1,00, a la silhouette d'un défaut de système — la convention de saisie d'une école, non reconnue par l'extraction — et non celle d'un directeur gonflant ses chiffres. L'écrire de la seconde façon garantit que le tour suivant sera pire.La suite
- Vous ne pouvez pas visiter trente-huit formations.
Notes du présentateur
Vous ne pouvez pas visiter trente-huit formations. La leçon suivante montre comment choisir celles que vous visiterez, combien suffisent, et ce qu'un échantillon de six vous autorise à dire des trente-deux autres.