Ga naar hoofdinhoud
MedCalc

Vergelijking van Precision-Recall-curves

Een Precision-Recall-curve is een plot van de precision (positief voorspellende waarde, y-as) tegen de recall (sensitiviteit, x-as) voor verschillende drempelwaarden. Het is een alternatief voor de ROC-curve (Saito & Rehmsmeier, 2015).

In de procedure Vergelijking van Precision-Recall-curves van MedCalc worden de Precision-Recall-curves van twee afhankelijke of onafhankelijke variabelen gemaakt. “Afhankelijke variabelen” betekent dat de gegevens van de twee variabelen afkomstig zijn van dezelfde gevallen (proefpersonen, stalen, patiënten, …), d.w.z. gepaard zijn.

MedCalc genereert de Precision-Recall-curves uit de ruwe gegevens (niet uit een tabel met sensitiviteit en PPV) en berekent het verschil tussen de oppervlakten onder de twee curves, met het 95%-BCa-bootstrapbetrouwbaarheidsinterval voor dit verschil.

Hoe gegevens invoeren voor een Precision-Recall-curve

Om Precision-Recall-curves te maken, heb je twee metingen nodig die je interesseren (= de parameters die je wil bestuderen) en een onafhankelijke diagnose die je proefpersonen in twee afzonderlijke groepen indeelt: een groep met en een groep zonder de ziekte. Deze diagnose moet onafhankelijk zijn van de metingen die je interesseren.

Maak in de spreadsheet een kolom Classification en twee kolommen voor de variabelen die je interesseren, bv. Param1 en Param2. Voer voor elke proefpersoon als volgt een code voor de classificatie in: 1 voor de zieke gevallen en 0 voor de niet-zieke of normale gevallen. Voer in de kolommen Param1 en Param2 voor elk geval de metingen die je interesseren op dezelfde rij in (dit kunnen meetresultaten, graden enz. zijn - als de gegevens categorisch zijn, codeer je ze met numerieke waarden).

Gegevens
A1
1
 ABCD
ClassificationParam1Param2
1123,732,2
2018,932,1
3119,927,7
4125,636,9
5119,940,6
6122,134,5
7020,428,9
8019,924,7

Vereiste invoer

Vergelijking van Precision-Recall-curves

  • Variabelen: selecteer de twee variabelen die je interesseren.
  • Classificatievariabele: selecteer een dichotome variabele die de diagnose aangeeft (0=negatief, 1=positief).

    Als je gegevens anders gecodeerd zijn, kan je het hulpmiddel Status definiëren gebruiken om je gegevens te hercoderen.

    Het is belangrijk om de positieve gevallen correct te identificeren.

  • Filter: (optioneel) een filter om alleen een geselecteerde subgroep van gevallen op te nemen (bv. AGE>21, SEX="Male").
  • Opties:
    • Gegevens afkomstig van dezelfde proefpersonen (gepaarde gegevens): selecteer deze optie als de twee variabelen gegevens bevatten die van dezelfde proefpersonen afkomstig zijn. Als de twee gegevensreeksen van verschillende proefpersonen komen, is er geen gepaard design en schakel je deze optie uit. Het is belangrijk dit onderscheid te maken, omdat de statistische power van de toets verschilt voor een model met gepaarde of met onafhankelijke steekproeven.
    • Bootstrap-betrouwbaarheidsinterval: selecteer deze optie om met de bootstraptechniek een betrouwbaarheidsinterval te berekenen voor het verschil tussen de oppervlakten onder de Precision-Recall-curves (AUPRC).
    • Geavanceerd: klik op deze knop om de bootstrapparameters op te geven: het aantal replicaties en de startwaarde voor toevalsgetallen.
  • Grafiek:
    • Optie om punten te markeren die overeenkomen met criteriumwaarden.

Resultaten - gepaarde steekproeven

Vergelijking van Precision-Recall-curves

Variabele 1

Param1

Variabele 2

Param2

Classificatievariabele

Classification

Steekproefgrootte

100

Positieve groep a

34 (34.00%)

Negatieve groep b

66 (66.00%)

a Classification = 1
b Classification = 0

Precision-Recall-curve

Variabele

Param1

Param2

Oppervlakte onder de curve

0.735

0.824

95%-betrouwbaarheidsinterval

0.564 tot 0.856

0.659 tot 0.919

F1max

0.718

0.759

Bijbehorend criterium

>21.4

>33.7

Vergelijking van gepaarde Precision-Recall-curves

Verschil tussen oppervlaktes 

0.08888

95%-bootstrap-CI a

0.007429 tot 0.2291

a BCa bootstrap-betrouwbaarheidsinterval (5000 iteraties; startwaarde voor toevalsgetallen: 978).

