ROC, le choix des seuils de détection et le coût de la morale

Le propre des êtres autonomes est leur capacité à identifier des signaux et à y répondre de manière adéquate.

L’œil de l’aigle dans le ciel saisit identifier la fourrure fauve dans la prairie jaunie, la luciole reconnait la pulsation lumineuse émise par les partenaire de son espèce, le radiologue le motif d’une structure cancéreuse, l’opérateur radar détermine si le point clignotant sur l’écran correspond à un vaisseau ami ou ennemi. C’est d’ailleurs avec ce problème de radar au cours de la dernière guerre mondiale, que la théorie de la détection du signal a émergé, couvrant des usages nombreux dont le point commun est d’évaluer la qualité d’une décision particulière –  le signal reçu correspond-il à une réalité ou à un bruit ? – en établissant un seuil optimum de détection.

Prenons un exemple.  Le chien qui aboie devant nous intimide-t-il avant de prendre la fuite ou va-t-il nous attaquer et nous mordre ? En conséquence faut-il lui fracasser le crâne avec le bâton qu’on tient en main, ou rester immobile jusqu’à ce qu’il se soit éloigné?
L’intensité de l’aboiement est le signal que nous devons traiter.

Pour bien se représenter le problème, nous générons un exemple hypothétique. On suppose que les attaques correspondent à des aboiements d’intensité 7 en moyenne, et la fuite de 5. Deux situation sont traitées : l’une où l’écart-type des aboiement est de 0.5, l’autre de 3. Ce qui est représenté dans la figure 1.

On a le réflexe avec ce type de donnée d’effectuer un test statistique, celui du test de student  est largement suffisant, dans les deux situations.  Il nous permet de décider pour un risque de première espèce donné, de rejeter l’hypothèse nulle d’égalité des moyennes et par conséquent de conclure que les moyennes sont distinctes et que, dans notre cas, que les décisions sont bien associées à l’intensité du signal. Dans notre exemple ( cas de la figure de gauche à forte variance)  les moyennes empiriques sont de 5, 06 et 7,04, et le test t de student a une valeur critique de 26. La probabilité que les moyennes empiriques diffèrent alors qu’elle sont égales en réalité est quasi nulle, bien en-deça du risque usuel de 5%.  Ce test cependant ne dit pas comment agir, autrement dit à partir de quelle intensité faut-il se préparer à frapper le chien fou furieux, ou ne pas agir. Il dit juste qu’il y a une différence.

On remarque cependant que lorsque les deux distributions sont bien différenciées, il est plus simple de discriminer les deux signaux. En choisissant une valeur supérieure à 6 (diagramme de droite), il y a très peu de chance de frapper cruellement la bête alors qu’elle va s’enfuir, et de se laisser mordre parce qu’on a cru a tors qu’elle enfuirait. Mais quand les distributions se superposent largement (diagramme de droite), comment pour une valeur donnée de l’aboiement décider de l’action à mener? Quel seuil se donner? L’analyse ROC va permettre de répondre à la question, mais avant poursuivons sur cette question de superposition et de discrimination du signal.

Une mesure pour ceci a été proposée depuis longtemps: la sensitivité ( ou discriminance) Elle est notée d’ et se définit par

d’=d/s

