Validité d’un diagnostic : probabilités, sensibilité, spécificité et cas des IA

Par Guillaume Promé
le
25 Jan. 2020 Logiciel

Tour d’horizon des notions statistiques autour de la sensibilité et de la spécificité, nécessaires pour évaluer la pertinence des algorithmes de diagnostic.

L’article présente les formules fondamentales, des calculateurs sont disponibles.

Le cas des Intelligences Artificielles Médicales est analysé en fin d’article.

Contexte

  1. Une personne peut être malade ou non-malade.
  2. Un test de dépistage de la maladie peut se montrer positif ou négatif.
  3. Ce résultat peut être vrai ou faux.

La performance d’un algorithme de diagnostic est caractérisée par :

  1. la Probabilité à priori (le % de résultats vrais);
  2. la Sensibilité (l’algo détecte correctement la maladie); et
  3. la Spécificité (l’algo détecte correctement l’absence de maladie).

Ces notions permettent de connaitre la probabilité post test : la probabilité qu’un patient soit malade en cas de test positif, en tenant compte de sa probabilité d’être malade avant de faire le test, possiblement différente de la prévalence de la maladie en général.

diagnostic et probabilités

La notion de filtre est introduite pour traiter le cas des IA médicales, selon qu’elles soient utilisées de manière massive (la probabilité que l’utilisateur soit malade vaut la prévalence de la maladie) ou ciblée (par exemple pour confirmer les soupçons d’un médecin, la probabilité sera alors plus élevée).

Mémo : Variables et Formules

État du patient
Malade 🤢
Non-malade 🙂
Résultat du test
Positif maladie diagnostiquée, à tort ou à raison 🔴
Négatif maladie non diagnostiquée, à tort ou à raison
Validité du test
Vrai L’algo a correctement identifié l’état du patient ✔️
Faux L’algo a correctement identifié l’état du patient
Vrai Positif (VP) Patient malade + test positif 🤢🔴
Faux Positif (FP) Patient non-malade + test positif 🙂🔴
Faux Négatif (FN) Patient malade + test négatif 🤢⚪
Vrai Négatif (VN) Patient non-malade + test négatif 🙂⚪
Calculs
🤢 Patients malades VP+FN 🤢🔴+🤢⚪
🙂 Patients non-malades FP+VN 🙂🔴+🙂⚪
🔴 Diagnostics positifs VP+FP 🤢🔴+🙂🔴
Diagnostics négatifs VN+FN 🙂⚪+🤢⚪
✔️ Résultats vrais VP+VN 🤢🔴+🙂⚪
Résultats faux FP+FN 🙂🔴+🤢⚪
1 patient, 1 diagnostic, 4 possibilités
🤢 🙂
🔴 Vrai Positif Faux Négatif
Faux Positif Vrai Négatif
Probabilité à priori
Probabilité à priori % vrais parmi tous les résultats (VP+VN) / (VP+VN+FP+FN) ✔️/(✔️+❌)
Sensibilité et spécificité
Sensibilité % positifs chez les malades VP / (VP+FN) 🤢🔴/🤢
(1-Sensibilité) % négatifs chez les non-malades FN / (VP+FN) 🤢⚪/🤢
Spécificité % négatifs chez les non-malades VN / (VN+FP) 🙂⚪/🙂
(1-Spécificité) % positifs chez les malades FP / (VN+FP) 🙂🔴/🙂
Indice de Youden Précision du diagnostic : [0 (inefficace); 1(parfait)] sensibilité+spécificité-1 🌡️
Validité prédictive
Valeur prédictive positive (Vpp) % vrais positifs parmi les positifs VP / (VP+FP) 🤢🔴/🔴
Valeur prédictive négative (Vpn) % vrais négatifs parmi les négatifs VN / (VN+FN) 🙂⚪/⚪
Rapport de vraisemblance
Rapport de vraisemblance d’un test positif (Rvtp) %positifs chez malades / %positifs chez non-malades sensibilité / (1-spécificité) (🤢🔴/🤢) / (🙂🔴/🙂)
Rapport de vraisemblance d’un test négatif (Rvtn) %négatif chez malades / %négatifs chez non-malades (1-sensibilité) / spécificité (🤢⚪/🤢) / (🙂⚪/🙂)
Conclusion pour le patient : probabilité post-test
P P d’être malade avant le test ( = prévalence de la maladie si dépistage “massif”)
P post-test positif (Pptp) P*sensi / (P*sensi + (1-P)*(1-spéci))
P post-test négatif (Pptn) P*(1-sensi) / (P*(1-sensi) + (1-P)*spéci)

