Point de coupure dans une courbe ROC. Existe-t-il une fonction simple?

10

Je veux trouver le point de coupure pour le genre basé sur une mesure anthropologique. Je peux dessiner les courbes et je sais que si la sensibilité et la spécificité sont toutes deux également importantes, le point le plus proche du coin supérieur gauche du cadre (ou si la courbe est négative, le point le plus proche du coin inférieur droit) doit être déterminé comme coupure.

Cependant, je ne sais pas s'il existe une fonction déjà implémentée dans R ou d'autres programmes pour le déterminer, simplement? Je sais juste que SPSS n'a pas une telle fonction. Connaissez-vous des programmes ou R qui peuvent le faire via une fonction déjà implémentée?

Vic
la source
3
Salut @Vic. Il existe un excellent Rpackage appelé ROCRpour ce genre de calculs. Trouvez-le ici . Voir aussi le site correspondant avec une documentation complète. Il y a aussi un papier sur le paquet .
COOLSerdash

Réponses:

12

Vous souhaitez calculer l' indice de Youden et trouver le plus élevé de votre courbe ROC.

Jetez un œil aux packages OptimalCutpoints et cutpointr pour R. Si vous faites une analyse ROC, vous pouvez également utiliser la coordsfonction de pROC (un peu d'auto-publicité ici):

library(pROC)
data(aSAH)
rocobj <- roc(aSAH$outcome, aSAH$s100b)
coords(rocobj, "best")
coords(rocobj, x="best", input="threshold", best.method="youden") # Same than last line
Calimo
la source
4

Comme l'a mentionné @COOLSerdash, il existe un bon package R ROCR pour effectuer ce type d'analyse.

Mais ma réponse est qu'il n'est pas possible de prendre une décision de coupure uniquement sur la base de certaines métriques d'informations.

Vous devez spécifier une véritable fonction de perte dont les paramètres sont basés sur une valeur relative de diverses erreurs de classification. Il est alors facile de sélectionner un point de coupure qui maximise les gains ou minimise les pertes.

Analyste
la source
1
Bien dit. Vous devez également vous demander quelle est la valeur d'un seuil lorsque vous pouvez simplement utiliser le risque prévu sur un continuum.
Frank Harrell
1
Vic écrit que "la sensibilité et la spécificité sont toutes deux également importantes", que j'interprète comme le coût des différentes erreurs de classification sont identiques. Dans ce cas, une simple fonction de coût comme l'indice Youden est appropriée (mais ce n'est pas le cas en général, en effet).
Calimo