Incertitude et sous-groupes
- Leçon 15
- 55 min
- Module 5 : Comparer les systèmes de façon responsable
Leçon 15 sur 19 · Évaluer et tester les systèmes d'IAIncertitude et sous-groupes
1. Définir ce qui est « bon »
2. Créer un jeu de données d'évaluation
3. Choisir les métriques par composant
4. Utiliser des juges humains et des juges modèles
5. Comparer les systèmes de façon responsable
6. Automatiser l'évaluation et la rétroaction
Ce que vous saurez faire
Indiquez votre degré de certitude. Un score obtenu sur 98 cas serait un peu différent sur 98 autres cas. Vous ajouterez un intervalle autour de chaque nombre et comparerez deux systèmes cas par cas. Vous lirez aussi les sous-groupes sans vous laisser tromper par les petits groupes.
Avant de commencerCe qu’il faut savoir et avoir sous la main
Ce que vous devez savoir
- Les exécutions contrôlées et les répétitions, vues dans Expériences contrôlées.
- Les sous-groupes, vus dans Métriques des sorties générées.
- Les échantillons, les intervalles de confiance et le bootstrap, vus dans Échantillons et populations et Estimer l’incertitude du cours Mathématiques et statistiques essentielles pour l’IA. Cette leçon les utilise; elle ne les enseigne pas de nouveau.
Ce qu’il vous faut sur votre ordinateur
~/projects/eval-harnessaprès Expériences contrôlées, avec.venvactif et numpy installé :python -m harness repeats baselinefonctionne.
Aucun compte ni aucune clé. Testé avec Python 3.12.13 sur macOS (Apple silicon). Les commandes Windows ne sont pas testées.
Deux restaurants
Section intitulée « Deux restaurants »Deux restaurants apparaissent dans une application de cartes. Le premier a 5 étoiles, selon 4 avis. Le deuxième a 4,6 étoiles, selon 2 000 avis. Lequel est meilleur? La plupart des gens font confiance au 4,6. Quatre amis satisfaits du propriétaire peuvent donner 5 étoiles; il est plus difficile de tromper 2 000 inconnus.
Le nombre seul ne vous dit pas cela. Vous devez aussi savoir combien d’avis le soutiennent. Avec 4 avis, un seul mauvais avis de plus changerait beaucoup le score. Avec 2 000, un avis le change à peine.
Le problème : le même système, deux nombres différents
Section intitulée « Le problème : le même système, deux nombres différents »La référence de base est un seul système : requête v2, chat-small, une exécution enregistrée. Sur les 102 cas de développement, il prend les deux bonnes décisions dans une proportion de 0,882. Sur les 98 cas réservés, la même exécution obtient 0,959. Seuls les cas ont changé, et le nombre a varié de 0,077. Les cas de développement et les cas réservés viennent des mêmes sources, répartis au hasard. Éviter la contamination montre que cet écart vient du bruit d’échantillonnage.
Comparez maintenant le candidat à la référence de base. Sur les données de développement, le candidat fait moins bien de 0,059. Sur les données réservées, il fait moins bien de 0,112. Le candidat est-il un peu moins bon, ou beaucoup moins bon? Pourrait-il même être aussi bon, mais avoir joué de malchance sur les données de développement? Une différence de 0,059 ne signifie rien sans connaître la variation qu’entraîne le hasard sur 102 cas.
L’idée : un intervalle de confiance
Section intitulée « L’idée : un intervalle de confiance »Un intervalle de confiance est une plage autour d’une valeur mesurée qui montre sa variation possible due au hasard. Un intervalle à 95 % vient d’une méthode qui couvre la vraie valeur 95 fois sur 100, sur de nombreux nouveaux échantillons. Un intervalle large indique une incertitude élevée; un intervalle étroit indique une faible incertitude. C’est le « nombre d’avis » d’un résultat d’évaluation, transformé en plage que vous pouvez lire.
La taille de l’échantillon détermine une grande partie de la largeur. Voici la proportion de décisions correctes de la référence de base sur les 25, 50, 100 et 200 premiers cas. Chaque valeur a son intervalle à 95 %, calculé par le banc d’évaluation :
| Cas | Deux décisions correctes | Intervalle à 95 % | Largeur |
|---|---|---|---|
| 25 | 0.84 | 0.68 à 0.96 | 0.28 |
| 50 | 0.82 | 0.72 à 0.92 | 0.20 |
| 100 | 0.89 | 0.83 à 0.95 | 0.12 |
| 200 | 0.92 | 0.880 à 0.955 | 0.075 |
Huit fois plus de cas donnent un intervalle presque quatre fois plus étroit. Cela vient surtout de la taille : la largeur diminue selon la racine carrée du nombre de cas. Estimer l’incertitude l’explique. Le reste vient du score lui-même, plus proche de 1 sur 200 cas, où les résultats sont moins dispersés. Les premiers cas ajoutés aident donc beaucoup, et les suivants aident moins.
Le bootstrap : créer plusieurs échantillons à partir d’un seul
Section intitulée « Le bootstrap : créer plusieurs échantillons à partir d’un seul »Vous avez un seul jeu d’évaluation, pas plusieurs. Le bootstrap en tire de nouveaux échantillons. Choisissez des cas au hasard dans votre jeu, avec remise, jusqu’à obtenir autant de cas que dans le jeu. Certains cas apparaissent deux fois, d’autres pas du tout. Calculez le score sur ce rééchantillon. Répétez l’opération 2 000 fois. Les 95 % centraux des 2 000 scores forment l’intervalle bootstrap. Le nom vient d’une expression anglaise qui signifie se soulever en tirant sur les languettes de ses propres bottes. Les données mesurent leur propre incertitude.
Voici la méthode complète sur cinq cas. Le cas C est incorrect, les autres sont corrects, donc le score est de 0,8. Les rééchantillons ci-dessous sont les quatre premiers que le banc d’évaluation tire lui-même.
Description textuelle du diagramme
Cinq cas, A à E, avec les valeurs 1, 1, 0, 1 et 1 : la moyenne est de 0,8. Chaque rééchantillon tire cinq cas au hasard, avec remise. Le rééchantillon 1 tire E, A, A, D et B : la moyenne est de 1,0, et C est exclu. Le rééchantillon 2 tire C, A, B, D et B : la moyenne est de 0,8, et E est exclu. Le rééchantillon 3 tire E, D, D, E et D : la moyenne est de 1,0, et A, B et C sont exclus. Le rééchantillon 4 tire A, E, D, A et B : la moyenne est de 1,0, et C est exclu. Après 2 000 rééchantillons, les 95 % centraux des moyennes vont de 0,4 à 1,0.
Description textuelle du graphique
Cinq barres, une par moyenne possible. 0,2 : 10 rééchantillons. 0,4 : 101. 0,6 : 411. 0,8 : 825. 1,0 : 653. La plupart des rééchantillons se situent près de la moyenne réelle de 0,8. Mais beaucoup atteignent 1,0, et certains descendent à 0,4.
L’intervalle va de 0,4 à 1,0. Cinq cas ne permettent pas de distinguer un système correct 4 fois sur 10 d’un système toujours correct. C’est le restaurant avec 4 avis. Le banc d’évaluation fait la même chose dans harness/compare.py, avec bootstrap_mean(). En Python :
>>> from harness.compare import bootstrap_mean>>> print(bootstrap_mean([1, 1, 0, 1, 1]))0.800 [0.400, 1.000] (n=5)>>> print(bootstrap_mean([1, 1, 0, 1, 1] * 20))0.800 [0.720, 0.880] (n=100)La même proportion, 0,8, sur 100 cas : l’intervalle va maintenant de 0,72 à 0,88. Le banc d’évaluation fixe la graine (2026), donc il donne le même intervalle chaque fois. N’importe qui peut ainsi vérifier un rapport.
Explorer : rééchantillonner les résultats réels
Section intitulée « Explorer : rééchantillonner les résultats réels »L’explorateur ci-dessous utilise les résultats réels par cas des deux exécutions enregistrées, sur les 200 cas de développement et réservés. Choisissez une taille d’échantillon, tirez des rééchantillons et regardez l’intervalle se former.
Explorer
Rééchantillonnez les résultats réels du banc d'évaluation : quelle est la largeur de l'intervalle?
Prédisez d’abord : On the first 25 cases, the baseline gets both decisions right on 0.84 of them. How wide do you think the 95% interval is: about 0.05, 0.10 or 0.30? And on 200 cases?
- Échantillon
- les 25 premiers
- Vrais cas
- 0,840 (21 sur 25)
- Rééchantillons
- 2 000
- 95 % du milieu
- 0,680 à 0,960
- Banc d’évaluation, 2 000
- 0,680 à 0,960
Vous avez atteint 2 000 rééchantillons, autant que le banc d’évaluation en tire. Choisissez une autre taille d’échantillon pour comparer la largeur.
- Les deux décisions justes
- Faux (ou aucune réponse)
| Cas | Valeur | 95 % du milieu | Largeur |
|---|---|---|---|
| 25 | 0,840 | 0,680 à 0,960 | 0,280 |
| 50 | 0,820 | 0,700 à 0,920 | 0,220 |
| 100 | 0,890 | 0,820 à 0,950 | 0,130 |
| 200 | 0,920 | 0,880 à 0,955 | 0,075 |
Description textuelle de l’explorateur
Les commandes permettent de choisir la taille d’échantillon : les 25, 50, 100 ou 200 premiers cas. Elles permettent aussi de choisir quoi rééchantillonner : les résultats de la référence de base ou la différence candidat moins référence de base pour chaque cas. Les boutons tirent 1 rééchantillon, 100 rééchantillons ou jusqu’à 2 000.
Une grille montre un carré par cas. Pour la référence de base, les carrés bleus indiquent deux décisions correctes, contrairement aux carrés orange. Pour la différence, le bleu signifie que le candidat fait mieux sur ce cas, l’orange moins bien, le gris pareil. Après un rééchantillonnage, le nombre dans un carré indique combien de fois le rééchantillon l’a choisi. Un carré vide représente un cas exclu.
Un histogramme recueille la valeur de chaque rééchantillon. Une ligne pointillée indique la valeur sur les cas réels, et un crochet indique les 95 % centraux. Un tableau conserve l’intervalle de chaque taille. Avec 2 000 rééchantillons, les intervalles de l’explorateur sont proches de ceux du banc d’évaluation. La référence de base : 25 cas 0.68 à 0.96; 50 cas 0.72 à 0.92; 100 cas 0.83 à 0.95; 200 cas 0.88 à 0.955. La différence : 100 cas −0.130 à +0.010, qui contient 0; 200 cas −0.135 à −0.030, qui ne le contient pas.
Trois choses à observer :
- La largeur diminue avec la taille. De 25 à 200 cas, l’intervalle se rétrécit d’environ 0,28 à environ 0,075.
- La différence exige plus de cas qu’un score seul. Sur les 100 premiers cas, l’intervalle de la différence touche encore 0. Sur 200, il ne le touche plus.
- Le centre reste en place, les limites bougent. Tirez 100 rééchantillons deux fois : les limites changent un peu chaque fois. Avec 2 000 rééchantillons, elles se stabilisent. Le banc d’évaluation en utilise 2 000.
Comparer sur les mêmes cas : la différence appariée
Section intitulée « Comparer sur les mêmes cas : la différence appariée »Les deux systèmes ont répondu aux mêmes cas. Comparez-les donc cas par cas : pour chaque cas, soustrayez le résultat de la référence de base de celui du candidat. Un cas que les deux réussissent donne 0. Un cas que seul le candidat réussit donne +1, et un cas que seule la référence de base réussit donne −1. La moyenne de ces valeurs est la différence, et leur bootstrap donne un intervalle apparié. Il est plus étroit que deux intervalles séparés, car les cas faciles et difficiles sont les mêmes pour les deux systèmes. Comparer des options, dans le cours de mathématiques, explique pourquoi.
Un petit exemple avec six cas :
>>> from harness.compare import paired_difference, wins_losses>>> base = {"A": 1, "B": 1, "C": 1, "D": 0, "E": 1, "F": 1}>>> cand = {"A": 1, "B": 0, "C": 1, "D": 1, "E": 1, "F": 0}>>> wins_losses(base, cand){'better': ['D'], 'worse': ['B', 'F'], 'same': ['A', 'C', 'E']}>>> print(paired_difference(base, cand))-0.167 [-0.667, 0.333] (n=6)Trois cas ne disent rien : les deux systèmes sont d’accord. Les preuves sont dans les cas où ils diffèrent : un meilleur, deux moins bons. La différence est donc (1 − 2) ÷ 6 = −0,167, et avec six cas, son intervalle est très large. wins_losses() indique les cas derrière le nombre, pour que vous puissiez les lire.
Comparer le candidat à la référence de base
Section intitulée « Comparer le candidat à la référence de base »-
Copiez les tests du code de comparaison depuis l’instantané
end-of-m05:Fenêtre de terminal cp ../nextia-learning-labs/C11/snapshots/end-of-m05/tests/test_compare.py tests/Fenêtre de terminal Copy-Item ..\nextia-learning-labs\C11\snapshots\end-of-m05\tests\test_compare.py tests\ -
Ouvrez
tests/test_compare.pyet lisez ses trois tests. La même graine donne le même intervalle. Plus de cas donnent un intervalle plus étroit. La différence appariée indique ses cas. Exécutez ensuite les tests. La dernière ligne est37 passed(37 tests réussis) :Fenêtre de terminal python -m pytest -
Comparez les deux systèmes sur les données de développement :
Fenêtre de terminal python -m harness compare baseline candidatecandidate-v3-chat-small-r1-31b45f (candidate) against baseline-v2-chat-small-r1-b6a2b9 (baseline), dev, 102 casesdecisions baseline 90 | candidate 84 | difference -0.059 [-0.127, 0.010] (n=102) | better 4, worse 10criteria baseline 100 | candidate 85 | difference -0.147 [-0.225, -0.078] (n=102) | better 1, worse 16 -
Comparez-les sur le jeu réservé. Ce jeu sert à décider de la mise en production, donc le banc d’évaluation vous rappelle qu’il est figé :
Fenêtre de terminal python -m harness compare baseline candidate --split holdoutNote: the holdout set is frozen. Use it once, for the release decision.candidate-v3-chat-small-r1-31b45f (candidate) against baseline-v2-chat-small-r1-b6a2b9 (baseline), holdout, 98 casesdecisions baseline 94 | candidate 83 | difference -0.112 [-0.184, -0.041] (n=98) | better 1, worse 12criteria baseline 96 | candidate 87 | difference -0.092 [-0.163, -0.020] (n=98) | better 2, worse 11
Voici les décisions dans un graphique : chaque système seul, puis la différence appariée sur les données de développement, réservées et combinées.
Description textuelle du graphique
Le panneau du haut montre chaque système sur les 98 cas réservés. La référence de base : 0.959 (0.918 à 0.99). Le candidat : 0.847 (0.776 à 0.918). Les deux intervalles ne se chevauchent pas.
Le panneau du bas montre la différence appariée, candidat moins référence de base. Une ligne pointillée indique 0, soit aucune différence. La limite de Larkfield est de −0,03. Développement, 102 cas : −0.059 [−0.127, +0.010]; l’intervalle traverse 0. Données réservées, 98 cas : −0.112 [−0.184, −0.041]; tout l’intervalle est sous −0,03. Développement et données réservées combinés, 200 cas : −0.085 [−0.135, −0.030]; tout l’intervalle est sous 0, et sa borne supérieure atteint la limite.
Lisez d’abord la ligne des données de développement. La différence est de −0,059, mais l’intervalle va de −0,127 à +0,010 : il inclut 0. Sur les seules données de développement, vous ne pouvez pas dire que le candidat prend de moins bonnes décisions. Vous pouvez dire qu’il ne fait pas mieux de plus de 0,01.
Sur les données réservées, l’intervalle va de −0,184 à −0,041. Il est entièrement sous 0, et entièrement sous la limite de −0,03 fixée par Grace et Omar au module 1. Ensemble, les 200 cas donnent −0,085, avec un intervalle de −0,135 à −0,030. Deux jeux séparés pointent dans la même direction.
Lisez ensuite les cas. « better 1, worse 12 » (1 meilleur, 12 moins bons) sur les données réservées signifie que toute la différence repose sur 13 cas. Ce sont les cas à ouvrir avec show. Un des 12 est T-65663, un billet de soutien lié à la sécurité, sans réponse. Un intervalle indique votre certitude sur l’ampleur; il ne dit pas quel cas compte le plus. La prochaine leçon traite de cela.
Les sous-groupes, avec prudence
Section intitulée « Les sous-groupes, avec prudence »Un sous-groupe réunit des cas du même type : billets en français, billets nécessitant une personne, questions sans réponse dans la politique. Métriques des sorties générées a montré qu’un sous-groupe peut cacher un échec. Ces mêmes sous-groupes reçoivent maintenant des intervalles. score en affiche un par sous-groupe :
python -m harness score candidate --split holdout --by sliceNote: the holdout set is frozen. Use it once, for the release decision.
candidate-v3-chat-small-r1-31b45f on holdout (98 cases)valid answers 90/98 | team 89/97 | needs a person: caught 23/24, false alarms 7 | reply criteria passed 87/98 boundary criteria 0.714 [0.500, 0.929] (n=14) difficult criteria 0.862 [0.724, 0.966] (n=29) french criteria 1.000 [1.000, 1.000] (n=10) needs_person criteria 0.952 [0.857, 1.000] (n=21) normal criteria 0.909 [0.727, 1.000] (n=11) unanswerable criteria 0.923 [0.769, 1.000] (n=13)La ligne globale couvre 98 cas; chaque sous-groupe en compte de 10 à 29. Avec 14 cas limites, l’intervalle va de 0,50 à 0,93. Avec 11 cas normaux, un cas fait varier le score de 0,09. Le graphique montre la différence appariée des décisions par sous-groupe, sur les données de développement et réservées combinées (200 cas).
Description textuelle du graphique
Une ligne par sous-groupe, avec une ligne pointillée à 0. normal (23 cases): −0.043 [−0.174, +0.087]. boundary (28 cases): −0.107 [−0.214, 0.000]. difficult (59 cases): −0.119 [−0.220, −0.034]. French (20 cases): 0.000 [0.000, 0.000]. needs a person (43 cases): −0.047 [−0.116, 0.000]. unanswerable (27 cases): −0.148 [−0.370, +0.074]. Seul le sous-groupe difficile a un intervalle entièrement sous 0. Le sous-groupe sans réponse possible présente la plus forte baisse et l’intervalle le plus large. L’intervalle du sous-groupe français est un seul point à 0.
Trois précautions pour lire les sous-groupes :
- Un petit sous-groupe a un intervalle large. Le sous-groupe sans réponse possible baisse le plus, de 0,148. Mais son intervalle va de −0,370 à +0,074. Lisez les cas; n’annoncez pas le nombre.
- Plusieurs sous-groupes, quelques surprises dues au hasard. Avec six sous-groupes, l’un peut sembler bon ou mauvais par hasard seulement. Un sous-groupe trouvé en cherchant après avoir vu les résultats est une question pour la prochaine évaluation, pas une conclusion.
- Le bootstrap ne peut pas voir un échec qui n’a jamais eu lieu. Le candidat réussit les 20 cas en français. Chaque rééchantillon donne donc aussi 20 sur 20, et l’intervalle va de 1,000 à 1,000. Cela ne signifie pas qu’il ne se trompe jamais en français. Cela signifie que 20 cas n’ont montré aucun échec.
Lisez les sous-groupes comme une liste de cas à ouvrir, pas comme un classement. Les sous-groupes difficiles et sans réponse possible contiennent 15 des 22 décisions perdues par le candidat sur les données combinées. Huit de ces 15 sont des réponses coupées à la limite.
Quand utiliser les intervalles, et ce qu’ils coûtent
Section intitulée « Quand utiliser les intervalles, et ce qu’ils coûtent »Ajoutez un intervalle à chaque nombre dont dépend une décision, et indiquez le nombre de cas à côté. C’est la protection la moins coûteuse contre une interprétation excessive d’un petit jeu. Le bootstrap ne coûte qu’une seconde de calcul sur les sorties sauvegardées. Il fonctionne pour toute mesure, même sans formule.
Utilisez la différence appariée quand les deux systèmes ont répondu aux mêmes cas, ce que garantit une expérience contrôlée. Ne l’utilisez pas pour comparer des exécutions sur des cas différents, comme les nombres du mois dernier.
Un intervalle a des limites. Il couvre le bruit d’échantillonnage, pas un jeu biaisé : si un type de billet manque, aucun intervalle ne vous avertit. Il couvre le bruit d’une exécution, pas le bruit entre exécutions vu dans Expériences contrôlées. Et il indique l’ampleur possible de la différence, pas si cette ampleur compte. La limite de −0,03 de Grace détermine cela.
Erreur courante
Faire confiance à un sous-groupe parfait
Symptôme : Tomás lit le tableau des sous-groupes : « Français : 1,000, intervalle de 1,000 à 1,000. Le candidat est parfait en français. Mettons-le au moins en production pour les billets en français. »
Cause : un sous-groupe de 20 cas sans échec. Le bootstrap rééchantillonne seulement ce qu’il a, donc il ne peut pas créer un échec jamais vu. L’intervalle se réduit à un point. Un système qui échoue sur 1 billet en français sur 10 obtiendrait quand même 20 sur 20 environ 1 fois sur 8.
Solution : présentez le sous-groupe avec sa taille : « 20 cas en français sur 20, aucun échec observé ». Une règle approximative courante : sans échec sur n cas, le taux d’échec réel peut encore atteindre environ 3 ÷ n. Ici, c’est 15 %. Pour mettre en production uniquement pour les billets en français, ajoutez des cas en français jusqu’à obtenir un intervalle assez étroit.
Exercice guidé : les sous-groupes de la comparaison
Section intitulée « Exercice guidé : les sous-groupes de la comparaison »- Exécutez
python -m harness compare baseline candidate --split holdout --by slice. - Avant de lire la sortie, faites une prédiction : dans quel sous-groupe le candidat perd-il le plus de décisions sur les données réservées?
- Trouvez le sous-groupe avec la plus forte baisse et son nombre de cas. Cette baisse représente-t-elle plus d’un ou deux cas?
Afficher la sortie attendue et une réponse
Note: the holdout set is frozen. Use it once, for the release decision.
candidate-v3-chat-small-r1-31b45f (candidate) against baseline-v2-chat-small-r1-b6a2b9 (baseline), holdout, 98 casesdecisions baseline 94 | candidate 83 | difference -0.112 [-0.184, -0.041] (n=98) | better 1, worse 12 boundary baseline 0.93 candidate 0.86 (n=14) difficult baseline 1.00 candidate 0.83 (n=29) french baseline 1.00 candidate 1.00 (n=10) needs_person baseline 1.00 candidate 0.95 (n=21) normal baseline 1.00 candidate 0.91 (n=11) unanswerable baseline 0.77 candidate 0.54 (n=13)criteria baseline 96 | candidate 87 | difference -0.092 [-0.163, -0.020] (n=98) | better 2, worse 11 boundary baseline 1.00 candidate 0.71 (n=14) difficult baseline 0.97 candidate 0.86 (n=29) french baseline 1.00 candidate 1.00 (n=10) needs_person baseline 0.95 candidate 0.95 (n=21) normal baseline 1.00 candidate 0.91 (n=11) unanswerable baseline 1.00 candidate 0.92 (n=13)Pour les décisions, le sous-groupe sans réponse possible baisse le plus : de 0,77 à 0,54, sur 13 cas, soit 3 cas. Le sous-groupe difficile baisse moins, de 1,00 à 0,83, mais sur 29 cas : 5 cas. En nombre de cas, le sous-groupe difficile perd davantage. Convertissez toujours la proportion d’un sous-groupe en nombre de cas avant de comparer les sous-groupes.
À vous de jouer : les règles de réponse, sur 200 cas
Section intitulée « À vous de jouer : les règles de réponse, sur 200 cas »La règle de mise en production du module 1 utilise les décisions. Vérifiez aussi les règles de réponse, sur les données de développement et les données réservées réunies.
- En Python, chargez les cas de développement et les cas réservés :
[c for c in load_cases(split="all") if c.split != "contaminated"]. - Utilisez
per_case(cases, outputs, "criteria")pour les deux exécutions, puispaired_difference()etwins_losses(). - Écrivez une phrase pour Omar avec la différence, son intervalle, le nombre de cas et les nombres de cas améliorés et dégradés.
Afficher un exemple de réponse
>>> from harness.dataset import load_cases>>> from harness.run import find_run, load_outputs>>> from harness.compare import per_case, paired_difference, wins_losses>>> cases = [c for c in load_cases(split="all") if c.split != "contaminated"]>>> b = per_case(cases, load_outputs(find_run("baseline")), "criteria")>>> c = per_case(cases, load_outputs(find_run("candidate")), "criteria")>>> print(paired_difference(b, c))-0.120 [-0.170, -0.070] (n=200)>>> wl = wins_losses(b, c)>>> len(wl["better"]), len(wl["worse"])(3, 27)« Sur 200 cas, le candidat respecte toutes les règles de réponse sur une proportion inférieure de 0,120 à la référence de base. L’intervalle à 95 % va de 0,070 à 0,170 de moins. Il fait mieux sur 3 cas et moins bien sur 27. » Les règles de formulation ont leurs propres erreurs, comme le mot « cesser » non détecté. Lisez donc les 27 cas avant de les citer.
Vérifiez votre compréhension
Sur les données de développement, la différence des décisions est de −0,059, avec l'intervalle [−0,127, 0,010]. Tomás dit : « L'intervalle comprend 0, donc le candidat est aussi bon que la référence de base. » Qu'est-ce qui ne va pas dans ce raisonnement?
Afficher la réponse
Un intervalle qui comprend 0 signifie que les données ne permettent pas d’exclure l’absence de différence. Il ne montre pas qu’il n’y en a aucune. Le même intervalle permet une perte de 0,127. Les données réservées, avec leurs propres cas, donnent −0,112 [−0,184, −0,041], entièrement sous 0. Les deux ensembles réunis donnent −0,085 [−0,135, −0,030]. Présentez la taille de la différence et son intervalle. Utilisez plus de cas quand l’intervalle est trop large pour prendre une décision.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Pourquoi le banc d'évaluation calcule-t-il la différence cas par cas (appariée)? Pourquoi ne pas soustraire le score de la référence de base de celui du candidat, avec deux intervalles distincts?
Afficher la réponse
Les deux systèmes ont répondu aux mêmes cas, donc les cas difficiles le sont pour les deux. La différence appariée élimine cette partie commune et ne garde que les cas où les systèmes diffèrent. Son intervalle est donc plus étroit et équitable. L’appariement indique aussi les cas derrière la différence : sur les données réservées, 1 cas amélioré et 12 dégradés. Vous pouvez les lire un par un.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Un sous-groupe de 14 cas limites passe de 1,00 à 0,71 pour les règles de réponse. Que présentez-vous, et que faites-vous ensuite?
Afficher la réponse
Présentez le résultat avec son nombre de cas et son intervalle : 10 sur 14 contre 14 sur 14. L’intervalle du candidat va d’environ 0,50 à 0,93. Lisez ensuite les 4 cas en échec, car 14 cas ne suffisent pas pour obtenir un chiffre fiable. Dans cette exécution, 2 des 4 cas sont des réponses coupées à la limite. Traitez un sous-groupe comme une liste de cas à lire, pas comme un verdict.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Récapitulatif
- Accompagnez chaque chiffre de sa taille d’échantillon et d’un intervalle de confiance à 95 %. Sur 25 cas, l’intervalle de la référence de base a une largeur d’environ 0,28; sur 200, environ 0,075.
- Le bootstrap rééchantillonne vos cas avec remise, 2 000 fois; les 95 % du milieu forment l’intervalle. Cinq cas avec un échec donnent de 0,4 à 1,0.
- La différence appariée compare les systèmes cas par cas. Développement : −0,059 [−0,127, 0,010]; données réservées : −0,112 [−0,184, −0,041]; les deux : −0,085 [−0,135, −0,030].
- Les sous-groupes sont petits : traitez-les comme des cas à ouvrir, pas comme des verdicts. Un sous-groupe parfait de 20 cas permet encore des échecs que ces 20 cas n’ont pas révélés.
À suivre : des preuves solides montrent que le candidat est moins bon. Mais Tomás signale un juge qui le préfère, 126 contre 48. Comment la qualité, le coût, le temps et un billet de sécurité passé inaperçu mènent-ils à une seule décision?
Leçon suivante : Compromis et régressions