ENFR

Courbe ROC : le compromis sensibilité / spécificité

Un simulateur : déplacez un seuil et regardez un test troquer la détection des malades contre les fausses alertes.

Sensibilité (Se)

Parmi les malades, la proportion que le test signale. Relevez la barre du positif et davantage de malades passent entre les mailles.

Spécificité (Sp)

Parmi les sains, la proportion correctement classée négative. Abaissez la barre et vous détectez plus de malades, au prix de plus de fausses alertes.

AUC (aire sous la ROC)

Un seul chiffre pour tout le test, quel que soit le seuil : la probabilité qu'il classe un malade au hasard au-dessus d'un sain au hasard. 0,5 c'est pile ou face, 1,0 c'est parfait.

La situation

La plupart des tests diagnostiques mesurent une grandeur continue : un taux hormonal, une densité, un score de risque. Vous choisissez un seuil. Au-dessus, le test est positif ; en dessous, négatif. Les deux bosses ci-dessous sont les populations saine et malade, et là où elles se chevauchent, aucun seuil ne les sépare proprement. Chaque position du seuil décide quelle erreur vous ferez le plus : manquer des malades, ou alarmer des bien-portants.

Mode d'emploi

Le graphique du haut montre les deux populations et votre seuil. La courbe ROC trace tous les seuils possibles à la fois ; le point est celui que vous avez choisi. Déplacez le curseur de seuil pour faire glisser le point le long de la courbe. Déplacez le curseur de qualité pour écarter les deux bosses, ce qui courbe la ROC vers le coin supérieur gauche et augmente l'AUC.

Sensibilité
Spécificité

Les deux populations et votre seuil

Courbe ROC

Vous ne pouvez pas maximiser les deux. Poussez le seuil à gauche et la sensibilité monte pendant que la spécificité baisse ; à droite, l'inverse. Aucun seuil n'est le meilleur pour tout le monde, seulement pour un objectif : un dépistage qui ne doit pas manquer de cancers se place d'un côté, un test qui confirme un diagnostic avant une opération se place à l'opposé.

Encore une chose que la courbe ROC masque. L'AUC et la courbe entière décrivent le test, et elles ne bougent pas quand la maladie devient plus rare. Savoir si un résultat positif est réellement fiable est une autre question, et celle-là dépend de la fréquence de la maladie. Voir sur le simulateur VPP

Voici le raisonnement en mots, puis les formules.

De quoi la courbe est faite

À un seuil donné, la sensibilité est le taux de vrais positifs (parmi les malades, combien sont positifs) et la spécificité le taux de vrais négatifs. Son complément, le taux de faux positifs, vaut 1 moins la spécificité. La courbe ROC n'est que ces deux nombres tracés l'un contre l'autre quand le seuil passe de strict à permissif : taux de faux positifs en abscisse, taux de vrais positifs en ordonnée.

$$\text{Se} = \text{TPR} \qquad \text{Sp} = \text{TNR} \qquad \text{FPR} = 1 - \text{Sp}$$

Dans le cas net de deux courbes en cloche de même largeur séparées d'une distance d, la courbe entière a une forme close et l'aire sous elle vaut simplement la fonction de répartition normale de d sur racine de deux.

$$\text{AUC} = \Phi\!\left(\frac{d}{\sqrt{2}}\right)$$

Cette aire a un sens simple à retenir : c'est la probabilité que le test attribue à un malade au hasard un score plus élevé qu'à un sain au hasard. Une AUC de 0,9 signifie que dans 90 paires sur 100, le malade a le score le plus haut. C'est la même quantité que la statistique de Mann-Whitney, et en machine learning c'est le résumé standard d'un classifieur binaire.

Un test, deux usages

Énoncé

Un laboratoire indique qu'un test sanguin pour un cancer a une AUC de 0,92. Un collègue dit que le test est sensible à 95 % ; un autre qu'il est spécifique à 98 %. Les deux parlent du même test. Comment peuvent-ils avoir raison tous les deux ?

Celui-ci se résout mieux sur le simulateur que sur le papier. Réglez le curseur de qualité jusqu’à lire AUC 0,92, puis déplacez le seuil : à une position, le panneau affiche 95 % de sensibilité ; plus loin, 98 % de spécificité. Une seule courbe, deux points de fonctionnement.

Parce que la sensibilité et la spécificité ne sont pas des propriétés figées du test. Ce sont un point que vous avez choisi sur la courbe ROC, et l'AUC de 0,92 fixe la courbe entière, pas le point.

• Pour un dépistage qui ne doit pas manquer de cancers, choisissez un seuil bas : sensibilité 95 %, spécificité 64 %. Environ un tiers des sains sont rappelés, et c'est accepté car un dépistage positif mène à un test de confirmation, pas à un diagnostic.
• Pour confirmer le cancer avant une chirurgie lourde, choisissez un seuil haut : spécificité 98 %, sensibilité 48 %. Un positif veut alors dire quelque chose, au prix d'en manquer plus de la moitié.
• Même test, même AUC de 0,92. Deux points de fonctionnement, choisis pour deux coûts d'erreur différents.
La bonne question n'est donc jamais seulement « ce test est-il bon », mais « où placer son seuil pour cet usage ». Appuyez sur les deux préréglages ci-dessus, Dépistage et Confirmation, pour voir la même courbe se lire comme deux tests très différents.

Questions fréquentes

Que signifie l'AUC ?

L'AUC est la probabilité que le test attribue à un malade tiré au hasard un score plus élevé qu'à un sain tiré au hasard. 0,5 c'est pile ou face et 1,0 une séparation parfaite.

Qu'est-ce qu'une bonne valeur d'AUC ?

0,5 est inutile, pas mieux que le hasard, et la plupart des tests cliniques utiles se situent entre environ 0,75 et 0,95. Plus c'est haut, mieux c'est, mais le bon seuil à utiliser dépend encore du coût clinique des cas manqués face aux fausses alertes.

Quelle est la différence entre sensibilité et spécificité ?

La sensibilité est la part des malades que le test signale positifs ; la spécificité est la part des sains qu'il classe correctement négatifs. Déplacer le seuil de décision échange l'une contre l'autre, et c'est exactement ce que trace la courbe ROC.

Ceci est un seul piège de l'intuition. La section Paradoxes & Intuition Traps de Stat Exam Pro en contient toute une série : des QCM type examen, corrigés et expliqués, en français et en anglais.

Télécharger sur iPhone