Analyse af tid-til-event data i store kohorte studier analyseret med SAS/STAT



Relaterede dokumenter
Morten Frydenberg Biostatistik version dato:

Dag 6: Interaktion. Overlevelsesanalyse

Introduktion til GLIMMIX

Adgangsgivende eksamen (udeladt kategori: Matematisk student med matematik på niveau A)

Man indlæser en såkaldt frequency-table i SAS ved følgende kommandoer:

Lineær og logistisk regression

Note om Monte Carlo eksperimenter

Faculty of Health Sciences. Basal Statistik. Overlevelsesanalyse. Lene Theil Skovgaard. 12. marts 2018

Program. Modelkontrol og prædiktion. Multiple sammenligninger. Opgave 5.2: fosforkoncentration

Vi vil analysere effekten af rygning og alkohol på chancen for at blive gravid ved at benytte forskellige Cox regressions modeller.

Statistikøvelse Kandidatstudiet i Folkesundhedsvidenskab 28. September 2004

SAS-øvelse: Vi starter ud med model et hvor x=(kvotient, eksald, halvaar, kvinde, MatB,, Gif).

Noter til Specialkursus i videregående statistik

PhD-kursus i Basal Biostatistik, efterår 2006 Dag 2, onsdag den 13. september 2006

Dan dine egne SAS - funktioner med PROC FCMP

Kvantitative Metoder 1 - Forår Dagens program

Kursus i varians- og regressionsanalyse Data med detektionsgrænse. Birthe Lykke Thomsen H. Lundbeck A/S

Dagens Temaer. Test for lineær regression. Test for lineær regression - via proc glm. k normalfordelte obs. rækker i proc glm. p. 1/??

Peter Kellberg. Rundt om Danmarks Statistiks makroer. Design, Standardisering, Teknik

Statistiske Modeller 1: Kontingenstabeller i SAS

Beskrivelse af Finanstilsynets benchmark for levetidsforudsætninger

Uge 48 II Teoretisk Statistik 27. november Numerisk modelkontrol af diskrete fordelinger: intro

Logistisk regression. Basal Statistik for medicinske PhD-studerende November 2008

Reminder: Hypotesetest for én parameter. Økonometri: Lektion 4. F -test Justeret R 2 Aymptotiske resultater. En god model

Statistik kommandoer i Stata opdateret 16/ Erik Parner

Overlevelsesanalyse. Faculty of Health Sciences

µ = κ (θ); Kanonisk link, θ = g(µ) Poul Thyregod, 9. maj Specialkursus vid.stat. foraar 2005

Studiedesigns: Kohorteundersøgelser

Overlevelsesfunktion. Vi kalder S(t) for overlevelsesfunktionen.

Studiedesigns: Kohorteundersøgelser

β = SDD xt SSD t σ 2 s 2 02 = SSD 02 f 02 i=1

Repræsentative undersøgelser før og nu. Peter Linde, Interviewservice

Faculty of Health Sciences. Basal Statistik. Logistisk regression mm. Lene Theil Skovgaard. 5. marts 2018

Maple 11 - Chi-i-anden test

Program. Logistisk regression. Eksempel: pesticider og møl. Odds og odds-ratios (igen)

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

Investerings- og finansieringsteori

MPH specialmodul i epidemiologi og biostatistik. SAS. Introduktion til SAS. Eksempel: Blodtryk og fedme

4. september π B = Lungefunktions data fra tirsdags Gennemsnit l/min

I dag. Statistisk analyse af en enkelt stikprøve med kendt varians Sandsynlighedsregning og Statistik (SaSt) Eksempel: kobbertråd

Faculty of Health Sciences. Basal statistik. Overlevelsesanalyse. Lene Theil Skovgaard. 1. april 2019

9. Chi-i-anden test, case-control data, logistisk regression.

Basal statistik. Overlevelsesanalyse. Eksempel: Lungecancer blandt krigsveteraner. Faculty of Health Sciences

Statistik og Sandsynlighedsregning 2. IH kapitel 12. Overheads til forelæsninger, mandag 6. uge

MPH specialmodul Epidemiologi og Biostatistik

Module 12: Mere om variansanalyse

Introduktion til overlevelsesanalyse

Opgave 1 Betragt to diskrete stokastiske variable X og Y. Antag at sandsynlighedsfunktionen p X for X er givet ved

Estimation og konfidensintervaller

Morten Frydenberg 26. april 2004

