01/20141 EPI 5344: Survival Analysis in Epidemiology Estimating S(t) from Cox models April 1, 2014...
-
Upload
easter-harrison -
Category
Documents
-
view
218 -
download
0
description
Transcript of 01/20141 EPI 5344: Survival Analysis in Epidemiology Estimating S(t) from Cox models April 1, 2014...
101/2014
EPI 5344:Survival Analysis in
EpidemiologyEstimating S(t) from Cox models
April 1, 2014
Dr. N. Birkett,Department of Epidemiology & Community
Medicine,University of Ottawa
201/2014
Objectives
• Theory of estimating S(t)• SAS methods
301/2014
• Cox methods do not require an equation for h(t)– do not produce direct estimates of h(t), H(t) or S(t).
• If we could estimate any of these, we could get the others:
Introduction (1)
Assuming h(t) is constant in interval
401/2014
• Since hazards are proportional, all we need to know is h(t) or S(t) for the baseline group: h0(t) or S0(t)
Introduction (2)
So, estimate S0(t)and we can get S(t)for any ‘x’s’
501/2014
• Must use methods outside Cox regression.• Two common approaches are used:
– Generalize the Kaplan-Meier method to estimate S0(t)– Generalize Nelson-Aalen method to estimate H0(t)
• Implemented by using the BASELINE statement.
• First, a quick review of the technical background
Introduction (3)
6
A bit of technical stuff
• We assume a piecewise constant hazard model– It keeps coming up, doesn’t it
01/2014
701/2014
We don’t care about the origin of the next formulae.Assume there are no ties
Where:‘l’ is subject having event at tj
‘k’ is subject whose survival curve is needed
801/2014
• Non-RCT study of therapy• Hypernephroma (type of kidney cancer)• All patients treated with
– chemotherapy and – Immunotherapy
• Some also had their affected kidney removed.• Questions
– Does having a nephrectomy affect survival? – Does age affect survival in patients having a
nephrectomy?
Example (1)
901/2014
• Answer is YES
A2i = 1 if age is 60-70
= 0 otherwiseA3i = 1 if age is 70+
= 0 otherwiseNi = 1 if had nephrectomy
= 0 if no nephrectomy
• A3 & N are statistically significant.• What do survival curves look like?
Example (2)
1001/2014
1101/2014
1201/2014
1301/2014
Could try smoothing the h(t) curve
Estimated baseline hazard curve
14
• How did we produce these curves?• Using the formulae given earlier.• SAS uses the BASELINE statement
01/2014
Example (3)
1501/2014
• SAS implements these methods in Phreg using the BASELINE statement
• By default, this statement produces S(t) at a pre-defined set of covariate values:– The reference level of any variable mentioned
in a class statement– The mean value of each other variable
SAS Methods (1)
16
ODS GRAPHICS ON;ODS RTF;
PROC PHREG DATA=allison.recid PLOTS=S; MODEL week*arrest(0)=fin age prio / TIES=EFRON; BASELINE OUT=a SURVIVAL=s LOWER=lcl UPPER=ucl;RUN;
proc print data=a;run;
ODS RTF close;ODS GRAPHICS OFF;
01/2014
1701/2014
1801/2014
19
ODS GRAPHICS ON;ODS RTF;
PROC PHREG DATA=allison.recid PLOTS=S; Class fin; MODEL week*arrest(0)=fin age prio / TIES=EFRON; BASELINE OUT=a SURVIVAL=s LOWER=lcl UPPER=ucl;RUN;
proc print data=a;run;
ODS RTF close;ODS GRAPHICS OFF;
01/2014
2001/2014
21
• What if you want S(t) for some other set of covariates?– Interested in specific target group– Contrast extremes of the range of variables
• Use COVARIATES statement in SAS
01/2014
22
DATA covals; INPUT fin age prio; DATALINES;0 40 3;run;
PROC PHREG DATA=allison.recid; MODEL week*arrest(0)=fin age prio / TIES=EFRON; BASELINE OUT=a COVARIATES=covals SURVIVAL=s LOWER=lcl UPPER=ucl;run;
proc print data=a;run;
01/2014
2301/2014
24
• What if you want to display the results of multiple covariate sets on the same graph?– Method #1
• Run several of previous models, for different covariates.
• Combine the output datasets into on dataset• Plot using SAS Graph, etc.
– Method #2• list more than one set of covariates in the covariate
data set
01/2014
25
DATA covals; INPUT fin age prio; DATALINES;0 40 31 50 2;run;
ODS graphics ON;
PROC PHREG DATA=allison.recid PLOTS(OVERLAY)=S; MODEL week*arrest(0)=fin age prio / TIES=EFRON; BASELINE OUT=a COVARIATES=covals SURVIVAL=s LOWER=lcl UPPER=ucl;run;
ODS graphics off;
proc print data=a;run;
01/2014
2601/2014
2701/2014