Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ein Konfidenzband für ROC-Kurven mit SAS

Ähnliche Präsentationen


Präsentation zum Thema: "Ein Konfidenzband für ROC-Kurven mit SAS"—  Präsentation transkript:

1 Ein Konfidenzband für ROC-Kurven mit SAS
Steffen Witte und Katrin Jensen Universität Heidelberg Abteilung Medizinische Biometrie KSFE 2003, Seite 1

2 Publikationen mit und über ROC in PubMed
KSFE 2003, Seite 2

3 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

4 cutoff  Sens und Spec KSFE 2003, Seite 4

5 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 K+ K- T+ 19 5 24 T- 6 30 36 25 35 60 Wenn sehr kleiner cutoff => alle als krank (T+) bezeichnen => Sensitivität = 1 Wenn sehr großer cutoff => alle als gesund (T-) bezeichnen => Spezifität = 1 KSFE 2003, Seite 5

6 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

7 Beispiel ROC-Kurve (N=190)
KSFE 2003, Seite 7

8 etwas Theorie zu Konfidenzbändern
Punktweise Konfidenzintervalle P(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% pKI: sehr (zu) eng pKB: eng sKB: weit KSFE 2003, Seite 8

9 etwas Theorie zu Konfidenzbändern
Punktweise Konfidenzintervalle exakte Konfidenzintervalle basierend auf der Binomialverteilung (Daly L, 1992) – %cibinomexact Punktweise Konfidenzbänder Methode nach Hilgers (Hilgers RA, 1991) – %roccih Methode nach Schäfer (Schäfer H, 1994) Simultane Konfidenzbänder Methoden nach Campbell (Campbell G, 1994) Methode nach Jensen (Jensen K, 2000) pKI: sehr (zu) eng pKB: eng sKB: weit KSFE 2003, Seite 9

10 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

11 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; 2. Schritt im Prinzip genauso, auch ein sql-join KSFE 2003, Seite 11

12 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

13 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

14 ohne Konfidenzband (ln(LDH))
KSFE 2003, Seite 14

15 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

16 mit punktweisen KI (ln(LDH))
KSFE 2003, Seite 16

17 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

18 Beispiel: mit Konfidenzband (ln(LDH))
KSFE 2003, Seite 18

19 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

20 4 ROC (random) KSFE 2003, Seite 20

21 1 ROC, citype=area, lcl=_lclh, ucl=_uclh
KSFE 2003, Seite 21

22 2 ROC, citype=area , lcl=_lclh, ucl=_uclh
KSFE 2003, Seite 22

23 3 ROC, citype=area , lcl=_lclh, ucl=_uclh
KSFE 2003, Seite 23

24 4 ROC, citype=area , lcl=_lclh, ucl=_uclh
KSFE 2003, Seite 24

25 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

26 Literatur Daly L (1992). Simple SAS macro for the calculation of exact binomial and Poisson confidence limits. Comput. Biol. Med., 22: 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: Campbell G (1994). Advances in statistical methodology for the evaluation of diagnostic and laboratory tests. Statistics in Medicine 13: Jensen K, Müller HH, Schäfer H (2000). Regional confidence bands for ROC curves. Statistics in Medicine 19: KSFE 2003, Seite 26

27 Die SAS-Programme sind erhältlich bei sas@imbi.uni-heidelberg.de
Vielen Dank Diese Präsentation steht unter den „technical reports“ im Netz: Die SAS-Programme sind erhältlich bei KSFE 2003, Seite 27


Herunterladen ppt "Ein Konfidenzband für ROC-Kurven mit SAS"

Ähnliche Präsentationen


Google-Anzeigen