Kvantitative Metoder 1 - Efterår Dagens program

Multipel regression. M variable En afhængig (Y) M-1 m uafhængige / forklarende / prædikterende (X 1 til X m ) Model

MPH specialmodul Epidemiologi og Biostatistik

Demo af PROC GLIMMIX: Analyse af gentagne observationer

Løsning til øvelsesopgaver dag 4 spg 5-9

, i ' 1,...,N ; t ' 1,...,T, - i.i.d.(0,f 2, ), ) ' 0, E(, it. x kjs. œ i,t,s,j,k.

Susanne Ditlevsen Institut for Matematiske Fag susanne

Sandsynlighedsregning: endeligt udfaldsrum (repetition)

Uge 13 referat hold 4

2 Epidemiologi og biostatistik. Uge 5, mandag 26. september 2005 Michael Væth, Institut for Biostatistik

Faculty of Health Sciences. Logistisk regression: Kvantitative forklarende variable

Hvorfor bøvle med MIXED

Øvelse 7: Aktuar-tabeller, Kaplan-Meier kurver og log-rank test

Introduktion til overlevelsesanalyse

Dagens program. Praktisk information:

Note til styrkefunktionen

Økonometri 1 Efterår 2006 Ugeseddel 11

En intro til radiologisk statistik

Statistik kommandoer i Stata opdateret 22/ Erik Parner

3.600 kg og den gennemsnitlige fødselsvægt kg i stikprøven.

Normalfordelingen. Statistik og Sandsynlighedsregning 2

02402 Løsning til testquiz02402f (Test VI)

13.1 Substrat Polynomiel regression Biomasse Kreatinin Læsefærdighed Protein og højde...

Overheads til forelæsninger, mandag 5. uge På E har vi en mængde af mulige sandsynlighedsfordelinger for X, (P θ ) θ Θ.

Morten Frydenberg 14. marts 2006

Eksamen Bacheloruddannelsen i Medicin med industriel specialisering. Eksamensdato: Tid: kl

13.1 Substrat Polynomiel regression Biomasse Kreatinin Læsefærdighed Protein og højde...

En Introduktion til SAS. Kapitel 5.

Normalfordelingen og Stikprøvefordelinger

Opgavebesvarelse vedr. overlevelsesanalyse

Værktøjshjælp for TI-Nspire CAS Struktur for appendiks:

OR stiger eksponentielt med forskellen i BMI. kompliceret model svær at forstå og analysere

Opsamling Modeltyper: Tabelanalyse Logistisk regression Generaliserede lineære modeller Log-lineære modeller

Skriftlig eksamen i Datalogi

Løsning til eksamensopgaven i Basal Biostatistik (J.nr.: 1050/06)

Brydningsindeks af vand

Økonometri 1. Dagens program. Den multiple regressionsmodel 18. september 2006

Introduktion til overlevelsesanalyse

Dagens Emner. Likelihood teori. Lineær regression (intro) p. 1/22

Statistik ved Bachelor-uddannelsen i folkesundhedsvidenskab. Estimation


men nu er Z N((µ 1 µ 0 ) n/σ, 1)!! Forkaster hvis X 191 eller X 209 eller

Faculty of Health Sciences. Styrkeberegninger Poisson regression Overlevelsesanalyse

Præsentation og praktisk anvendelse af PROC GLMSELECT

SAS formater i Danmarks Statistik

Kursus i anvendt onkologisk statistik og forskningsmetodik Dag 2. Jon K. Bjerregaard

Faculty of Health Sciences. Miscellaneous: Styrkeberegninger Overlevelsesanalyse Analyse af matchede studier

Kvantitative Metoder 1 - Forår Dagens program

OR stiger eksponentielt med forskellen i BMI komplicet model svær at forstå og analysere simpel model

Statistik Lektion 1. Introduktion Grundlæggende statistiske begreber Deskriptiv statistik Sandsynlighedsregning

Transkript:

Analyse af tid-til-event data i store kohorte studier analyseret med SAS/STAT Jacob Simonsen, Afdeling for Epidemiologisk Forskning Statens Serum Institut

Register baseret forskning Kendetegn: Baseret på landsdækkende registre, derfor store datasæt Udfald er oftest binære eller tid-til-event Prædefinerede og veldefinerede statistiske hypoteser Centralpersonregistret Psykiatriskregistret Analyse data Landspatientregistret Patalogiregistret Lægemiddelregistret Sygesikringsregistret Lægemiddelregistret Cancerregistret

