270 likes | 418 Views
Ein Konfidenzband für ROC-Kurven mit SAS. Steffen Witte und Katrin Jensen Universität Heidelberg Abteilung Medizinische Biometrie. Publikationen mit und über ROC in PubMed. Einführung: Diagnostik. Testsituation : Überprüfung einer (binären) Größe mit einer anderen (mind. ordinalen) Größe
E N D
Ein Konfidenzband für ROC-Kurven mit SAS Steffen Witte und Katrin Jensen Universität Heidelberg Abteilung Medizinische Biometrie KSFE 2003, Seite 1
Publikationen mit und über ROC in PubMed KSFE 2003, Seite 2
Einführung: Diagnostik • Testsituation: Überprüfung einer (binären) Größe mit einer anderen (mind. ordinalen) Größe • Beispiel 1: Krankheitsstatus (gesund/krank) Testverfahren anhand eines Laborwertes • Beispiel 2: retrospektive Kreditwürdigkeit (gegeben=Darlehen zurückgezahlt/nicht gegeben) Kreditwürdigkeitsprüfung anhand eines multiplen Scores • Beispiel 3: Fehler in einem Material (nicht)hinzugefügt Scanverfahren zum Auffinden von Materialfehlern KSFE 2003, Seite 3
cutoff Sens und Spec KSFE 2003, Seite 4
Schätzung der Sensitivität und Spezifität • K+ krank, K- gesund • T+ positiver Test (Testwert>cutoff), T- negativer Test • Sensitivität = Wahrscheinlichkeit einen Kranken mit dem Test auch als krank zu erkennen = P(T+ | K+) 19/25 • Spezifität = Wahrscheinlichkeit einen Gesunden mit dem Test auch als gesund zu erkennen = P(T- | K-) 30/35 KSFE 2003, Seite 5
ROC = reciever operating characteristic • ROC-Kurve: graphische Darstellung von Spezifität (x-Achse) und Sensitivität (y-Achse) für alle möglichen cutoffs. • Nichtparametrischer Schätzer: • jeder Wert des Testergebnisses ist ein möglicher cutoff • berechne jeweils Sens und Spec (%rocn – KSFE2002) • ggf. mit mehreren Tests (die zu vergleichen sind) • graph. Darstellung: proc gplot (%rocplot – KSFE2002) KSFE 2003, Seite 6
Beispiel ROC-Kurve (N=190) KSFE 2003, Seite 7
etwas Theorie zu Konfidenzbändern • Punktweise KonfidenzintervalleP(LCL(c) Sens(c) UCL(c)) = 95% für alle cutoffs • Punktweise Konfidenzbänder(Niveau wird nur für eine bestimmte Spezifität eingehalten – oder für einen bestimmten Schwellenwert)P(LCL(Sp) Sens(Sp) UCL(Sp)) = 95% für alle Sp • Simultane Konfidenzbänder(Vertrauensbereiche für alle Sensitivitäten simultan über einem Spezifitätsintervall)P(LCL(Sp) Sens(Sp) UCL(Sp) für alle Sp) = 95% KSFE 2003, Seite 8
etwas Theorie zu Konfidenzbändern • Punktweise Konfidenzintervalleexakte Konfidenzintervalle basierend auf der Binomialverteilung (Daly L, 1992) – %cibinomexact • Punktweise KonfidenzbänderMethode nach Hilgers (Hilgers RA, 1991) – %roccihMethode nach Schäfer (Schäfer H, 1994) • Simultane KonfidenzbänderMethoden nach Campbell (Campbell G, 1994)Methode nach Jensen (Jensen K, 2000) KSFE 2003, Seite 9
Two-stage confidence bounds • Betrachte einen beliebigen cutoff; Se, Sp schon geschätzt • Berechne KI [Xp, Xp] für xp = cutoff der Spezifität p liefert: Verwendung der K- Daten (nur der Gesunden) mittels empirischer Quantilfunktion • Finde die Sensitivitäten für die obigen cutoffs: Sens(Xp), Sens(Xp): Verwendung der K+ Daten (nur die Kranken) • verwende diese für die Berechnung des KIs für die ROC: z.B. untere Grenze: Sens(Xp) – z * sqrt(Sens(Xp) * (1-Sens(Xp)) / n) KSFE 2003, Seite 10
SAS-Umsetzung: SQL • 1. Schritt: Finde den cutoff, so dass dort die Spec. minimal, aber nicht kleiner als die KI-Grenze von Spec. (_plzphi) proc sql; create table __ci4 as select b.*, a.&cutoff. as _xpl, a.&spec. as _tmpsl from __ci3 as b left join __spec as a on 1 where (a.&spec. ge b._plzphi) group by b.&cutoff. having _tmpsl = min(_tmpsl); [...] quit; KSFE 2003, Seite 11
Beispiel 1: Aufruf des SAS-Macros %rocn %rocn(inset = lnldh, event = diag, tests = lnldh, outset2 = lnldh2); • %rocn verwendet: %roc1, %pv, %cibinomexact, %roccih • %rocn liefert folgende output-Variablen: _test, _fn, _cn, _cp, _fp, _n, _negative, _positive, _events, _nonevents, _cutoff1, _cutoff2, _cutoff1_label, _cutoff2_label, _1mspec, _youden, _sens, _spec,_lclh, _uclh, _prev, _npv, _ppv, _hits, _acc, (_sens _spec _acc _ppv _npv)*(_exlcl _exucl) KSFE 2003, Seite 12
ROC für ln(LDH) filename ausgabe 'ldh-line1.pdf'; %rocplot( gfile = ausgabe, gdev = pdf, citype = line, inset = lnldh2, by = _test, lcl=, ucl=); KSFE 2003, Seite 13
ohne Konfidenzband (ln(LDH)) KSFE 2003, Seite 14
mit punktweisen KI (ln(LDH)) filename ausgabe 'ldh-line2.pdf'; %rocplot( gfile = ausgabe, gdev = pdf, citype = line, lvalue = "CI pointwise for sens.", inset = lnldh2, by = _test, lcl=_sens_exlcl, ucl=_sens_exucl); KSFE 2003, Seite 15
mit punktweisen KI (ln(LDH)) KSFE 2003, Seite 16
mit Konfidenzband (ln(LDH)) filename ausgabe 'ldh-line3.pdf'; %rocplot( gfile = ausgabe, gdev = pdf, citype = line, lvalue = "CI using Hilgers method", inset = lnldh2, by = _test, lcl=_lclh, ucl=_uclh); KSFE 2003, Seite 17
Beispiel: mit Konfidenzband (ln(LDH)) KSFE 2003, Seite 18
Beispiel 2: Aufruf der SAS-Macros %rocn(inset = random, event = diag, tests = RAN1 RAN2 RAN3 RAN4, outset2 = random2 anno); filename ausgabe 'ran-line4.pdf'; %rocplot( gfile = ausgabe, gdev = pdf, citype = line, inset = random2(where = (_test in ("RAN1","RAN2","RAN3","RAN4"))), by = _test, lcl = , ucl = ); KSFE 2003, Seite 19
4 ROC (random) KSFE 2003, Seite 20
1 ROC, citype=area, lcl=_lclh, ucl=_uclh KSFE 2003, Seite 21
2 ROC, citype=area , lcl=_lclh, ucl=_uclh KSFE 2003, Seite 22
3 ROC, citype=area , lcl=_lclh, ucl=_uclh KSFE 2003, Seite 23
4 ROC, citype=area , lcl=_lclh, ucl=_uclh KSFE 2003, Seite 24
Diskussion • ROC-Kurven werden häufig angewandt. • Konfidenzbänder sind sinnvoller als punktweise KI. • Berechnung von Punktschätzern und einem Konfidenzband (Hilgers Methode) ist mit %rocn möglich. • Die graphische Darstellung kann mit proc gplot und der gesamten Flexibilität von SAS/GRAPH gemacht werden. • %rocplot bietet die Möglichkeit Standardgraphiken zu erstellen (siehe auch pdf‘s). • Ausblick: Die Umsetzung in ein SAS-Macro von weiteren (effizienteren und simultanen) KonfidenzBändern wäre sinnvoll. KSFE 2003, Seite 25
Literatur • Daly L (1992). Simple SAS macro for the calculation of exact binomial and Poisson confidence limits. Comput. Biol. Med., 22:351-361 • Hilgers RA (1991). Distribution-free confidence bounds for ROC curves. Meth. of Inform. in Med. 30:96-101 • Schäfer H (1994). Efficient confidence bounds for ROC curves. Statistics in Medicine 13:1551-1561 • Campbell G (1994). Advances in statistical methodology for the evaluation of diagnostic and laboratory tests. Statistics in Medicine 13: 499-508 • Jensen K, Müller HH, Schäfer H (2000). Regional confidence bands for ROC curves. Statistics in Medicine 19:493-509 KSFE 2003, Seite 26
Vielen Dank Diese Präsentation steht unterden „technical reports“ im Netz: http://www.biometrie.uni-heidelberg.de Die SAS-Programme sind erhältlich bei sas@imbi.uni-heidelberg.de KSFE 2003, Seite 27