Note sur les rapports de vraisemblance :

RVP RVN Apport du test
[10,inf[ ]0,0.1] Très fort
[5,10] [0.1,0.2] Fort
[2,5] [0.2,0.5] Moyen
[1,2] [0.5,1] Faible
1 1 Nul

Calculateurs

Calculs à partir des données brutes

Ce calculateur prend en données d’entrées le nombre de patients par type de résultat (VP, FP, VN, FN).

Données
VP 🤢🔴
FP 🙂🔴
FN 🤢⚪
VN 🙂⚪
Calculs détaillés
Malades 🤢🔴+🤢⚪
Non-malades 🙂🔴+🙂⚪
Participants 🙂+🤢
% malades 🤢/(🙂+🤢)
Tests positifs 🤢🔴+🙂🔴
Tests négatifs 🙂⚪+🤢⚪
Tests vrais 🤢🔴+🙂⚪
Tests faux 🙂🔴+🤢⚪
Probabilité à priori ✔️/(✔️+❌)
Sensibilité 🤢🔴/🤢
Spécificité 🙂⚪/🙂
Indice de Youden (Précision) 🌡️
Vpp 🤢🔴/🔴
Vpn 🙂⚪/⚪
Rvpt (🤢🔴/🤢) / (🙂🔴/🙂)
Rvpn (🤢⚪/🤢) / (🙂⚪/🙂)
P pour un patient
P(%) d’être malade P🤢
Pptp P🤢@🔴
Pptn P🤢@⚪

Calculs à partir de la sensibilité et de la spécificité

Données
Sensibilité (%) 🤢🔴/🤢
Spécificité (%) 🙂⚪/🙂
Indice de Youden (précision)
P pour un patient
P(%) d’être malade P🤢
Pptp P🤢@🔴
Pptn P🤢@⚪

Dépistage massif ou Aide aux médecins ?

Les performances des IA montrent qu’un recours massif (dépistage de tous) n’est pas souhaitable si les performances ne sont pas suffisamment bonnes.

Par contre, l’intérêt augmente lorsqu’elles sont utilisées pour compléter l’avis d’un médecin.

L’exemple ci-dessous reprend les chiffres, partiels, de l’étude “Apple Heart Study“.

Utilisation massive
P avant test P après test
1.5% 33%
Utilisation ciblée
P avant test P après test
5% 63%
10% 79%
20% 89%
50% 97%
90% 99.7%

Bonus : Traduction Langage courant ➪ Statistique

Toutes les expressions listées sont issues de communication de fabricant, de la presse ou de publications scientifiques.

Notez qu’il est nécessaire d‘avoir les informations sur la sensibilité et la spécificité pour être capable d’évaluer les performances d’un test.

Info Sensibilité Spécificité Remarque
Les radiologues ont échoué à identifier 5% des malades 95% ?
Les médecins ont diagnostiqué à tort 11% de cancers en plus que le logiciel ? ? +11% de faux positifs chez les médecins
Une intelligence artificielle capable de prédire les morts et crises cardiaques dans 90% des cas 90% ?
82 % de détection des personnes non atteintes et 100 % détection des patients atteints 100% 82% RVP=5.5, RVN=0 : l’apport au diagnostic est fort
le taux de réussite pour la détection de la maladie a été de 98 % 98% ?
L’IA a correctement identifié 92 % des patients qui ont développé la maladie 92% ?
L’IA a donné un taux de bon diagnostic de 100 % 100% 100% Cas parfait

Articles connexes