Thème 6 — Inférence bayésienne
Cours complet · mathématiques complémentaires (terminale), chapitre 16 · terminale, option mathématiques complémentaires
Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre
Le chapitre 8 s'est terminé sur un calcul déconcertant. Un test de dépistage qui détecte des malades, appliqué à une population où la maladie touche une personne sur cent, donne cinq faux positifs pour un vrai. Le calcul tenait en trois lignes, et pourtant sa conclusion contredit l'intuition de presque tout le monde — y compris, les enquêtes le montrent régulièrement, celle des professionnels de santé.
Ce n'était ni un paradoxe ni une bizarrerie de la loi binomiale. C'était le premier exemple d'un raisonnement qui porte un nom, qui a une formule, et dont le champ d'application dépasse largement la médecine : à chaque fois qu'un indice imparfait tombe — un test positif, une alarme, un mot suspect dans un courriel, un voyant qui s'allume, une trace sur une scène de crime —, il faut décider ce que cet indice change à ce que l'on croyait avant de l'observer. C'est l'inférence bayésienne.
Ce thème reprend ce calcul là où le chapitre 8 l'a laissé, et en fait une étude complète : la formule qui le produit et sa démonstration, la manière de le poser pour qu'il devienne évident, la quantité qui en commande le résultat, la façon d'enchaîner plusieurs indices, et quatre situations qui n'ont rien de médical — un filtre de courriels, un diagnostic de panne, la recherche d'un canot en mer, une erreur judiciaire.
Problématique. Un indice vient de tomber. De combien doit-il modifier ce que je croyais avant ?
Ce que ce thème mobilise. Les probabilités conditionnelles, l'arbre pondéré et la loi binomiale du chapitre 8 ; la dérivée d'un quotient et l'étude des variations du chapitre 4 ; la convexité du chapitre 5 ; l'équation fonctionnelle du logarithme et la recherche de seuils du chapitre 3 ; les suites géométriques et arithmétiques du chapitre 1 ; et, pour lire le comportement d'une valeur prédictive aux petites prévalences, l'approche intuitive des limites du chapitre 2.
16.1 Le renversement du conditionnement
16.1.1 Deux questions qu'on prend l'une pour l'autre
Rappelons la définition vue en première, et déjà utilisée au chapitre 8.
Soit un événement de probabilité non nulle. La probabilité de sachant est
Elle mesure la proportion de à l'intérieur de , et non dans l'univers tout entier.
Les deux nombres et ont le même numérateur, , mais pas le même dénominateur. Rien n'oblige donc à ce qu'ils se ressemblent, et le plus souvent ils ne se ressemblent pas du tout.
et ne sont pas la même chose. « Presque tous les joueurs de basket professionnels mesurent plus de m » est vrai ; « presque toutes les personnes qui mesurent plus de m sont joueurs de basket professionnels » est faux, et grossièrement. Les deux phrases portent pourtant sur le même croisement de deux caractères.
En dépistage, c'est exactement la même confusion : — la probabilité qu'un malade soit détecté — vaut dans l'exemple qui suivra, tandis que — la probabilité qu'un individu détecté soit malade — n'y vaut que .
La difficulté n'est pas mathématique : elle est de langage. Les données d'un énoncé sont presque toujours des , parce que ce sont elles que l'on mesure — on teste des malades connus pour évaluer un test. La question posée, elle, est presque toujours un , parce que c'est elle qui se pose en pratique — on voit un résultat, on ignore l'état. Tout le travail consiste à renverser le conditionnement.
16.1.2 L'arbre pondéré et la formule des probabilités totales
L'outil de base est l'arbre pondéré du chapitre 8, construit dans le sens des données : la cause d'abord, l'indice ensuite.
Soit un événement tel que et , et soit un événement quelconque. Alors
Autrement dit : la probabilité d'un indice se lit sur l'arbre en additionnant les chemins qui y mènent.
Démonstration
Les deux événements et sont incompatibles — un même résultat ne peut pas être à la fois dans et dans — et leur réunion est tout entier, puisque tout résultat de est ou bien dans , ou bien dans . L'additivité donne donc
Il reste à réécrire chaque terme avec la définition d'une probabilité conditionnelle : et .
La formule vaut de la même façon pour trois causes ou davantage, dès lors qu'elles sont deux à deux incompatibles et qu'elles recouvrent tous les cas possibles : on additionne alors autant de chemins qu'il y a de causes. Nous l'admettons sous cette forme générale et nous l'utiliserons plus loin avec trois causes de panne, puis avec trois zones de recherche ; la démonstration est mot pour mot la même.
Une boîte de réception reçoit courriels, dont sont indésirables : . Le mot « gratuit » apparaît dans des courriels indésirables et dans des courriels légitimes. En notant l'événement « le courriel contient le mot gratuit », la formule des probabilités totales donne
Sur courriels, contiennent donc le mot : indésirables et légitimes.
16.2 La formule de Bayes
Soit un événement tel que et , et soit un événement de probabilité non nulle. Alors
Démonstration
Par définition d'une probabilité conditionnelle, puis de nouveau par cette même définition appliquée dans l'autre sens,
Le numérateur est le poids du chemin qui passe par ; il ne reste qu'à remplacer le dénominateur par la formule des probabilités totales,
ce qui donne exactement l'égalité annoncée.
La formule ne contient rien de plus que la définition d'une probabilité conditionnelle et un découpage en deux cas. Ce n'est pas un théorème difficile : c'est un théorème utile, parce qu'il nomme et automatise un renversement que l'intuition rate.
Méthode : Renverser un conditionnement en trois lignes
- Nommer les deux événements et repérer, dans l'énoncé, lequel est la cause (celle dont on connaît la fréquence globale) et lequel est l'indice (celui que l'on observe).
- Construire l'arbre dans le sens des données : cause d'abord, indice ensuite. Les branches du premier niveau portent et ; celles du second, les et .
- Écrire le quotient : au numérateur le chemin qui contient à la fois la cause cherchée et l'indice observé, au dénominateur la somme de tous les chemins portant l'indice.
Un courriel vient d'arriver et contient le mot « gratuit ». Quelle est la probabilité qu'il soit indésirable ? Le numérateur est le chemin « indésirable puis gratuit », soit ; le dénominateur est :
Trois quarts des courriels contenant le mot sont indésirables — à comparer aux de l'énoncé, qui répondaient à une tout autre question.
Avant tout calcul, lisez l'énoncé en vous demandant : de quoi part la phrase ? « des indésirables contiennent le mot » part des indésirables : c'est un . « des courriels contenant le mot sont indésirables » part des courriels contenant le mot : c'est un . La population de départ, c'est le dénominateur. Identifier le dénominateur, c'est identifier la probabilité.
16.3 Compter en fréquences naturelles
La formule de Bayes est courte, mais elle empile des produits de nombres décimaux petits, et elle laisse l'esprit sans image. Il existe une façon de faire le même calcul qui rend le résultat presque évident : remplacer toutes les probabilités par des effectifs dans une population fictive bien choisie.
Prenons le test de dépistage qui servira de fil conducteur à tout ce thème. Il est différent de celui du chapitre 8, et volontairement meilleur sur un point :
- la maladie touche de la population dépistée — c'est la prévalence ;
- le test est positif chez des malades — c'est sa sensibilité ;
- il est négatif chez des personnes non malades — c'est sa spécificité.
Plutôt que d'écrire , dépistons personnes et comptons.
Méthode : Calculer en fréquences naturelles
- Choisir un effectif total assez grand pour que tous les sous-effectifs soient des nombres entiers ( convient presque toujours, pour une maladie très rare).
- Partager selon la cause : ici malades et non malades.
- Partager chaque groupe selon l'indice : et d'un côté, et de l'autre.
- Répondre à la question posée en lisant un quotient d'effectifs, sans aucune formule.
Parmi les personnes, ont un test positif, et d'entre elles seulement sont malades :
Le même résultat par la formule de Bayes :
Les deux calculs sont le même, à un facteur près sur le numérateur et sur le dénominateur.
Ce n'est pas un simple confort de rédaction. C'est l'un des résultats les mieux établis de la didactique des probabilités : un problème de dépistage énoncé en pourcentages est résolu par une petite minorité de personnes, alors que le même problème énoncé en effectifs (« sur personnes… ») est résolu par une proportion bien plus grande — et l'écart se retrouve chez les étudiants comme chez les médecins. La mathématique n'a pas changé ; la présentation, si. Retenez-en une règle de travail : devant un énoncé bayésien, commencez par le retraduire en effectifs.
16.3.1 Le vocabulaire des quatre cas
Un test à deux réponses appliqué à une population partagée en malades et non malades produit quatre effectifs : les vrais positifs (VP), les faux négatifs (FN), les faux positifs (FP) et les vrais négatifs (VN). On en tire quatre proportions, qu'il ne faut pas confondre :
Les deux premières décrivent le test ; les deux dernières décrivent ce que vaut un résultat. Les premières ne dépendent pas de la population, les secondes en dépendent entièrement.
Une seule question suffit à ne jamais se tromper : est-ce que je divise par le total de la ligne, ou par le total de la colonne ? Diviser par la ligne, c'est juger le test. Diviser par la colonne, c'est juger le résultat. C'est le même tableau, la même case , et deux réponses sans rapport : et .
def frequences(N, prevalence, sensibilite, specificite):
# Renvoie les quatre effectifs (VP, FN, FP, VN) sur N personnes.
malades = N * prevalence
sains = N - malades
VP = malades * sensibilite
FN = malades - VP
VN = sains * specificite
FP = sains - VN
return VP, FN, FP, VN
VP, FN, FP, VN = frequences(10000, 0.01, 0.90, 0.98)
print(VP, FN, FP, VN) # 90.0 10.0 198.0 9702.0
print(VP / (VP + FP)) # 0.3125 -> la valeur predictive positive
16.4 La prévalence commande
Le test précédent est bon : il détecte neuf malades sur dix et ne se trompe que sur deux personnes saines sur cent. Et pourtant un résultat positif ne signifie la maladie que dans un cas sur trois. Le coupable n'est pas le test : c'est la prévalence.
Gardons le test tel quel et faisons varier la seule prévalence . La formule de Bayes donne
après division du numérateur et du dénominateur par . Nous obtenons une fonction d'une variable, et le chapitre 4 s'applique tel quel.
Posons, pour ,
Alors :
- est dérivable sur et : est strictement croissante, de à .
- : est concave, sa courbe est au-dessous de chacune de ses tangentes. La caractérisation de la concavité par le signe de est celle du chapitre 5, où elle est admise.
- La tangente à l'origine a pour coefficient directeur , qui est exactement le rapport . Pour de petites prévalences, est donc voisin de .
Démonstration
C'est la dérivée d'un quotient, avec et :
Sur le dénominateur est strictement positif, donc . En dérivant une seconde fois — est de la forme avec — on obtient , c'est-à-dire , strictement négative. Enfin .
À partir de quelle prévalence un test positif a-t-il plus d'une chance sur deux de correspondre à un vrai malade ? On résout . Comme , l'inéquation équivaut à
Et pour atteindre ?
Il faut donc une prévalence de pour qu'un positif soit « plutôt malade », et de pour qu'il le soit à — avec un test parfaitement inchangé.
Un test n'a pas de fiabilité en soi. La phrase « ce test est fiable à » ne veut rien dire tant qu'on n'a pas précisé quel quotient elle désigne ni sur quelle population. Le même test, avec les mêmes de sensibilité et de spécificité, donne une valeur prédictive de dans un dépistage de masse et de chez des patients déjà sélectionnés par des symptômes. Ce n'est pas le test qui a changé, c'est la population.
Retenez la hiérarchie : aux faibles prévalences, c'est la spécificité qui commande la valeur prédictive positive, pas la sensibilité. À , faire passer la sensibilité de à ne porte la valeur prédictive que de à ; faire passer la spécificité de à la porte à . La raison tient en une phrase : les faux positifs sont prélevés sur l'immense population des non-malades, les vrais positifs sur la toute petite population des malades.
16.5 Actualiser : la cote et les indices successifs
Un dépistage n'est jamais un diagnostic : on refait un test, on demande un examen complémentaire, on cherche un second indice. Comment enchaîner ? Recommencer la formule de Bayes à chaque étape fonctionne, mais devient vite pénible. Il existe une écriture où l'enchaînement est une simple multiplication.
La cote d'un événement de probabilité est le rapport
Réciproquement, . Une probabilité de correspond à une cote de : « une chance contre quatre ».
La cote n'est pas une notion du programme ; elle intervient ici comme un simple outil de calcul propre à ce thème, au même titre que le modèle logistique du chapitre 4.
Avec les hypothèses de la formule de Bayes,
Démonstration
Écrivons la formule de Bayes sous sa forme courte, une fois pour et une fois pour :
En divisant membre à membre, le facteur — le seul qui soit pénible à calculer — disparaît :
Le quotient mesure combien de fois l'indice est plus fréquent quand la cause est présente que quand elle est absente. Un supérieur à renforce , un inférieur à l'affaiblit, un égal à ne dit rien.
Le test du fil conducteur a pour rapport de vraisemblance . À la prévalence , la cote avant test vaut , donc la cote après un test positif vaut , et
On retrouve bien , en une multiplication.
16.5.1 Enchaîner les indices
Reprenons la boîte de réception, où des courriels sont indésirables, et supposons que le filtre y relève plusieurs indices de même force, chacun de rapport de vraisemblance — des indices bien plus faibles que le mot « gratuit », dont le rapport valait . Si l'on admet que ces indices sont indépendants conditionnellement à la nature du courriel, chaque nouvel indice multiplie la cote par .
Notons la cote après indices, en partant de (soit de courriels indésirables). Alors
et la probabilité correspondante vaut . En passant au logarithme (chapitre 3),
la suite est arithmétique de raison .
Démonstration
La suite est géométrique de raison et de premier terme : (chapitre 1). L'équation fonctionnelle du logarithme, , donne alors , qui est bien de la forme .
La figure dit une chose importante sur la lecture des probabilités. Passer de à paraît un petit progrès, et passer de à un grand — alors que les deux étapes apportent exactement la même quantité d'information, un facteur sur la cote. Les probabilités proches de écrasent les différences ; les cotes, et mieux encore leurs logarithmes, les rendent comparables.
La multiplication des rapports de vraisemblance suppose que les indices sont indépendants sachant la cause. C'est une hypothèse de modèle, jamais un théorème, et elle est souvent fausse : deux mots qui vont ensemble dans les mêmes courriels, deux tests fondés sur le même mécanisme biologique, deux prélèvements faits sur le même échantillon n'apportent pas deux informations distinctes. Quand l'hypothèse est douteuse, la cote calculée est trop grande et la conviction obtenue, surévaluée. Il faut le dire explicitement chaque fois qu'on l'utilise.
def actualiser(cote, rapport):
# Un indice de rapport de vraisemblance donne multiplie la cote.
return cote * rapport
def proba(cote):
return cote / (1 + cote)
cote = 1 / 4 # 2000 indesirables pour 8000 legitimes
for n in range(1, 7):
cote = actualiser(cote, 3)
print(n, round(proba(cote), 4))
# 1 0.4286 | 2 0.6923 | 3 0.871 | 4 0.9529 | 5 0.9838 | 6 0.9945
16.6 Hors de la médecine
Le raisonnement ne doit rien à la médecine : il lui faut seulement une cause dont on connaît la fréquence globale et un indice dont on connaît la fréquence chez ceux qui ont la cause et chez ceux qui ne l'ont pas.
16.6.1 Un filtre de courriels
C'est l'exemple du début, et il inverse le rôle de la prévalence : les courriels indésirables ne sont pas rares, ils forment ici du flux — et sur beaucoup de serveurs, bien davantage. C'est pourquoi un filtre peut se permettre des indices médiocres là où un dépistage ne le peut pas. Le problème résolu 2 mène cette étude jusqu'au réglage du seuil de blocage.
16.6.2 Un diagnostic de panne
Une machine-outil tombe en panne. L'historique de l'atelier donne trois causes possibles et leur fréquence : usure d'un roulement ( des pannes), défaut d'alimentation (), erreur du programme de commande (). Le technicien observe une surchauffe. Cette surchauffe accompagne des pannes de roulement, des défauts d'alimentation et des erreurs de programme. Les probabilités totales à trois causes donnent
puis, en divisant chaque chemin par ce total,
L'indice a renversé le classement : sans lui on aurait ouvert le carter du roulement, cause deux fois plus fréquente que les autres ; avec lui, c'est l'alimentation qu'il faut regarder d'abord. On vérifie que les trois probabilités s'additionnent bien à , ce qui est le contrôle usuel.
16.6.3 Chercher un objet perdu
Un raisonnement bayésien décrit aussi une recherche. On répartit sa croyance entre plusieurs endroits, on fouille le plus probable, et si l'on ne trouve rien — ce qui est un indice, même s'il est négatif — on met à jour. L'effet est contre-intuitif : chercher sans succès dans une zone augmente la probabilité de toutes les autres, et peut faire passer en tête une zone que l'on jugeait peu probable. C'est exactement la démarche des services de secours en mer ; le problème résolu 3 la conduit sur trois zones et trois recherches.
16.6.4 Une erreur judiciaire
Une trace biologique est retrouvée sur les lieux d'un cambriolage. Le laboratoire conclut : « ce profil génétique est partagé par une personne sur ». Un suspect, interpellé par ailleurs sans autre élément à charge, présente ce profil. L'accusation en tire : « il n'y avait qu'une chance sur pour qu'un innocent présente ce profil, donc l'accusé est coupable à ».
La phrase renverse le conditionnement. Le laboratoire a mesuré , la fréquence du profil chez les innocents. Le tribunal doit statuer sur , la probabilité d'être coupable sachant que l'on porte le profil. Si l'enquête n'a rien d'autre et que le coupable est l'un des adultes de la région, les innocents fournissent porteurs du profil. Le profil désigne donc un groupe de six personnes, dont une seule est coupable :
Confondre et dans un prétoire porte un nom : le sophisme du procureur. Il a conduit à de vraies condamnations d'innocents. Deux remarques permettent de le désamorcer :
- une probabilité minuscule multipliée par une population immense donne un effectif qui ne l'est pas ;
- la conclusion dépend de la probabilité avant l'indice — ici la taille de la population suspecte. Si d'autres éléments avaient réduit l'enquête à dix personnes, la même trace donnerait une probabilité de culpabilité voisine de . L'indice ne vaut rien tout seul : il ne fait que multiplier une cote.
16.7 Bilan
- et n'ont pas le même dénominateur : ce ne sont pas les mêmes nombres. Les données d'un énoncé sont des , la question posée est un .
- La formule des probabilités totales additionne les chemins d'un arbre pondéré ; la formule de Bayes en fait un quotient :
- Le même calcul en fréquences naturelles — « sur personnes… » — ne manipule que des effectifs entiers et rend le résultat lisible sans formule. C'est la première chose à faire.
- La prévalence commande la valeur prédictive. Avec un test fixé, celle-ci s'écrit
fonction croissante, concave, de pente à l'origine. Un test n'a pas de fiabilité en soi.
- En cote, la formule de Bayes devient une multiplication : cote finale cote initiale rapport de vraisemblance. Les indices successifs multiplient la cote — suite géométrique — et additionnent son logarithme — suite arithmétique. L'indépendance conditionnelle qui l'autorise est une hypothèse de modèle, à énoncer.
- Hors médecine, le même raisonnement règle un filtre de courriels, oriente un diagnostic de panne, conduit une recherche en mer — où un échec est une information — et démonte le sophisme du procureur.