Konfidenzband mit SAS - Universität Heidelberg

Werbung
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
3 Dichtefunktionen von Normalverteilungen
0,006
Gesunde (K-)
0,005
cutoff
0,004
Spez
0,003
Leberfibrosen (K+)
0,002
Leberzirrhosen
0,001
Sens
0,000
KSFE 2003, Seite 4
Schätzung der Sensitivität und Spezifität
• K+ krank, K- gesund
• T+ positiver Test (Testwert>cutoff), T- negativer Test
K+
K-

T+
19
5
24
T-
6
30
36

25
35
60
• 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 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%
KSFE 2003, Seite 8
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)
KSFE 2003, Seite 9
Two-stage confidence bounds
•
Betrachte einen beliebigen cutoff; Se, Sp schon geschätzt
1. Berechne KI [Xp, Xp] für xp = cutoff der Spezifität p liefert:
Verwendung der K- Daten (nur der Gesunden) mittels
empirischer Quantilfunktion
2. 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
event
=
tests
=
outset2 =
= random,
diag,
RAN1 RAN2 RAN3 RAN4,
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 unter
den „technical reports“ im Netz:
http://www.biometrie.uni-heidelberg.de
Die SAS-Programme sind erhältlich bei
[email protected]
KSFE 2003, Seite 27
Herunterladen