Courbes ROC

roc-curves-cost-vs-concentration.png

Principe des courbes ROC

Les courbes ROC (de l'anglais Receiver Operating Characteristic) ont d'abord été développées pendant la seconde guerre mondiale pour la mise au point de moyens efficaces de détection des avions japonais. Cette méthodologie a ensuite été appliquée de manière plus générale en détection du signal, puis en médecine, ou elle est aujourd'hui très utilisée.

La problématique est la suivante : on étudie un phénomène, souvent de nature binaire (par exemple, la présence ou l'absence d'une maladie) et on souhaite mettre au point un test permettant de détecter efficacement la survenance d'un évènement précis (par exemple, la présence de la maladie).

Soit une V variable binaire ou multinomiale décrivant le phénomène pour N individus suivis.

Notons par + les individus pour lesquels l'évènement se produit, et par ¡V ceux pour lesquels il ne se produit pas. Soit T un test dont le but est de détecter si l'évènement se produit ou non. T est une le plus souvent quantitative (par exemple une concentration), mais elle peut être qualitative ordinale (représentant des niveaux).

On souhaite définir la valeur seuil en-deca ou au-delà de laquelle l'évènement se produit. On étudie alors un ensemble de valeurs seuil possibles et, pour chacune, on calcule différentes statistiques dont les plus simples sont :

  • Vrais positifs (VP) : nombre d'individus déclares positifs par le test et qui le sont effectivement.
  • Faux positifs (FP) : nombre d'individus déclares positifs par le test mais qui sont en réalité négatifs.
  • Vrais négatifs (VN) : nombre d'individus déclares négatifs par le test et qui le sont effectivement.
  • Faux négatifs (FN) : nombre d'individus détectes négatifs par le test mais qui sont en réalité positifs.
  • Prévalence de l'évènement : fréquence de survenance de l'évènement dans l'échantillon total (VP+FN)/N.

Plusieurs indices synthétiques ont été mis au point afin d'évaluer la performance du test à une valeur seuil donnée :

  • Sensibilité (aussi appelée Fraction de Vrais Positifs): proportion d'individus positifs effectivement bien détectes par le test. Autrement dit, la sensibilité permet de mesurer à quel point le test est performant lorsqu'il est utilisé sur des individus positifs. Le test est parfait pour les individus positifs lorsque la sensibilité vaut 1, équivalent a un tirage au hasard lorsque la sensibilité vaut 0.5. S'il est inferieur à 0.5, le test est contre-performant et on aurait intérêt à inverser la règle pour qu'il soit supérieur à 0.5 (à condition que cela n'affecte pas la spécificité). La définition mathématique est : Sensibilité = VP/(VP + FN).
  • Spécificité (aussi appelée Fraction de Vrais Négatifs): proportion d'individus négatifs effectivement bien détectes par le test. Autrement dit, la spécificité permet de mesurer à quel point le test est performant lorsqu'il est utilisé sur des individus négatifs. Le test est parfait pour les individus négatifs lorsque la spécificité vaut 1, équivalent à un tirage au hasard lorsque la spécificité vaut 0.5. S'il est inferieur à 0.5, le test est contre-performant et on aurait intérêt à inverser la règle pour qu'il soit supérieur à 0.5 (à condition que cela n'affecte pas la sensibilité). La définition mathématique est : Spécificité = VN/(VN + FP).
  • Fraction de faux positifs (FFP) : proportion de négatifs détectes comme des positifs par le test (1-Spécificité).
  • Fraction de faux négatifs (FFN) : proportion de positifs détectes comme des négatifs par le test (1-Sensibilité)
  • Valeur Prédictive Positive : proportion de cas effectivement positifs parmi les positifs détectes par le test. On a VPP = VP/(VP+FP), ou VPP=Sensibilité x Prévalence / [(Sensibilité x Prévalence + (1-Specificite)(1- Prévalence)]. C'est une valeur fondamentale qui a la particularité de dépendre aussi de la prévalence, une donnée indépendante de la qualité du test.
  • Valeur Prédictive Négative : proportion de cas effectivement négatifs parmi les négatifs détectes par le test. On a VPN = VN/(VN+FN), ou VPP= Spécificité(1- Prévalence) / [Spécificité(1- Prévalence) + (1- Sensibilité)Prévalence]. Cet indice dépend aussi de la prévalence, une donnée indépendante de la qualité du test.
  • Rapport de vraisemblance positif (LR+) : ce rapport indique à quel point un individu a plus de chance d'être positif en réalité, si le test est positif. On a LR+ = Sensibilité / (1-Spécificité).
  • Rapport de vraisemblance négatif (LR-) : ce rapport indique à quel point un individu a plus de chance d'être positif en réalité, si le test est négatif. Le risque relatif est nécessairement une valeur positive ou nulle. On a LR- = (1-Sensibilité) / (Spécificité).

 Intervalles de confiance

Pour les différents indices synthétiques présentes ci-dessus, plusieurs méthodes de calcul de leur variance et donc des intervalles de confiance on été proposées. On distingue deux familles : la première concerne les proportions, comme par exemple la sensibilité ou la spécificité, et la seconde, les ratios tels LR+ et LR-.

Pour les proportions, XLSTAT propose notamment les estimateurs de Wald simple (Wald, 1939) ou ajuste (Agresti et Coull, 1998), le calcul base sur le score de Wilson (Wilson, 1927), avec éventuellement une correction de continuité, ou l'intervalle de Clopper-Pearson (1934).

Agresti et Caffo recommandent d'utiliser plutôt l'intervalle de Wald ajuste ou le score de Wilson.

Pour les ratios, les variances sont calculées suivant une seule méthode, avec ou sans correction de continuité.

Une fois cette variance des indices calculée on suppose la normalité asymptotique de la statistique (ou de son logarithme pour les ratios) pour déterminer l'intervalle de confiance.

Hormis les ratios, les différents indices présentés ci-dessus sont des proportions comprises entre 0 et 1. Si les intervalles sortent de ces limites, XLSTAT corrige automatiquement les bornes de l'intervalle.

Courbe ROC

La courbe ROC correspond à la représentation graphique du couple (1 – spécificité ; sensibilité) pour les différentes valeurs seuil. Son allure est en soit en escalier soit en droites par morceaux.

L’aire sous la courbe (ou Area Under the Curve – AUC) est un indice synthétique calculé pour les courbes ROC. L’AUC correspond à la probabilité pour qu’un événement positif soit classé comme positif par le test sur l’étendue des valeurs seuil possibles. Pour un modèle idéal, on a AUC=1 (ci-dessus en bleu), pour un modèle aléatoire, on a AUC=0.5 (ci-dessus en rouge). On considère habituellement que le modèle est bon dès lors que la valeur de l’AUC est supérieure à 0.7. Un modèle bien discriminant doit avoir une AUC entre 0.87 et 0.9. Un modèle ayant une AUC supérieure à 0.9 est excellent.

Sen (1960), Bamber (1975) et Hanley et McNeil (1982) ont proposé différentes méthodes de calcul de la variance de l’AUC. Toutes sont proposées par XLSTAT. XLSTAT propose un test de comparaison de l’AUC à la valeur de 0.5 qui correspond à un test aléatoire. Ce test s’appuie sur la différence entre l’AUC et 0.5 divisée par la variance calculée selon l’une des trois méthodes proposées. La statistique obtenue est supposée suivre une loi normale standard, ce qui permet notamment le calcul de la p-value.

L’AUC peut aussi être utilisée pour comparer différents tests entre eux. Si les différents tests ont été appliqués à différents groupes d’individus, les échantillons sont indépendants. Dans ce cas, XLSTAT utilise un test de Student pour comparer les AUC (ce qui suppose la normalité de l’AUC, ce qui est acceptable si les échantillons ne sont pas trop petits). Si différents tests ont été appliqués aux mêmes individus, on est dans un cas de données appariées. Dans ce cas, XLSTAT calcule la matrice de covariance des AUC sur la base des travaux de Sen (1960), rapportés par Delong et Delong (1988), pour pouvoir ensuite calculer la variance de la différence entre deux AUC, puis pour calculer la p-value associée sur la base d’une hypothèse de normalité.

ternary diagramneural network diagram

analysez vos données avec xlstat

essayez gratuitement pendant 14 jours