Tid til event modeller (overlevelses analyse) I disse analyser gælder det om at finde sammenhænge mellem forklarende faktorer og tid-til-event. Tiderne kan være censoreret, dvs for nogle observationer kendes kun en nedre grænse. Kan skyldes studietids ophør. Og observationer kan være venstre trunkeret, dvs med forsinket entry. Tid

Procedurer specialiseret til overlevelses analyse Rate modeller: l(t)=f(xb) PROC PHREG PROC ICPHREG PROC SURVEYPHREG Accelerated Failure time models: E(T)=f(Xb) PROC LIFEREG Ikke-parametriske analyser: Kaplan Meier kurver, Log rank test, etc PROC LIFETEST PROC ICLIFETEST Percentil regression: fx Median(T)=Xb PROC QUANTLIFE

Generelle procedure der også finder anvendelse i overlevelses analyser Generaliserede lineære modeller PROC GENMOD PROC GLIMMIX PROC HPGENSELECT Ikke lineære modeller PROC HPNLMOD PROC NLMIXED

Rate modeller Her konstrueres modeller for raten (groft sagt: rate= 1 ) tid til event Mest populære rate modelle er Poisson regression (fuld parametrisk model): l(t)=e X(t)b, X(t) er stykvise konstant Cox regression (semi parametrisk model): l(t)=e X(t)b l 0 (t), hvor l 0 (t) er en baggrundsrate Mindre populært, men langt mere generel er Lin-Yings model: l(t)=g(x(t)b) + h(z(t)g) l 0 (t)

Poisson regression Man kan nøjes med at regne på aggregerede persontider og events i kombinationer af forklarende faktorer: Person ID Data på individ niveau Køn Eksponeret Alder Start Slut Event 1 Mand Nej 20-24 1. Jan 78 1. Jan 83 0 1 Mand Nej 24-25 1. Jan 83 7. Dec 85 0 1 Man Ja 24-25 7. Dec 85 7. Dec 86 1 Aggregeret data Alder Køn Eksponeret Personår Events 20-24 Mand Ja 20-24 Mand Nej 20-24 Kvinde Ja 20-24 Kvinde Nej Med flere tidsafhænge faktorer er det et besværligt tælle-arbejde at danne det aggregerede data Heldigvis findes %stratify-makroen 1 der udfører arbejdet. 1) Rostgaard K. Methods for stratification of person-time and events a prerequisite for Poisson regression and SIR estimation. Epidemiologic Perspectives & Innovations : EP+I. 2008;5:7. doi:10.1186/1742-5573-5-7.

Likelihood-funktionen får en form magen til Poisson fordelte data s likelihood funktion. Derfor kan procedurer til generaliserede lineære modeller benyttes. PROC HPGENSELECT data=aggregeret; CLASS alder koen eksponering; MODEL events=alder koen eksponering/dist=poisson LINK=LOG offset=logpersontid; RUN; PROC HPGENSELECT er en multi-kerne procedure. Hurtig på store datasæt med mange forklarende variable. Til gengæld har PROC GENMOD flere features end HPGENSELECT (fx REPEATED der tillader stokastisk afhængige observationer). Beregningstiden er proportional med antal kombinationer af forklarende variable.

Inden analyse skal data opstilles på formen Cox-regression Person ID Eksponeret Start (alder) Slut (alder) event 1 Nej 54 56 0 1 Nej 56 57 0 1 Ja 57 57½ 1 Bemærk, der er ikke en alder-klasse-variabel. Til gengæld siger start og slut hvornår personen indgår i analysen. Man kan selvfølgelig vælge en andent tidsakse en alder. Data kan nu analyseres med PROC PHREG...

Estimering i Cox-regression med PROC PHREG PHREG anno 2002: PROC PHREG data=mydata; MODEL (entry exit)*event(0)=kon medicin; RUN; PHREG anno 2015: PROC PHREG data=mydata fast; CLASS kon medicin(ref= placebo ) site; MODEL (entry exit)*event(0)=kon medicin/eventcode=1; RANDOM site; ASSESS PROPORTIONALHAZARDS; WEIGHT myweight; RUN; Optimering af hastighed Ved venstre trunkerede data SAS/STAT 14.1 (9.4 M3) Multiple event typer. SAS/STAT 13.1 (SAS 9.4 M1) Class statement (fra version 9.2) Tillader stokastisk afhængige data SAS/STAT 9.3 Goodness of fit SAS 9.2 Vægte smart ved aggregering SAS/STAT 13.2 (9.4 M2)