MedCalc rapporteert eerst de volgende statistieken voor elke variabele:

  • De steekproefgroottes in de positieve en negatieve groep.
  • De oppervlakte onder de Precision-Recall-curve (AUPRC), berekend met niet-lineaire interpolatie (Davis & Goadrich, 2006).
  • F1max: de F1-score is een maat voor de nauwkeurigheid van een test en is het harmonisch gemiddelde van precision en recall. Hij wordt op elk meetniveau berekend, en F1max is de maximale F1-score over alle meetniveaus.
    $$ F_1 = 2 \times \frac{Recall \times Precision}{Recall + Precision } $$
  • Bijbehorend criterium: het criterium (meetniveau) waarbij F1max werd bereikt.
  • Het 95%-betrouwbaarheidsinterval voor de AUPRC, dat als volgt wordt berekend (Boyd et al, 2013; logitmethode):
    $$ CI(AUPRC) = \left[ \frac{e^{\mu_\eta - 1{,}96 \tau}}{1+ e^{\mu_\eta - 1{,}96 \tau}} \; ; \; \frac{e^{\mu_\eta + 1{,}96 \tau}}{1+ e^{\mu_\eta + 1{,}96 \tau}} \right] $$

    waarbij

    $$ \mu_\eta = logit(AUPRC) = \ln \left ( \frac {AUPRC} {1-AUPRC} \right ) $$ $$\tau = \frac{1}{\sqrt{n*AUPRC*(1-AUPRC)}} $$

Zie ook een opmerking over criteriumwaarden.

Resultaten - onafhankelijke steekproeven

Het rapport voor onafhankelijke steekproeven is enigszins anders, maar bevat in wezen dezelfde statistieken.

Vergelijking van Precision-Recall-curves

Variabele 1

Param1

Variabele 2

Param2

Classificatievariabele

Classification

Precision-Recall-curve

Variabele

Param1

Param2

Totale steekproefgrootte

100

100

Positieve groep a

34 (34.00%)

34 (34.00%)

Negatieve groep b

66 (66.00%)

66 (66.00%)

Oppervlakte onder de curve

0.735

0.824

95%-betrouwbaarheidsinterval

0.564 tot 0.856

0.659 tot 0.919

F1max

0.718

0.759

Bijbehorend criterium

>21.4

>33.7

a Classification = 1
b Classification = 0

Vergelijking van onafhankelijke Precision-Recall-curves

Verschil tussen oppervlaktes 

0.08888

95%-bootstrap-CI a

-0.07367 tot 0.2743

a BCa bootstrap-betrouwbaarheidsinterval (5000 iteraties; startwaarde voor toevalsgetallen: 978).

Vergelijking van de twee Precision-Recall-curves

MedCalc rapporteert:

  • Het verschil tussen de oppervlakten onder de twee Precision-Recall-curves (AUPRC).
  • Het 95%-BCa-bootstrapbetrouwbaarheidsinterval voor dit verschil, als de overeenkomstige optie is geselecteerd. Als het betrouwbaarheidsinterval 0 niet bevat, kan worden besloten dat de twee oppervlakten significant verschillen (P<0,05).

Grafiek

Vergelijking van Precision-Recall-curves - grafiek

Wanneer de optie om punten te markeren die overeenkomen met criteriumwaarden in de grafiek werd geselecteerd, krijg je bij een klik op een markering het overeenkomstige criterium (voor positiviteit) te zien, samen met de recall (sensitiviteit), de precision (positief voorspellende waarde) en de F1-score.

Literatuur

  • Boyd K, Eng KH, Page CD (2013) Area under the Precision-Recall Curve: Point Estimates and Confidence Intervals. In: Blockeel H, Kersting K, Nijssen S, Železný F (eds) Machine Learning and Knowledge Discovery in Databases. ECML PKDD 2013. Lecture Notes in Computer Science, vol 8190. Springer, Berlin, Heidelberg.
  • Davis J, Goadrich M (2006) The relationship between precision-recall and ROC curves. Proceedings of the 23rd International Conference on Machine Learning, Pittsburgh, PA, 2006.
  • Efron B (1987) Better Bootstrap Confidence Intervals. Journal of the American Statistical Association 82:171-185.
  • Efron B, Tibshirani RJ (1993) An introduction to the Bootstrap. Chapman & Hall/CRC.
  • Saito T, Rehmsmeier M (2015) The precision-recall plot is more informative than the ROC plot when evaluating binary classifiers on imbalanced datasets. Plos One 10:e0118432. PubMed

Zie ook

  • Precision and recall op Wikipedia (artikel alleen in het Engels beschikbaar).
  • F1 Score op Wikipedia (artikel alleen in het Engels beschikbaar).