où d est la différence des moyennes des deux signaux et s la variance moyenne des signaux ( racine²(1/2(Sda²+Sdf²)). Dans le premier cas, on obtient une valeur d’ de 0,67 dans le second de 4, donc 12 fois plus forte dans la partie droite de la figure 1.

Le problème reste entier. Quelle valeur retenir pour décider l’action a entreprendre (frapper ou rester immobile) ? A partir de quel seuil doit-on interpréter l’aboiement comme un signal d’attaque?

Pour évaluer cette valeur, il suffit de compter d’une part le nombre de bonne décisions, et d’autre part les mauvaises décisions.  On comprend de suite que deux types d’erreurs peuvent se produire :

    • On peut conclure que le chien va attaquer alors qu’il ne fait qu’intimider. Le résultat de l’action est que le chien va se prendre un coup de bâton sans raison. C’est le prix d’une fausse alarme.
    • On peut aussi conclure qu’il ne va pas attaquer, alors qui bondit et nous mord au mollet. L’alerte est ratée, le signal est sous-interprêté, on sera bon pour un vaccin anti-rabique, et quelques soins à l’hôpital.

Plus précisément le problème peut se formuler sous la forme du tableau suivant

A partir du tableau différents indicateurs peut être construits, on remarquera rapidement qu’on retrouve les classiques de l’évaluation du machine learning : précision , recall et accuracy. A vrai dire c’est le même problème. Comment évaluer la capacité d’un modèle à discriminer des signaux.
      • Le taux de vrai positif ( ou recall, ou sensitivy) est égal à TP/P . Il donne la proportion de bonnes détection sur le total des détections positives. S’il est élevé, le détecteur donne trop souvent de fausse alertes.
      • le taux de faux positif : FP/N
      • taux de vrai negatif ( ou spécificité) :  FN/N
      • L’accuracy ( précision) donne la proportion de bonne prédiction : TP+TN/(P+N)
      • l’erreur en est le complément : 1- Acc = (FP+FN)/P+N
      • F : c’est la moyenne harmonique de la précision et du recall. c’est un indicateur de synthèse

L’invention des contrôleurs de radars est de représenter ces performances sous la forme d’un diagramme appelé Receiver Operational Characteristics (ROC) construit en calculant  pour différents seuils de décision ( l’intensité des aboiement)  le taux de faux positifs et en ordonnée le taux de vrais positifs.  Les deux courbes (On utilise le package RORC de r – l’ensemble du code est sous le post) de la figure suivante correspondent aux deux situations (faible et forte discriminance), la diagonale correspond à une situation de non discriminance.  La courbe la plus coudée correspond au signal le moins ambigu (Sd=0.5).

La lecture du ROC est simple : plus la courbe est coudée et meilleur est le modèle ( ou  le signal est peu bruité). Les couleurs représentent différents seuils. Le violet et le bleu correspondent au seuils les plus élevés. En lisant le diagramme on s’ aperçoit que pour accroitre le taux de vrai positif il faut concéder une proportion croissante de faux positifs. Dans le cas du « bon » modèle ceci se produire à partir d’un taux de vrai positif de plus de 90%. Dans le cas bruité, il faudra accepter un taux de l’ordre de 60% de faux positifs pour identifier 8% des vrais positifs. Quel est donc le bon trade-off?

On peut reproduire des représentations analogues avec les autres indicateurs. On a inclus ainsi le diagramme specifité/sensitivité, et bien sur le couple precision/recall bien connu des machine learners. RORC en propose de nombreux autres. Il y en a pour tous les goûts.

La détermination du seuil optimal, qui combine la plus grande proportion de signaux bien reconnus tout en minimisant l’erreur des faux positifs, suit le principe de retenir le point le moins éloigné de la situation de discrimination parfaite : 100% de taux de vrais positifs et 0% de faux négatifs. RORC automatise ce calcul par une fonction simple qui nous donne les résultats suivants.

On s’aperçoit ainsi que le seuil optimal est plus faible (5,91) dans le cas d’un signal bruité (faible discriminance) que dans celui d’un signal clair (6.01). La stratégie est donc d’être plus prudent et d’augmenter le seuil d’alerte quand le signal est ambigu.

Dans ce calcul, un facteur décisif et économique, les coûts de l’erreur, ne sont pas pris en compte. Le coût des faux positifs – penser que le chien va attaquer, alors qu’il ne le fera pas – est un coût moral. Si on milite pour l’antispécisme, qu’on considère que la douleur imposée à l’animal est criminelle, qu’on ne mérite pas de circonstances atténuantes due à la peur, ce coût sera élevé. Il peut être consacré par le droit et se traduire par de fortes amendes si ce n’est des peines de prison. Le coût des faux négatifs est celui de se faire mordre, il est moins ambigu et  il se traduit par celui d’une visite à l’hôpital pour le vaccin anti-rabique et couturer la blessure.
Une autre fonction de RORC permet d’analyser ces options en fixant un coût pour les faux négatifs et les faux positifs. On va donc calculer les seuils en envisageant deux situations qui s’ajoutent à l’analyse précédente où ces coûts sont considérés comme équivalents.

      • Forte valeur morale : On fixe à 1 le coût des faux négatifs  et à 5 celui des faux positifs (il est 5 fois plus coûteux de frapper le chien que de se faire mordre)
      • Fort égoïsme : On fixe à 5 le coût des faux négatifs  et à 1 celui des faux positifs ( il est 5 fois moins coûteux de frapper le chien pour rien que de se faire mordre).

Le résultat apparait dans la figure suivante. On s’aperçoit que lorsque le signal est clair (forte discriminance) la moralité a peu d’influence, on retient un seuil un peu plus bas en cas d’égoïsme, à peine plus élevé quand on partage des valeurs antispécistes.  Ces valeurs sont équivalents. Lorsque le signal est ambigu ( faible discriminance), on passe en revanche du simple au double. Le poids de la morale impose un seuil très élevé (8.66), celui de l’ego-préservation l’effondre de moitié (3.91). Deux stratégies totalement différentes émergent, pas tant par le calcul, mais par son imprécision ! Quand le modèle discrimine mal, l’impact des coûts, dont la valeur est fixée indépendamment du modèle, sur le seuil de décision est considérable.

Notre petite histoire de chien (en hommage au musée de la chasse dont l’objet est bien la détection) avait d’abord un but pédagogique et servira à nos étudiants ( ceux de marketing y trouveront une bonne manière d’améliorer leur connaissance des méthodes de scoring et de leurs évaluations). Elle a aussi sa leçon morale et politique.
L’opérationnalisation d’un modèle de décision – la détection d’un signal en est une variété –  ne consiste pas simplement à faire des prédictions. Elle conduit à choisir des normes pour établir la décision. Les valeurs de ses normes sont externes au modèle. On frappe le chien, pas seulement parce qu’il aboie, mais parce qu’on identifie de manière imprécise cet aboiement, et que dans cette incertitude on privilégie son propre intérêt, à moins d’être soumis à une autre norme, celle de la vie du chien. Et le modèle ne décide pas de ce choix. Il l’accuse quand il est imprécis. Autrement dit ils pourraient être neutre quand il sont précis, mais quand il ne le sont pas, ils traduisent des choix politiques et moraux.
Pour donner une idée plus concrête prenons la question de  l’octroi de crédit à la consommation. Noter les consommateurs sur une échelle de risque ( risk scoring) ne porte pas directement à conséquence pourvu que le modèle soit construit convenablement : sur des échantillons représentatifs (sans biais de sélections, ce cancer du big data)  et avec une bonne spécification ( sans biais du même nom) . Ce peut être un modèle logit qui fournissent un score sous la forme d’une probabilité de défaillance à rembourser ou pourquoi pas quelque chose de beaucoup plus sophistiqué. Sa mise en œuvre requiert une étape supplémentaire : fixer le seuil qui amènent à considérer un mauvais crédit. A quel niveau doit-on refuser le prêt? Si le risque est supérieur à 5%? ou 10%? ou 20% ?
Ce seuil dépend non seulement de la qualité du signal à traiter (le profil du demandeur de crédit qui va se résumer en un score qui discrimine les bons et les mauvais risques)  mais aussi par l’introduction de coûts associés à l’erreur qui prend un double visage. Le faux négatif c’est accorder un crédit à quelqu’un qui ne le remboursera pas, et son coût le montant perdu. Le faux positif c’est refuser un crédit à quelqu’un qui l’investira dans une startup nommée Facebook et qui vaudra 600 milliards. Les banques généralement comptent le premier risque et pas le second. On pourrait imaginer un monde où les emprunteurs opposent les opportunités perdues à celui qui leur a refusé un crédit.

Dans un monde de donnée qui se prépare à envahir le monde avec le machine learning et les nombreuses familles de modèles prédictifs, infiltrant dans tous les processus des micro-mécanismes de détection et de décision,  il y a toute les chances que les modèles restent imparfaits car ce monde reste un monde social, où les corrélations sont généralement faible, au contraire d’un monde physique plus déterministes. Cette imperfection par nature risque d’amplifier l’effet des systèmes de valeurs, qui se traduit dans l’évaluation des coûts des erreurs, sur la détermination des seuils de décision.

 Annexe code largement inspiré de  https://www.r-bloggers.com/a-small-introduction-to-the-rocr-package/