Aggregering i Cox-regression I Cox regression er det tilstrækkeligt at vide hvor mange der er i risiko og antal døde på hvert riskset riskset Tid Eksponeret Riskset Tid (målt i alder) dummytid Antal Der findes SAS-makroer til dannelse af det aggregerede datasæt. %coxaggregate(data=,entry=,exit=,covariate=..) Nej 54 1 1 Nej 54 2 9 Ja 54 2 10 Nej 57 2 9 Ja 57 1 1 Ja 57 2 9 PROC PHREG data=aggregated; CLASS eksponeret; MODEL dummytime*dummytime(2)= eksponeret; WEIGHT antal; STRATA riskset; RUN;

Cox regression med tidsafhængie faktorer Uden aggregering: Her tillades eksponerings-effekteen at ændre værdi ved fx tid=10. Eksponerings effekten kan splittes således: PROC PHREG data=ikke_aggregeret_data; tidlig=(eksponeret= yes )*(tid<=10); sen=(eksponeret= yes )*(tid>10); MODEL tid*event(0)=tidlig sen; RUN; Dette give desværre en beregningstid der er kvadratisk med antal individer. Med? λ aggregering 0.8 Aggregeringen gør det muligt at definere en tidsmarkør i et datastep. Herefter modelleres tidsafhængigheden som en interaktion: %coxaggregate(data=,entry=,exit=,covariate=..) 0.7 Data aggregated; 0.6 set aggregated; if (riskset_tid<=10) then tid2= tidlig ; 0.5 else tid2= sen ; Run; 0.4 PROC PHREG data=aggregated; 0.3 CLASS eksponeret tid2/param=glm; 0.2 MODEL dummytime*dummytime(2)= eksponeret*tid2; WEIGHT antal; 0.1 STRATA riskset; hazardratio eksponeret/at(tid2=all); RUN; 0.0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Dette reducere beregningstiden til at være lineær afhængig af antal individer. Eksponeret Ueksponeret Tid

Beregningstid i Cox-regression n=antal individer. Venstre-trunkering Tidsafhængige faktorer Beregningstid uden aggregering Beregningstid Med aggregering Nej Nej O(n) O(n) Nej Ja O(n 2 ) O(n) Ja Nej O(n 2 ) eller O(n) med FAST option O(n) Ja Ja O(n 2 ) O(n)

Lin Yings Ikke lineære model Lad os forestille os at raten formen l(t)=g(xb) + h(xa) l 0 (t) b og a er parametre, der skal estimeres. X og Z er vektorer med forklarende variable l 0 (t) er en baggrundsrate (parametrisk eller ikke-parametrisk). g og h er selvvalgte link-funtioner. En ekstrem fleksibel model! Modellen tillader additive komponenter, g(xb), som udtrykker rate-differencer og multiplikative komponenter, h(za), som udtrykker rate-ratioer.

Estimering med parametrisk baggrundsrate Antag modellen l(t)=g(xb) + h(za) l 0 (t) Med fx g(x)=x og h(x)=e x, og at baggrundsraten fx har formen: l 0 (t)= k r t r k 1. Estimering foretages ved maksimere log-likelihood-funktionen. Hver observation har et bidrag på formen t exit l i (b,g,s)=1 event log(l i (t))- tentry l i (s) ds, som er et rent parametrisk udtryk.

Bidraget til likelihood-funktionen kan programmeres ind i HPNLMOD: PROC HPNLMOD DATA=simulation ; lambda=beta1*w1+exp(gamma1*x1)*(k/r)*(t/r)**(k-1) integrale=t*beta1*w1+exp(gamma1*x1)*(t/r)**k likelihood=event*log(lambda)-integrale; BOUNDS k r>0; MODEL t ~ GENERAL (likelihood); RUN; Chancerne for konvergens øges hvis man har et fornuftigt bud på startværdier parameters beta1 0.25 gamma1 0.5 k 1 r 1; Har man tilfældige effekter i modellen kan man benytte sig af PROC NLMIXED.

