Overlevelsesanalyse
Overlevelsesanalyse
Overlevelsesanalyse
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Ventetidsanalyse<br />
(“<strong>Overlevelsesanalyse</strong>”)<br />
Birthe Lykke Thomsen<br />
Det Nationale Forskningscenter for Arbejdsmiljø
Ventetidsanalyse Baggrund 2<br />
˚Areknuder i spiserøret er en alvorlig følgesygdom, der kan optræde<br />
hos patienter med levercirrose. Hvis en af ˚areknuderne brister, er<br />
patienten i alvorlig risiko for at dø af den indvendige blødning.<br />
Forskningsspørgsm˚al: Vi ønsker at undersøge, om<br />
skleroterapi kan bruges til at udskyde forekomsten af<br />
reblødning hos patienter med blødende ˚areknuder i<br />
spiserøret p.g.a. levercirrose.
Ventetidsanalyse Baggrund 3<br />
Data:<br />
Randomiseret studie af patienter, der har blødt én<br />
gang. Respons er, hvorn˚ar patienten rebløder.<br />
(EVASP, 1984)
Ventetidsanalyse Baggrund 4<br />
Særlige egenskaber ved denne slags data<br />
• Respons: tid til en given hændelse – her reblødning; men det<br />
kunne ogs˚a være død, sygdom, helbredelse, tilbagefald,<br />
graviditet, . . .<br />
– gør det særligt interessant at lave simple modeller for<br />
sandsynligheden for, at noget sker p˚a et givet tidspunkt<br />
forudsat, at personen p˚a det tidspunkt er under risiko for, at<br />
det sker<br />
– disse betingede sandsynligheder kaldes rater eller hazards<br />
– typisk kigger man efter multiplikative effekter p˚a raten – det<br />
kaldes Cox’s proportional hazards model<br />
– hvis (og kun hvis) raten er konstant, kan den estimeres ved<br />
antal hændelser/samlet risikotid<br />
(standard formel fra epidemiologi) og effekter estimeres ved<br />
Poisson regression (ikke med p˚a basal statistik kurset)
Ventetidsanalyse Baggrund 5<br />
Særlige egenskaber ved denne slags data fortsat<br />
• Forsinket indgang og censurering: Vi har kun en større eller<br />
mindre bid af hvert individs liv med i vores studie<br />
– forsinket indgang: nogle personer er ikke med fra start<br />
– censurering: for nogle af individerne ved vi kun, at det<br />
endnu ikke var sket, da de gik ud af studiet<br />
• og vi m˚a kun bruge den tid, hvor vi ville tælle<br />
hændelsen med, n˚ar/hvis den skete
Ventetidsanalyse Baggrund 6<br />
Særlige egenskaber ved denne slags data fortsat<br />
• Oftest ingen anelse om fordelingen af tid til hændelsen<br />
– den er i praksis stort set aldrig normalt fordelt<br />
(for censurerede, normalt fordelte data, f.eks. outcomes med<br />
detektionsgrænse, bruges PROC LIFEREG; se s. 61–79 i disse noter til<br />
selvstudium)<br />
– det kan nogle gange være rimeligt at tro, at raten er konstant<br />
– en forudsætning for mange epidemiologiske vurderinger<br />
• men det er altid en forudsætning, at censurering er uafhængig af<br />
outcome givet de kendte, forklarende variable – censurering m˚a<br />
ikke være prædiktivt for, om hændelsen ellers snart ville<br />
ske
Ventetidsanalyse Baggrund 7<br />
Særlige metoder kan h˚andtere denne slags data<br />
Fordi raten er i fokus, ser man p˚a hvert tidspunkt, et ad gangen, og<br />
opsummerer derefter i en<br />
• Kaplan-Meier kurve<br />
• kumuleret (summeret) rate<br />
• Cox regression
Ventetidsanalyse Kaplan-Meier 8<br />
Reblødning i de to grupper: Kaplan-Meier og kumuleret rate<br />
uden henholdsvis med punktvise konfidensgrænser
Ventetidsanalyse Kaplan-Meier 9<br />
Fortolkning af Kaplan-Meier og kumuleret rate<br />
Hvis hændelsen er “død af hvilken som helst ˚arsag”, s˚a viser<br />
Kaplan-Meier kurven overlevelsessandsynligheden som funktion af<br />
tiden t, dvs. hvor stor en andel, man kan regne med vil overleve<br />
mindst til tid t.<br />
Hvis hændelsen er hvad som helst andet, og død har medført<br />
censurering, s˚a giver Kaplan-Meier kurven ingen fornuftig mening!<br />
Den kumulerede rate har ingen direkte, intuitiv fortolkning. Den er<br />
ikke lig sandsynligheden for, at hændelsen sker inden det givne<br />
tidspunkt – men det er en tilnærmelse, n˚ar den kumulerede rate er<br />
lille. Hældningen p˚a den kumulerede rate er lig med selve raten.<br />
Rater og kumulerede rater er korrekte, ogs˚a n˚ar død medfører<br />
censurering!
Ventetidsanalyse Kaplan-Meier 10<br />
Reblødning i de to grupper – standard plots<br />
Trappekurve: et trin ned hver gang,<br />
der sker en hændelse.<br />
S(T ) ≈ exp(−R(T ))<br />
R(T ) ≈ − ln(S(T ))<br />
(Stykkevis) konstant rate giver<br />
(stykkevis) lineær kumuleret rate R(t).<br />
For tidsintervaller med lineær R(t) kan<br />
selve raten estimeres som forskellen<br />
mellem startværdi og slutværdi for<br />
R(t) divideret med længden af<br />
tidsintervallet.<br />
Høj rate=stejl hældning,<br />
lav rate=flad kurve.
Ventetidsanalyse Kaplan-Meier 11<br />
Beregning af Kaplan-Meier og kumuleret rate<br />
(alt under bølgelinien er skjult for os, og kun de grønne personer er med fra start)
Ventetidsanalyse Kaplan-Meier 12<br />
Beregning af Kaplan-Meier og kumuleret rate<br />
P˚a en given dag t observerer vi for hver gruppe g (kaldes<br />
sædvanligvis “stratum”, flertal “strata”, i ventetidsanalyse)<br />
1. ng(t) individer totalt<br />
2. mg(t) individer, der begynder at rebløde<br />
hvilket giver den daglige reblødningsrate<br />
rg(t) = mg(t)<br />
ng(t)<br />
Kaplan-Meier estimatet Sg(T ) p˚a dag T for gruppe g beregnes ved<br />
at gange leddene 1 − rg(t) sammen for alle dage t op til og med dag T .<br />
Nelson-Aalen estimatet for den kumulerede reblødningsrate Rg(T )<br />
p˚a dag T for gruppe g beregnes ved at lægge de daglige<br />
reblødningsrater sammen for alle dage t op til og med dag T .
Ventetidsanalyse Kaplan-Meier 13<br />
Respons:<br />
Estimation af Kaplan-Meier kurver v.h.a. PHREG<br />
“Det tidspunkt, hændelsen sker”; men det sker<br />
ikke for alle, s˚a det er nødvendigt at bruge en<br />
kombination af 2 responsvariable:<br />
“tid” og “hvad skete der”.<br />
Datasættet SKL indeholder (bl.a.)<br />
DAY: tid for udgang<br />
BLD:<br />
1 for reblødning,<br />
0 for censurering<br />
SKLERO:<br />
1 for skleroterapigruppen,<br />
0 for den medicinsk behandlede gruppe<br />
PROC PHREG DATA=skl NOPRINT;<br />
MODEL Day*Bld(0) = ;<br />
STRATA Sklero;<br />
BASELINE<br />
RUN;<br />
OUT=km<br />
SURVIVAL=KMcurves<br />
LOWER=LowerBound<br />
UPPER=UpperBound<br />
/ METHOD=PL CLTYPE=LOGLOG;<br />
SYMBOL1 C=BLACK V=NONE I=STEPLJ;<br />
SYMBOL2 C=RED V=NONE I=STEPLJ;<br />
PROC GPLOT DATA=km;<br />
PLOT kmcurves*day=sklero;<br />
RUN;
Ventetidsanalyse Kaplan-Meier 14<br />
Ekstra SAS kode for at f˚a konfidensgrænser med fra PHREG<br />
SAS kode for nødvendige<br />
datamodifikationer:<br />
DATA km; SET km;<br />
IF sklero=0 THEN DO;<br />
type=1; curve=kmcurves; OUTPUT;<br />
type=2; curve=lowerbound; OUTPUT;<br />
type=3; curve=upperbound; OUTPUT;<br />
END;<br />
IF sklero=1 THEN DO;<br />
type=4; curve=kmcurves; OUTPUT;<br />
type=5; curve=lowerbound; OUTPUT;<br />
type=6; curve=upperbound; OUTPUT;<br />
END;<br />
RUN;<br />
Eksempel p˚a kald af GPLOT:<br />
PROC GPLOT DATA=km;<br />
PLOT curve*day=type<br />
/ HAXIS=AXIS1 VAXIS=AXIS2 NOLEGEND;<br />
SYMBOL1 R=1 C=BLACK V=NONE I=STEPLJ L=1 W=5;<br />
SYMBOL2 R=2 C=BLACK V=NONE I=STEPLJ L=33;<br />
SYMBOL3 R=1 C=RED V=NONE I=STEPLJ L=1 W=5;<br />
SYMBOL4 R=2 C=RED V=NONE I=STEPLJ L=35;<br />
AXIS1 LABEL = (’Dage fra randomisering’);<br />
AXIS2 LABEL = (A=90 R=0 ’S(t) = Kaplan-Meier’);<br />
RUN;<br />
(Alternativ SAS procedure.<br />
PROC LIFETEST DATA=skl PLOTS=(S) CONFTYPE=loglog; TIME day*bld(0); STRATA sklero; RUN;<br />
NB: Den duer ikke ved forsinket indgang!)
Ventetidsanalyse Log rank 15<br />
Log rank test (svarende til en-sidet variansanalyse)<br />
Grupper kan sammenlignes v.h.a. et log rank test.<br />
Princip (for 2 grupper):<br />
Vi forudsætter (“nul-hypotesen”), at der ingen forskel er p˚a de 2<br />
grupper, og betinger for hvert ’døds’tidspunkt med<br />
• det observerede totale antal ’døde’ m(ti) (= m1(ti) + m2(ti))<br />
• antallet af personer under risiko p˚a det givne tidspunkt i hver af<br />
de 2 grupper, n1(ti) og n2(ti) (n1(ti) + n2(ti) = n(ti))<br />
For gruppe 1 kan vi s˚a for hvert ’døds’tidspunkt ti beregne<br />
• det forventede antal ’døde’ E1(ti) = m(ti) · n1(ti)<br />
n(ti)<br />
• variansen p˚a antallet af ’døde’<br />
V (ti) = n1(ti)<br />
n(ti)<br />
· n2(ti)<br />
n(ti)<br />
· m(ti)·(n(ti)−m(ti))<br />
(n(ti)−1)
Ventetidsanalyse Log rank 16<br />
Log rank test fortsat<br />
De forventede antal ’døde’ E1(ti), henholdsvis varianserne V (ti), adderes<br />
for alle ’døds’tidspunkter ti til E1, henholdsvis V . Desuden tælles det<br />
totale antal observerede ’døde’ M1 i gruppe 1.<br />
Log rank teststørelsen<br />
Log Rank Chi Square = (M1 − E1) 2<br />
er χ 2 -fordelt med 1 frihedsgrad.<br />
Tilnærmelse, der ogs˚a kan bruges for mere end 2 grupper, her G grupper:<br />
G∑ (Mg − Eg)<br />
Log Rank Chi Square ≈<br />
2<br />
,<br />
er χ 2 -fordelt med G − 1 frihedsgrader (bemærk, at alle grupper bidrager<br />
til summen).<br />
g=1<br />
V<br />
Eg<br />
,
Ventetidsanalyse Styrkeberegning 17<br />
Styrkeberegning for ventetidsdata<br />
Summen af varianserne, V , brugt ved beregningen af log rank<br />
teststørrelsen, bruges ogs˚a ved styrkeberegninger:<br />
Hvis man ønsker at kunne p˚avise en rate ratio p˚a RR for aktiv versus<br />
kontrol med et tosidet signifikansniveau p˚a α og en styrke p˚a 1−β, s˚a skal<br />
man inkludere tilstrækkeligt mange personer til, at V ≥<br />
( Uα/2 +U β<br />
ln(RR)<br />
(Ux=(1−x)-fraktilen i en normal fordeling, eksempelvis U 2.5%=1.96,<br />
U 5%=1.645, U 10%=1.282, U 20%=0.842)<br />
Hvis randomiseringsratioen (aktiv:kontrol) er a:1, og hændelsen er sjælden,<br />
er V ≈ a<br />
(a+1) 2 · M, hvor M=total antal hændelser, dvs. der skal inkluderes<br />
tilstrækkeligt mange personer til, at<br />
M ≥<br />
(a + 1)2<br />
a<br />
·<br />
( Uα/2 + Uβ<br />
ln(RR)<br />
) 2<br />
) 2<br />
.
Ventetidsanalyse Log rank 18<br />
Log rank test ved hjælp af PROC PHREG<br />
Log rank teststørrelsen kan beregnes som score-teststørrelsen i<br />
PROC PHREG med brug af option TIES=DISCRETE:<br />
PROC PHREG DATA=skl;<br />
MODEL day*bld(0) = sklero / TIES=DISCRETE;<br />
RUN;<br />
Hvis der er mere end 2 grupper, er det nødvendigt at bruge et CLASS statement,<br />
eksempelvis<br />
PROC PHREG DATA=skl;<br />
CLASS sklero;<br />
MODEL day*bld(0) = sklero / TIES=DISCRETE;<br />
RUN;
Ventetidsanalyse Log rank 19<br />
Dele af output fra PROC PHREG<br />
The PHREG Procedure<br />
Model Information<br />
Data Set WORK.SKL<br />
Dependent Variable Day<br />
Censoring Variable Bld<br />
Censoring Value(s) 0<br />
Ties Handling DISCRETE<br />
Summary of the Number of Event and Censored Values<br />
Percent<br />
Total Event Censored Censored<br />
187 91 96 51.34<br />
Model Fit Statistics<br />
Without With<br />
Criterion Covariates Covariates<br />
-2 LOG L 738.406 737.488<br />
: : :<br />
Testing Global Null Hypothesis: BETA=0<br />
Test Chi-Square DF Pr > ChiSq<br />
Likelihood Ratio 0.9175 1 0.3381<br />
Score 0.9174 1 0.3382<br />
Wald 0.9124 1 0.3395
Ventetidsanalyse Log rank 20<br />
Log rank teststørrelse=0.9174, p=0.3382, findes ud for “Score”<br />
under “Testing Global Null Hypothesis: BETA=0”<br />
Output fra PROC PHREG fortsat<br />
Analysis of Maximum Likelihood Estimates<br />
Parameter Standard Hazard<br />
Variable DF Estimate Error Chi-Square Pr>ChiSq Ratio<br />
Sklero 1 -0.20261 0.21212 0.9124 0.3395 0.817<br />
Log rank testet er d˚arligt til at detektere forskelle, der<br />
ændres markant med tiden, som en d˚arligere<br />
korttidsprognose samtidigt med en bedre langtidsprognose!
Ventetidsanalyse Opsummering 1. del 21<br />
Ventetidsdata karakteristika:<br />
Opsummering 1. del<br />
• “et tidspunkt ad gangen”: vi laver modeller for raten<br />
• censurering og forsinket indgang<br />
• ingen fordelingsantagelser<br />
Typisk grafik:<br />
• Kaplan-Meier (pas p˚a!)<br />
• kumuleret rate – tjek for stykkevis linearitet<br />
Sammenligning af grupper (det, der svarer til ensidet<br />
variansanalyse):<br />
• log rank test – d˚arligt til at detektere tidsvarierende effekter
Ventetidsanalyse Cox model 22<br />
Proportionale rater<br />
Kvantificering af behandlingseffekten:<br />
r(t; sklero) = r(t; medicinsk) · B<br />
Effekt af ascites (væske i bughulen):<br />
r(t; ascites) = r(t; ingen ascites) · A<br />
Kombineret:<br />
r(t; sklero, ascites) = r(t; medicinsk, ascites) · B<br />
= r(t; medicinsk, ingen ascites) · A · B<br />
= r(t; medicinsk, ingen ascites) · exp(a + b)<br />
med a=ln(A) og b=ln(B).<br />
0 ∼ ingen ascites<br />
Sættes X1 = {<br />
1 ∼ ascites<br />
s˚a er<br />
0 ∼ og X2 = { medicinsk<br />
1 ∼ skleroterapi<br />
r(t; sklero, ascites) = r0(t) · exp(aX1 + bX2)
Ventetidsanalyse Cox model 23<br />
Cox’s regression model<br />
Denne model kaldes Cox’s regression model:<br />
r(t; X1, X2, . . . , Xk) = r0(t) · exp(b1X1 + b2X2 + . . . + bkXk)<br />
Summen i eksponenten, b1X1 + b2X2 + . . . + bkXk, kaldes ofte det<br />
“prognostiske indeks”.<br />
Hvis vi logaritmetransformerer og skriver b0(t) for ln(r0(t)), f˚as<br />
noget, der ligner de sædvanlige regressionsmodeller:<br />
ln(r(t; X1, X2, . . . , Xk)) = b0(t) + b1X1 + b2X2 + . . . + bkXk<br />
Bemærk, at logaritmen til den underliggende rate r0(t) svarer til den<br />
sædvanlige intercept parameter (der alts˚a afhænger af tiden her)!
Ventetidsanalyse Cox model 24<br />
En positiv værdi for en regressionsparameter bj betyder, at høje<br />
værdier af den tilsvarende kovariat Xj hører sammen med høj rate:<br />
For uønskede hændelser betyder det, at høje værdier forværrer<br />
prognosen, s˚a vær meget forsigtig med at bruge ordene<br />
“positiv/negativ” om effekter, brug eksempelvis “gavnlig/skadelig”.
Ventetidsanalyse Cox model 25<br />
PROC PHREG DATA=skl;<br />
MODEL day*bld(0) = ascites bilirub sklero / RISKLIMITS;<br />
RUN;<br />
---------------------------------------------------------<br />
Summary of the Number of Event and Censored Values<br />
Percent<br />
Total Event Censored Censored<br />
177 87 90 50.85<br />
Parameter Standard<br />
Variable DF Estimate Error Chi-Square Pr>ChiSq<br />
Ascites 1 0.18072 0.22721 0.6326 0.4264<br />
Bilirub 1 0.00476 0.00112 18.1500
Ventetidsanalyse Cox model 26<br />
Test af kovariater i Cox modellen ved Wald’s test<br />
Wald’s test af en enkelt kovariat ses direkte i output, f.eks. p=.4264 for<br />
ascites.<br />
Wald’s test for flere kovariater af gangen kan udføres ved at tilføje et TEST<br />
statement:<br />
PROC PHREG DATA=skl;<br />
MODEL day*bld(0) = ascites bilirub sklero / RISKLIMITS;<br />
Asc_Bili: TEST ascites=0, bilirub=0;<br />
RUN;<br />
hvilket giver følgende ekstra output:<br />
Linear Hypotheses Testing Results<br />
Wald<br />
Label Chi-Square DF Pr > ChiSq<br />
Asc_Bili 21.2800 2
Ventetidsanalyse Specielle aspekter ved Cox modellen 27<br />
Forklarende variable i ventetidsanalyser<br />
En variabel kan indg˚a i modellen p˚a to forskellige m˚ader:<br />
• som en regressionsvariabel (det kan være en lineær variabel eller<br />
en CLASS variabel)<br />
• som en stratifikationsvariabel<br />
De to muligheder er essentielt forskellige, og valget har ikke alene<br />
konsekvenser for b˚ade modellering og fortolkning af den aktuelle<br />
variabel, men p˚avirker ogs˚a estimationen af effekten af de øvrige<br />
variable!
Ventetidsanalyse Specielle aspekter ved Cox modellen 28<br />
Estimation i en Cox model<br />
For den dag tj, hvor patient j reblødte, beregner vi sandsynligheden<br />
for, at det var netop patient j, der reblødte, betinget med, at der<br />
“skulle” ske en reblødning den dag i det stratum, som patient j<br />
tilhører:<br />
exp(b · Xj(tj))<br />
∑<br />
.<br />
exp(b · Xi(tj))<br />
i med i ℜj<br />
Her betegner ℜj alle de patienter (i’erne), som var under risiko for<br />
reblødning i det samme stratum som j p˚a netop den dag tj,<br />
hvor j reblødte.<br />
Disse bidrag ganges sammen for alle reblødningstidspunkter, og b<br />
estimeres som den værdi, ˆ b, som maksimerer dette totale produkt,<br />
der kaldes “Cox’s partielle likelihood”.
Ventetidsanalyse Specielle aspekter ved Cox modellen 29<br />
Forklarende variable i ventetidsanalyser: Regressionsvariable<br />
Regressionsvariable indg˚ar udelukkende via eksponenten, exp(bX), og<br />
ikke i den underliggende rate r0(t). Med andre ord, raterne antages<br />
at være proportionale for forskellige værdier af variablen, X:<br />
r(t; X = 1) = r0(t) · exp(b) og<br />
r(t; X = 2) = r0(t) · exp(2b) = r(t; X = 1) · exp(b)<br />
Konsekvens:<br />
1. effekten kan beskrive med et eneste tal (exp(b)),<br />
2. men dette tal er kun meningsfuldt, hvis antagelsen om<br />
proportionale rater holder (tilnærmelsesvis).
Ventetidsanalyse Specielle aspekter ved Cox modellen 30<br />
Forklarende variable i ventetidsanalyser: Stratifikationsvariable<br />
For stratifikationsvariable afhænger den underliggende rate af hvilken<br />
værdi, variablen har, dvs. forskellen p˚a individer med X = 1 og<br />
individer med X = 2 ændres med tiden:<br />
r(t; X = 1) = r1(t) og r(t; X = 2) = r2(t)<br />
Konsekvens:<br />
1. vi kan ikke beskrive effekten med et enkelt tal,<br />
2. stratifikationsvariable er nødt til at være kategoriske variable<br />
med et begrænset antal forskellige værdier.
Ventetidsanalyse Specielle aspekter ved Cox modellen 31<br />
Statifikation versus Interaktion<br />
Stratifikation er ikke det samme som interaktion! Effekten af<br />
stratifikationsvariablen ændres med tiden, men effekten afhænger ikke<br />
af de øvrige variable, og deres effekter antages at være identiske i de<br />
forskellige strata — i modsætning til den epidemiologiske brug af<br />
udtrykket “stratificerede analyser”, som betyder helt separate<br />
analyser for hver værdi af stratifikationsvariablen!!<br />
Interaktion betyder, at effekten af en variabel, for eksempel bilirubin,<br />
afhænger af værdien af en anden variabel, for eksempel behandling,<br />
men effekterne ændres ikke med tiden.<br />
(Stratifikation og interaktion kan sagtens kombineres.)
Ventetidsanalyse Transformation af regressionsvariable 32<br />
Behov for transformation af regressionsvariable<br />
• Kriterier og numeriske vurderinger er som i enhver anden<br />
statistisk model; men<br />
• grafiske vurderinger er mere kompliceret end for normalt fordelte<br />
outcomes
Ventetidsanalyse Transformation af regressionsvariable 33<br />
Behov for transformation af regressionsvariable<br />
Kriterier for valg af parametrisering/transformation<br />
• Biologisk/medicinsk begrundelse (bedst, men sjældent muligt).<br />
– Raten vokser eksponentielt med utransformerede kovariater,<br />
mens en logaritmetransformation af en kovariat betyder, at<br />
raten vokser med en fast faktor eller procentdel, hver gang<br />
kovariaten vokser med f.eks. 10%.<br />
• Transformationer brugt af andre (sammenlignelighed).<br />
• Den “bedst mulige” transformation for de aktuelle data — pas p˚a:<br />
signifikansen vil blive overvurderet, og man kan ikke g˚a ud fra, at<br />
den samme transformation er den mest optimale i andre data —<br />
men det kan være et fornuftigt kriterium for konfounderne.
Ventetidsanalyse Transformation af regressionsvariable 34<br />
Behov for transformation af regressionsvariable<br />
Kriteria for valg af parametrisering/transformation fortsat<br />
• Se p˚a fordelingen af den forklarende variabel: Nogle f˚a ekstreme<br />
værdier af den forklarende variabel kan have urimeligt stor<br />
indflydelse p˚a konklusionerne, medmindre variablen transformeres<br />
nogle f˚a ekstremt høje → loga(x),<br />
nogle f˚a ekstremt lave → exp(x/c) (sjældent brugt)].<br />
Det bør altid tjekkes, om den valgte transformation “gør<br />
vold p˚a data”.<br />
Ved at vælge XX = log(x)/ log(1.1) som kovariat, f˚ar man, at exp( ˆ b)<br />
(Hazard Ratio) direkte estimerer den faktor, som raten skal ganges med<br />
for en 10% forskel i kovariaten.
Ventetidsanalyse Transformation af regressionsvariable 35<br />
Transformation af serum bilirubin<br />
PROC UNIVARIATE DATA=skl PCTLDEF=3; * Tjek, om fordelingen er skæv;<br />
VAR bilirub;<br />
HISTOGRAM / HEIGHT=5;<br />
RUN;
Ventetidsanalyse Transformation af regressionsvariable 36<br />
Transformation af serum bilirubin<br />
DATA skl; SET skl; log2Bilirub=LOG2(bilirub); RUN;<br />
PROC UNIVARIATE DATA=skl PCTLDEF=3;<br />
VAR log2Bilirub;<br />
HISTOGRAM / HEIGHT=5;<br />
RUN;
Ventetidsanalyse Transformation af regressionsvariable 37<br />
Behov for transformation af regressionsvariable<br />
• Simpelt, numerisk test: Inkluder b˚ade en utransformeret og<br />
en transformeret version af variablen samtidigt – f.eks. X og<br />
log2(X) – for at se, om der er et klart svar p˚a hvilken, der er den<br />
bedste prediktor. Kræver en fornuftigt valg af transformation –<br />
logaritmetransformation er ofte et oplagt valg, fordi det svarer til<br />
stabil effekt af relative forskelle, hvilket ofte er det intuitivt<br />
naturlige valg.<br />
• Mere kompliceret numerisk og grafisk test: Lineær spline<br />
(se eksempelvis Greenland 1995, Epidemiology, s. 356-365).<br />
Eksempel til selvstudium for de særligt eventyrlystne SAS-hajer<br />
sidst i disse noter (fra s. 80).
Ventetidsanalyse Transformation af regressionsvariable 38<br />
Plot af sammenhængen med bilirubin som en lineær spline
Ventetidsanalyse Transformation af regressionsvariable 39<br />
Transformation af serum bilirubin<br />
Inklusion af serum bilirubin utransformeret s˚avel som<br />
logaritmetransformeret:<br />
PROC PHREG DATA=skl;<br />
MODEL day*bld(0) = sklero bilirub log2bilirub;<br />
RUN;<br />
-----------------------------------------------------<br />
Parameter Standard<br />
Variable DF Estimate Error Chi-Square Pr>ChiSq<br />
Sklero 1 -0.18290 0.21596 0.7172 0.3971<br />
Bilirub 1 -0.0001959 0.00231 0.0072 0.9325<br />
log2Bilirub 1 0.48004 0.18152 6.9939 0.0082<br />
NB: De bilirubin-relaterede estimater kan ikke umiddelbart fortolkes<br />
(“ændring i raten, n˚ar bilirubin fordobles samtidigt med, at bilirubin<br />
holdes fast . . . ”).<br />
Hvis de begge er signifikante (og betydelige), og det ikke hjælper at tilføje andre<br />
forklarende variable, s˚a kan effekten bedst illustreres i en graf.
Ventetidsanalyse Transformation af regressionsvariable 40<br />
Estimation med log2(serum bilirubin)<br />
PROC PHREG DATA=skl;<br />
MODEL day*bld(0) = sklero log2bilirub / RISKLIMITS;<br />
RUN;<br />
---------------------------------------------------<br />
Parameter Standard<br />
Variable DF Estimate Error Chi-Square Pr>ChiSq<br />
Sklero 1 -0.18373 0.21575 0.7252 0.3944<br />
log2Bilirub 1 0.46716 0.09706 23.1656
Ventetidsanalyse Opsummering 2. del 41<br />
Opsummering 2. del<br />
Standard valg af regressionsmodel:<br />
• Cox’s proportional hazards regressionsmodel<br />
Forskellige m˚ader variable kan indg˚a p˚a:<br />
• Via det prognostiske index<br />
– lineære variable<br />
– klassevariable<br />
– interaktion<br />
• Stratifikation<br />
Transformation af regressionsvariable:<br />
• Kriterier for valg af transformation<br />
• Simpelt numerisk test<br />
• Grafisk test er mere besværligt
Ventetidsanalyse Særlig modelkontrol for Cox modellen 42<br />
Speciel modelkontrol i Cox modellen<br />
Cox modellen forudsætter proportionale rater,<br />
R(t; X) = R0(t) exp(bX), og dermed<br />
ln(R(t; X)) = ln(R0(t)) + bX<br />
Grafisk tjek af proportionale rater: Stratificer for hver variabel, en ad<br />
gangen, og plot<br />
ln(R stratum (t)) = ln( − ln(S stratum (t)) )<br />
som funktion af tiden. Kurverne skal være nogenlunde parallelle.
Ventetidsanalyse Særlig modelkontrol for Cox modellen 43<br />
Plot af log(kumuleret rate) for grafisk tjek af proportionalitet
Ventetidsanalyse Særlig modelkontrol for Cox modellen 44<br />
SAS kode til grafisk tjek af proportionale rater<br />
TITLE ’Graphical check of proportionality’;<br />
PROC PHREG DATA=skl NOPRINT;<br />
MODEL day*bld(0) = log2bilirub;<br />
STRATA sklero;<br />
BASELINE OUT=check LOGLOGS=LCumRate LOGSURV=CumRate<br />
RUN;<br />
/ METHOD=CH;<br />
PROC GPLOT DATA=check; WHERE 0
Ventetidsanalyse Særlig modelkontrol for Cox modellen 45<br />
Numerisk test af proportionalitet ved brug af tidsafhængige variable<br />
Vælg passende opdeling (her 14 og 105 dage), hvor rate ratioen tillades at<br />
være forskellig for de forskellige tidsintervaller. Dette gøres v.h.a. dummy<br />
variable (her SKLFRA14 og SKLFRA105). Proportionalitetsantagelsen testes<br />
ved at teste, om disse dummy-variable er signifikante:<br />
PROC PHREG DATA=skl;<br />
MODEL day*bld(0) = log2bilirub sklero SKLfra14 SKLfra105;<br />
IF sklero=1 AND day>=14 THEN SKLfra14=1; ELSE SKLfra14=0;<br />
IF sklero=1 AND day>=105 THEN SKLfra105=1; ELSE SKLfra105=0;<br />
TestProp: TEST SKLfra14, SKLfra105;<br />
RUN;<br />
For hvert reblødningstidspunkt beregnes variablene inden i PHREG for hver enkelt af de<br />
patienter, der er under risiko p˚a netop det tidspunkt (i’erne i nævneren p˚a s. 28). I<br />
beregningerne for hver enkelt patient i bruger SAS de værdier, som variablene (her<br />
sklero) har for den enkelte patient i, undtagen for tids-responsvariablen (her day),<br />
som er lig det aktuelle reblødningstidspunkt tj (reblødningstidspunktet for patient j<br />
p˚a s. 28)
Ventetidsanalyse Særlig modelkontrol for Cox modellen 46<br />
Del af output fra PROC PHREG<br />
Parameter Standard<br />
Variable DF Estimate Error Chi-Square Pr>ChiSq<br />
log2Bilirub 1 0.45833 0.09654 22.5398 ChiSq<br />
TestProp 1.9445 2 0.3782
Ventetidsanalyse Tidsskalaer 47<br />
Virkelighedstjek!<br />
Tid fra stop af seneste blødning har stor betydning for<br />
sandsynligheden for at begynde at rebløde her og nu<br />
• dels er det ikke muligt at rebløde, mens den foreg˚aende blødning<br />
stadig er i gang,<br />
• dels mindskes sandsynligheden for at rebløde markant med, hvor<br />
længe det er siden, man blødte sidst.<br />
Vi har alts˚a to komplikationer:<br />
1. Patienterne er ikke under risiko fra tid 0 for at blive observeret<br />
med start p˚a en reblødning i vores studie.<br />
2. ’Tid’ er ikke bare tid – der er flere tidsskalaer at vælge imellem.
Ventetidsanalyse Tidsskalaer 48<br />
Valg af tidsskala<br />
Hidtil har vi brugt tid siden randomisering som tid i Cox modellen –<br />
men reblødningsraten afhænger langt mere af, hvor længe siden det<br />
er, patienten holdt op med at bløde.<br />
• Fordelen ved Cox modellen er, at den tillader en vilk˚arlig<br />
sammenhæng mellem den underliggende rate og den valgte<br />
tidsskala.<br />
• Ratioen mellem raterne for to vilk˚arlige patienter i samme<br />
stratum p˚a et hvilket som helst tidspunkt afhænger kun af<br />
regressionsvariablene.<br />
• Egenskaber ved en relevant tidsskala: Der skal være en god grund<br />
til at tro, at raten ændres med tid siden tid 0 p˚a samme m˚ade for<br />
alle individer i samme stratum.
Ventetidsanalyse Tidsskalaer 49<br />
Eksempler p˚a tidsskalaer<br />
• alder<br />
• kalendertid<br />
Tidsskalaer<br />
• tid siden sygdommen begyndte<br />
• tid fra en eller anden hændelse af stor betydning for raten (her<br />
tid fra stop af foreg˚aende blødning)<br />
• tid fra randomisering (kan være problematisk)<br />
Den eneste forskel for det enkelte individ er definitionen af tid=0,<br />
men det kan gøre en væsentlig forskel, fordi det kan have stor<br />
betydning for hvem, der er “under risiko” i studiet, n˚ar den hændelse,<br />
der er i fokus, sker for et individ.
Ventetidsanalyse Tidsskalaer 50<br />
Forskellige tidsskalaer<br />
Kalendertid: Tid siden indgang i studiet:
Ventetidsanalyse Tidsskalaer 51<br />
Eksempler p˚a forskellige tidsskalaer ved reblødning<br />
Tid siden randomisering Tid siden slut p˚a første blødning:
Ventetidsanalyse Tidsskalaer 52<br />
Valg af tidsskala<br />
Vælg den tidsskala, hvor raten varierer mest (eller mest ujævnt) med tiden<br />
inden for det tidsinterval, hvor man har observationer!<br />
Andre tidsskalaer kan indg˚a via regressionsvariable i Cox modellen og/eller<br />
via stratifikation. Hvis betydningen af en alternativ tidsskala ikke følger<br />
mønstret “en m˚aned mere betyder altid det samme”, s˚a er det nødvendigt<br />
enten at stratificere eller at bruge tidsafhængige regressionsvariable (se det<br />
numeriske test for proportionalitet s. 45 for et eksempel p˚a SAS<br />
programmering med tidsafhængige variable).
Ventetidsanalyse Tidsskalaer 53<br />
Forsinket indgang<br />
˚Arsag: Der skal ske et eller andet bestemt for individerne, før det ville<br />
tælle med i vores analyse, hvis de oplevede vores “outcome” hændelse.<br />
Dette sker p˚a forskellige tidspunkter for forskellige individer, og det er ikke<br />
altid sket før tid 0 i den valgte tidsskala.<br />
Eksempler:<br />
• for nogle patienter sker randomiseringen efter tid 0 i den valgte<br />
tidsskala<br />
• i analyser med tid siden randomisering kan patienterne ikke rebløde,<br />
før de er holdt op med den første blødning<br />
• nogen af de forklarende variable kræver en speciel undersøgelse, og<br />
nogen af patienterne er nødt til at vente p˚a denne undersøgelse<br />
• for at blive inkluderet skal personerne være i live og “raske” ved<br />
studiestart
Ventetidsanalyse Tidsskalaer 54<br />
Forsinket indgang i SAS<br />
PROC PHREG DATA=skl;<br />
MODEL tNotBld*bld(0) = log2bilirub sklero<br />
/ ENTRY=t_entry RISKLIMITS;<br />
RUN;<br />
---------------------------------------------<br />
Model Information<br />
Data Set WORK.SKL<br />
Entry Time Variable t_entry<br />
Dependent Variable tNotBld<br />
Censoring Variable Bld<br />
Censoring Value(s) 0<br />
Ties Handling BRESLOW<br />
Percent<br />
Total Event Censored Censored<br />
149 86 63 42.28<br />
:<br />
Analysis of Maximum Likelihood Estimates<br />
Parameter Standard Hazard 95% Hazard Ratio<br />
Variable DF Estimate Error Chi-Square Pr>ChiSq Ratio Confidence Limits<br />
log2Bilirub 1 0.43431 0.09580 20.5534
Ventetidsanalyse Konkurrerende afgangs˚arsager 55<br />
Virkelighedstjek 2!<br />
N˚ar vi overhovedet interesserer os for at mindske reblødningsraten, er<br />
det fordi reblødning er den væsentligste døds˚arsag blandt patienter,<br />
der en gang har blødt fra ˚areknuder i spiserøret.<br />
Men patienterne kan jo stadig dø, inden de n˚ar at rebløde!
Ventetidsanalyse Konkurrerende afgangs˚arsager 56<br />
Konkurrerende afgangs˚arsager<br />
Individerne kan udg˚a af flere ˚arsager, her reblødning eller død.<br />
Konsekvenser:<br />
• Teknisk: Andre afgangs˚arsager end den, der er i fokus,<br />
behandles som censureringer<br />
• Fortolkning: Raten og de estimerede effekter har den samme<br />
fortolkning som før –<br />
MEN<br />
• Kaplan-Meier kurven kan ikke fortolkes som sandsynligheden for<br />
at undg˚a den hændelse, der er i fokus<br />
Hvis flere slags hændelser er af interesse (som her), s˚a analyseres hver<br />
enkelt slags hændelse separat med de andre slags hændelser<br />
behandlet som censureringer.
Ventetidsanalyse Konkurrerende afgangs˚arsager 57<br />
Separate analyser af de to hændelser<br />
PROC PHREG DATA=skl;<br />
MODEL tNotBld*bld(0)=sklero log2bilirub ascites / ENTRY=t_entry RL;<br />
RUN;<br />
Parameter Standard Hazard 95% Hazard Ratio<br />
Variable DF Estimate Error Chi-Sq. Pr>ChiSq Ratio Confidence Limits<br />
Sklero 1 -0.19124 0.22021 0.7542 0.3851 0.826 0.536 1.272<br />
log2Bilirub 1 0.42240 0.09677 19.0542 ChiSq Ratio Confidence Limits<br />
Sklero 1 0.17358 0.35173 0.2435 0.6217 1.190 0.597 2.370<br />
log2Bilirub 1 0.50353 0.14482 12.0890 0.0005 1.655 1.246 2.198<br />
Ascites 1 0.93763 0.38166 6.0354 0.0140 2.554 1.209 5.396
Ventetidsanalyse Konkurrerende afgangs˚arsager 58<br />
Sandsynligheden for at være i live uden reblødning<br />
Hvis de forskellige hændelser kombineres, f˚as en vurdering af effekten<br />
af de forklarende variable p˚a tid til den første af disse hændelser sker:<br />
DATA skl; SET skl;<br />
status = bld + 2*dead;<br />
RUN;<br />
PROC PHREG DATA=skl;<br />
MODEL tNotBld*status(0) = sklero log2bilirub ascites / ENTRY=t_entry;<br />
RUN;<br />
--------------------------------------------------------------------<br />
Parameter Standard Hazard 95% Hazard Ratio<br />
Variable DF Estimate Error Chi-Sq. Pr>ChiSq Ratio Confidence Limits<br />
Sklero 1 -0.08715 0.18555 0.2206 0.6386 0.917 0.637 1.319<br />
log2Bilirub 1 0.44557 0.08044 30.6819
Ventetidsanalyse Konkurrerende afgangs˚arsager 59<br />
Konkurrerende afgangs˚arsager<br />
Sandsynligheden for, at reblødningen sker efter præcis t dage, er lig<br />
med<br />
S(t; X) · r(t; X)<br />
hvor S(t; X) er sandsynligheden for at være i live til dag t uden at<br />
have reblødt inden da.<br />
Konsekvens:<br />
• Faktorer, som ikke p˚avirker raten for en bestemt slags hændelse,<br />
kan have en stærk effekt p˚a sandsynligheden for at opleve<br />
hændelsen via en effekt p˚a raten for en konkurrerende hændelse<br />
og dermed en effekt p˚a sandsynligheden for at være under risiko.<br />
• Effekten p˚a sandsynligheden for at opleve hændelsen kan i<br />
ekstreme tilfælde være modsat rettet effekten p˚a selve raten.
Ventetidsanalyse Opsummering 3. del 60<br />
Modelkontrol af Cox model:<br />
• proportionale rater<br />
Opsummering 3. del<br />
– grafisk vurdering ved plot af log-transformeret kumuleret rate<br />
– numerisk test med tidsafhængige variable<br />
Tidsskala:<br />
• Valg af tidsskala<br />
• Forsinket indgang<br />
Konkurrerende afgangs˚arsager:<br />
• separate analyser med andre slags hændelser som censurering<br />
• effekten p˚a sandsynligheden kan være meget anderledes end<br />
effekten p˚a raten
Censurerede, normalt fordelte data 61<br />
Censurerede, normalt fordelte data<br />
Eksempel med SAS programbidder<br />
– til selvstudium –
Censurerede, normalt fordelte data (data med detektionsgrænse) 62<br />
Data med detektionsgrænse<br />
“Venstrecensurering”, dvs. man ved bare, at værdien er under en<br />
given grænse:<br />
Baggrundsstøj eller begrænsning i m˚aleudstyrets/assayets følsomhed<br />
har medført, at man ikke kan skelne mellem meget lave værdier.<br />
Man tør godt gøre antagelser om fordelingen af de sande m˚alinger,<br />
eksempelvis at residualerne er normalt fordelt (eventuelt efter<br />
logaritmetransformation af m˚alingerne).
Censurerede, normalt fordelte data (data med detektionsgrænse) 63<br />
Eksempel p˚a venstrecensurerede data<br />
M˚alinger af NO2 indendørs og udendørs (Raaschou-Nielsen et al., 1997)<br />
Vi har 85 sæt af samhørende m˚al for NO2<br />
1. udenfor gadedøren<br />
2. i soveværelset<br />
med en detektionsgrænse p˚a 0.75.<br />
Vi ønsker at undersøge, hvor stor indflydelse udendørsniveauet har p˚a<br />
indendørsniveauet.
Censurerede, normalt fordelte data (data med detektionsgrænse) 64<br />
Eksempel p˚a venstrecensurerede data<br />
Samhørende m˚al for NO2 inde og ude<br />
(under detektionsgrænsen er plottet som lig med detektionsgrænsen)
Censurerede, normalt fordelte data (data med detektionsgrænse) 65<br />
Estimation af sammenhæng<br />
Hvad med bare at udelade de “ukendte”? Pas p˚a: Det er selektion<br />
baseret p˚a responsvariablen!<br />
DATA no2; SET no2;<br />
IF UPCASE(UnderDetekt)="JA" THEN inde=.;<br />
ude_25 = ude - 2.5; * Centrering af variabel ;<br />
RUN;<br />
PROC REG DATA=no2;<br />
Udensmaa: MODEL inde = ude_25;<br />
RUN;
Censurerede, normalt fordelte data (data med detektionsgrænse) 66<br />
The REG Procedure<br />
Model: Udensmaa<br />
Dependent Variable: INDE<br />
Analysis of Variance<br />
Sum of Mean<br />
Source DF Squares Square F Value Pr>F<br />
Model 1 9.18865 9.18865 107.71 |t|<br />
Intercept 1 1.60065 0.03842 41.66
Censurerede, normalt fordelte data (data med detektionsgrænse) 67<br />
Fit uden data under detektionsgrænsen<br />
Samhørende m˚al for NO2 inde og ude<br />
Duer ikke p˚a grund af bias.<br />
Vi mangler alle de laveste indendørsværdier, s˚a linien ligger for højt<br />
for de lave udendørsværdier, og spredningen undervurderes!
Censurerede, normalt fordelte data (data med detektionsgrænse) 68<br />
Estimation af sammenhæng<br />
Kan vi ikke bare sætte alle observationer under detektionsgrænsen lig<br />
med detektionsgrænsen (ligesom i tegningen)?<br />
DATA no2; SET no2;<br />
IF UPCASE(UnderDetekt)="JA" THEN inde=0.75;<br />
RUN;<br />
PROC REG DATA=no2;<br />
Naiv: MODEL inde = ude_25;<br />
RUN;
Censurerede, normalt fordelte data (data med detektionsgrænse) 69<br />
The REG Procedure<br />
Model: Naiv<br />
Dependent Variable: INDE<br />
Analysis of Variance<br />
Sum of Mean<br />
Source DF Squares Square F Value Pr>F<br />
Model 1 18.15521 18.15521 229.66 |t|<br />
Intercept 1 1.55732 0.03502 44.48
Censurerede, normalt fordelte data (data med detektionsgrænse) 70<br />
Fit for naiv model<br />
Samhørende m˚al for NO2 inde og ude<br />
Duer heller ikke p˚a grund af bias.<br />
Vi overvurderer alle de laveste indendørsværdier, s˚a linien ligger stadig<br />
for højt for de lave udendørsværdier, og spredningen undervurderes!
Censurerede, normalt fordelte data (data med detektionsgrænse) 71<br />
Estimation af sammenhæng<br />
Alternativ (lidt bedre, men stadig tvivlsomt): Observationer under<br />
detektionsgrænsen sættes lig et gæt p˚a gennemsnitsværdien for<br />
observationer under detektionsgrænsen ( 2<br />
·detektionsgrænsen svarer til, at<br />
3<br />
et histogram over de sande værdier ville ligne en trekant fra 0 op til<br />
detektionsgrænsen):<br />
DATA no2; SET no2;<br />
IF UPCASE(UnderDetekt)="JA" THEN justeret = (2/3)*0.75;<br />
ELSE justeret = inde;<br />
RUN;<br />
PROC REG DATA=no2;<br />
Adhoc: MODEL justeret = ude_25;<br />
RUN;<br />
(Hvis man tror p˚a, at alle værdier mellem 0 og detektionsgrænsen er lige sandsynlige,<br />
s˚a er 1<br />
2 ·detektionsgrænsen et relevant gæt. Hvis man tror, at histogrammet ville følge<br />
·detektionsgrænsen et relevant gæt.)<br />
en parabel, er 3<br />
4
Censurerede, normalt fordelte data (data med detektionsgrænse) 72<br />
The REG Procedure<br />
Model: Adhoc<br />
Dependent Variable: justeret<br />
Analysis of Variance<br />
Sum of Mean<br />
Source DF Squares Square F Value Pr>F<br />
Model 1 23.92209 23.92209 227.45 |t|<br />
Intercept 1 1.52235 0.04039 37.69
Censurerede, normalt fordelte data (data med detektionsgrænse) 73<br />
Fit med gæt p˚a gennemsnitsværdi<br />
Samhørende m˚al for NO2 inde og ude<br />
Vi ved ikke, om linien ligger for højt (for højt gæt p˚a gennemsnit)<br />
eller for lavt (for lavt gæt p˚a gennemsnit) for de lave<br />
udendørsværdier, men spredningen undervurderes stadig.
Censurerede, normalt fordelte data (data med detektionsgrænse) 74<br />
Korrekt estimation af sammenhæng<br />
Optimal udnyttelse af data opn˚as ved at inkludere præcis den viden,<br />
vi har:<br />
De censurerede data er mindre end detektionsgrænsen.<br />
Princip:<br />
• For hver af observationerne under detektionsgrænsen kan det<br />
udregnes, hvad sandsynligheden er for, at observationen ligger under<br />
detektionsgrænsen for givne værdier af alle modelparametrene, b˚ade<br />
regressionsparametrene og variansparameteren. Denne sandsynlighed<br />
indg˚ar i estimationen.<br />
• De “almindelige” observationer indg˚ar p˚a sædvanlig vis.<br />
Alle modelparametrene estimeres som de værdier, der alt i alt passer bedst<br />
med det observerede, inklusive at observationerne under detektionsgrænsen<br />
faktisk l˚a under denne grænse.
Censurerede, normalt fordelte data (data med detektionsgrænse) 75<br />
I SAS skal der være to variable, der viser de faktiske nedre henholdsvis<br />
øvre grænser for responsvariablens værdi.<br />
• For observerede værdier er nedre og øvre grænse lig observationen.<br />
• For observationer under detektionsgrænsen er den nedre grænse<br />
ukendt, hvilket angives som et . (missing) i SAS, og den øvre grænse er<br />
lig med detektionsgrænsen.<br />
DATA no2; SET no2;<br />
IF UPCASE(UnderDetekt)="JA"<br />
THEN DO;<br />
nedre = .; oevre = 0.75;<br />
END;<br />
ELSE DO;<br />
nedre = inde; oevre = inde;<br />
END;<br />
RUN;<br />
PROC LIFEREG DATA=no2;<br />
MODEL (nedre, oevre) = ude_25 / DIST=NORMAL NOLOG;<br />
RUN;
Censurerede, normalt fordelte data (data med detektionsgrænse) 76<br />
The LIFEREG Procedure<br />
Model Information<br />
Data Set WORK.NO2<br />
Dependent Variable nedre<br />
Dependent Variable oevre<br />
Number of Observations 85<br />
Noncensored Values 60<br />
Right Censored Values 0<br />
Left Censored Values 25<br />
Interval Censored Values 0<br />
Name of Distribution Normal<br />
Log Likelihood -35.88065877<br />
Algorithm converged.<br />
Type III Analysis of Effects<br />
Wald<br />
Effect DF Chi-Square Pr > ChiSq<br />
ude_25 1 177.8626 ChiSq<br />
Intercept 1245.07
Censurerede, normalt fordelte data (data med detektionsgrænse) 77<br />
Optimalt fit<br />
Samhørende m˚al for NO2 inde og ude
Censurerede, normalt fordelte data (data med detektionsgrænse) 78<br />
Estimation af standard deviation<br />
scale = maximum likelihood estimat for standard deviationen (SD)<br />
(=residualspredning=prediktionsspredning). For at f˚a noget, der er<br />
sammenligneligt med det sædvanlige estimat (“ROOT MSE” i SAS<br />
output), skal der justeres:<br />
SD* = scale ·<br />
√ n<br />
n − k − 1<br />
(n = antal observationer, k = antal kovariater).<br />
Her f˚as SD*= 0.340 ·<br />
√ 85<br />
83<br />
= 0.344.
Censurerede, normalt fordelte data (data med detektionsgrænse) 79<br />
Sammenligning af resultater<br />
Oversigt over resultaterne af de 4 analyser:<br />
Ude_25<br />
Model Parameter Standard<br />
Estimate Error SD ("Root MSE")<br />
Udensmaa 0.600 0.058 0.292<br />
Naiv 0.643 0.042 0.281<br />
Adhoc 0.738 0.049 0.324<br />
Optimal 0.785 0.059 0.344
Lineære splines 80<br />
SAS kode til lineære splines<br />
– til selvstudium –
Lineære splines 81<br />
Konstruktion af en lineær spline<br />
(Pilene viser kvartilerne blandt reblødere)
Lineære splines 82<br />
Lineær spline, princip:<br />
Vi konstruerer nogle variable, der tilsammen summerer til serum<br />
bilirubin-variablen eventuelt fratrukket et passende tal. Hver variabel<br />
fanger den del af variationen i serum bilirubin-værdierne, der ligger i et<br />
præ-defineret interval.<br />
Af hensyn til den statistiske styrke kan det anbefales at lægge intervallerne,<br />
s˚a der er ca. lige mange hændelser i hvert interval.<br />
Her er valgt 4 variable, der summerer til bilirubin−nedre kvartil.<br />
Interval-endepunkterne (engelsk “knots”) er placeret ved kvartilerne blandt<br />
rebløderne: 26, 47 og 73<br />
• b_u26 fanger variationen i bilirubin for værdier under 26<br />
• b_26_47 fanger variationen i bilirubin for værdier mellem 26 og 47<br />
• b_47_73 fanger variationen i bilirubin for værdier mellem 47 og 73<br />
• b_o73 fanger variationen i bilirubin for værdier over 73
Lineære splines 83<br />
Beregning af percentiler blandt reblødere<br />
PROC UNIVARIATE DATA=skl PCTLDEF=3; WHERE bld=1;<br />
VAR bilirub;<br />
RUN;<br />
Quantile Estimate<br />
100% Max 495<br />
99% 495<br />
95% 177<br />
90% 146<br />
75% Q3 73<br />
50% Median 47<br />
25% Q1 26<br />
10% 15<br />
5% 12<br />
1% 4<br />
0% Min 4
Lineære splines 84<br />
Mulig kode for de nødvendige ekstra variable i SAS<br />
DATA skl; SET skl;<br />
IF NOT MISSING(bilirub) AND bilirub
Lineære splines 85<br />
Kort “smart” SAS-kode, der gør det samme<br />
MIN finder den mindste værdi og MAX finder den største værdi af de<br />
variable eller tal, der st˚ar i parentesen<br />
(farverne p˚a variabelnavnene svarer til farverne p˚a liniestykkerne i figuren)
Lineære splines 86<br />
Plot af de kovariater, der indg˚ar i den “smarte” kode
Lineære splines 87<br />
Estimation og test af lineær spline<br />
(Kvartilerne blandt reblødere (26, 47, og 73) blev fundet v.h.a.<br />
PROC UNIVARIATE PCTLDEF=3; WHERE bld=1; VAR bilirub; RUN;)<br />
PROC PHREG DATA=skl;<br />
MODEL day*bld(0) =<br />
b_u26 b_26_47 b_47_73 b_o73 sklero<br />
/ RISKLIMITS;<br />
TestLine: TEST b_u26=b_26_47=b_47_73=b_o73;<br />
RUN;
Lineære splines 88<br />
Estimation og test af lineær spline fortsat<br />
Parameter Standard Hazard 95% Hazard Ratio<br />
Variable DF Estimate Error Chi-Sq. Pr>ChiSq Ratio Confidence Limits<br />
b_u26 1 -0.01390 0.03276 0.1801 0.6712 0.986 0.925 1.052<br />
b_26_47 1 0.03250 0.02161 2.2618 0.1326 1.033 0.990 1.078<br />
b_47_73 1 0.03483 0.01412 6.0838 0.0136 1.035 1.007 1.065<br />
b_o73 1 0.00162 0.00161 1.0189 0.3128 1.002 0.998 1.005<br />
Sklero 1 -0.13197 0.21954 0.3613 0.5478 0.876 0.570 1.348<br />
Linear Hypotheses Testing Results<br />
Label Wald Chi-Square DF Pr > ChiSq<br />
TestLine 15.7811 3 0.0013<br />
“Parameter Estimate” er hældningen for ln(rate ratio) indenfor<br />
hvert af intervallerne. “Hazard Ratio” er derfor et m˚al for den<br />
interval-specifikke dosis-respons relation.
Lineære splines 89<br />
Plot af lineær spline: Datasæt, der skal plottes<br />
5 og 95 percentilerne for bilirubin blandt reblødere er 12 og 177<br />
DATA plot;<br />
DO bili=12, 26, 47, 73, 177; * Knækpunkter og endepunkter;<br />
* Variabelværdier svarende til knæk- og endepunkter beregnes ;<br />
b_u26=MIN(bili-26,0);<br />
b_o26=MAX(bili-26,0);<br />
b_o47=MAX(bili-47,0);<br />
b_26_47=b_o26-b_o47;<br />
b_o73=MAX(bili-73,0);<br />
b_47_73=b_o47-b_o73;<br />
* Parameterestimaterne fra outputtet ganges p˚a de tilsvarende variable ;<br />
* for at udregne den prædikterede værdi af det Prognostiske Index ;<br />
* (eksponenten i Cox modellen) ;<br />
pi = -0.01390*b_u26 +0.03250*b_26_47<br />
+0.03483*b_47_73 +0.00162*b_o73;<br />
rr = EXP(pi); * PI omregnes til Rate Ratio ;<br />
OUTPUT;<br />
END;<br />
RUN;
Lineære splines 90<br />
Plot af lineær spline<br />
Eksempel p˚a et kald af PROC GPLOT med SYMBOL og AXIS statements:<br />
SYMBOL1 C=BLACK V=CIRCLE I=JOIN L=1;<br />
AXIS1 LABEL=(F=CENTX ’Bilirubin’) ;<br />
AXIS2 LABEL=(F=CENTX A=90 R=0 ’Rate ratio’)<br />
LOGBASE=2 INTERVAL=UNEVEN;<br />
PROC GPLOT DATA=plot;<br />
PLOT rr*bili / HAXIS=AXIS1 VAXIS=AXIS2;<br />
RUN;