Estimering med ikke-parametrisk baggrundsrate l i (t)=g(x i b) + h(z i a) l 0 (t) Nu antages ikke nogen parametrisk form på l 0 (t). Modellen er derfor mere fleksibel på trods af færre parametre. Parametrene kan estimeres ved at løse et sæt estimerings ligninger (Se Lin-Yings artikel for den præcise form 1 ): F b, g = 0 t f a, b, data s dm i (s) = 0. Generelt kan dette ikke opstilles som et maksimerings problem. - PROC HPNLMOD eller nogen anden procedure virker derfor ikke hér. Heldigvis kan alt løses i SAS/BASE (kræver dog lidt arbejde ) 1 Lin, D. Y.; Ying, Zhiliang. Semiparametric Analysis of General Additive-Multiplicative Hazard Models for Counting Processes. Ann. Statist. 23 (1995), no. 5, 1712--1734. doi:10.1214/aos/1176324320. http://projecteuclid.org/euclid.aos/1176324320.

Numerisk løsning til estimerings ligningen F b, g = 0 t f a, b, data s dm i (s) = 0 Kan løses med Newton Raphsons algoritme δ F θ i = θ i 1 δ θ (θ i 1) F θ i 1, Hvor θ er hele parameter vektoren θ = a b. Dvs, vælg passende startværdi θ 0 og iterér indtil der er konvergens. 1

Sådan kan en Newton-Raphson algoritme implementeres i et datastep Proc sort data=mydata; by t; Run; Data estimater; /***initialiser parametre****/ array parameters{&dimension.,1} _temporary_; array afledte{&dimension.,&dimension.} _temporary_; do until (konvergens=1); ***sæt integrand og afledte til 0****; do i=1 to nobs; set mydata point=i; ****opdater hjælpevariable end; ****Udregn F(q) og df(q)/dq ****Newton Rapson opdatering af parametre; *** if (parameterændring<delta) then konvergens=1;***; end; keep parametre; Run; Parametre og afledte erklæres i 2x2 arrays; Newton-Raphson algoritme Datasættet løbes igennem, Hvorved integralet og dens afledte bliver løst 1 δ F θ i = θ i 1 F θ δ θ (Mere om matrix-operationer på næste slide) Algoritmen stoppes når Der er opnået konvergens

Matrix funktioner Tilsvarende med andre matrix funktioner (addér, multiplicér osv.). Matrix-funktioner kan ikke kaldes direkte fra et datastep, men de kan gøres (permanent) tilgængelige via PROC FCMP således.. option cmplib=function.func; libname function 'd:\sasdata\sasfunctions'; proc fcmp outlib=function.func.matrix; subroutine invers(m[*,*],inv[*,*]); outargs m,inv; call inv(m,inv); endsub; run; Herefter funktionen kaldes fra datastep: array A{4,4} _temporary_; array B{4,4} _temporary_; call invers(a,b);

PROC FCMP kan også bruges til at definere de to link-funktioner proc fcmp outlib=work.function.gh; function g(x); y=x; return (y); endsub; function h(x); y=exp(x); return (y); endsub; run; På samme måde skal 1. og 2. afledte af g og h defineres.

Hvis estimerings-datasteppet pakkes ind i en makro, %macro lin_ying(data,model ); %mend; så skal brugeren kun definere link-funktioner g og h (og afledte) med PROC FCMP, og derefter kalde makroen %lin_ying(data=simulation, )

Eksempel 100.000 simulerede levetider, med en rate på formen l(t)= xb + e za l 0 (t), hvor baggrundsraten er l 0 (t)= k r t r k 1, (dvs en Weibull form) Link-funktionerne er g(x)=x, og h(x)=e x z og x er binære (0 eller 1), b=0.25 a=0.25

Eksempel fortsat Sammenligning mellem makro og PROC HPNLMOD Begge giver gode estimater hvis modellen er specificeret korrekt Sande værdi PROC HPNLMOD Parametrisk model Lin-Ying makro Semi-parametrisk model b 0.25 0.2513 (0.0019 std err) 0.2515 (0.0022) a 0.25 0.2541 (0.0107) 0.254 (0.0125) Beregningstid (real) 5.0 sec 7:08.92 Beregningstid (CPU) 1:01.98 7:09:21 PROC HPNLMOD er (meget) hurtigere end makroen. Lin-Ying makroen har dog lineær beregningstid. HPNLMOD kræver en fuld-parametrisk model. Dvs flere model-antagelser, hvilket kan medføre bias. Makroen er mindre følsom over for valg af start værdier, da den semi-parametriske baggrundsrate sikrer pænt fit fra start. -Hvorimod de potentielt mange parametre i en fuld-parametrisk model gør valg af startværdier svær/umulig.

Slut