1 Additive Hazards Models in SAS Sabuj Sarker Saskatchewan Cancer Agency May 10, 2012
1
Additive Hazards Models in SAS
Sabuj Sarker
Saskatchewan Cancer Agency
May 10, 2012
2
Background
Survival Analysis – Time to event analysis
Multiplicative Cox hazards model is a semi-parametric, multiplicative hazards model. Widely used model.
There may be times when a measure of the additive effect of a covariate is preferred over a relative measure.
Additive Hazards models are not commonly used like Cox model
Aalen’s and Lin & Ying’s additive models are used to consider additive effects
3
Methods: Notations
x: time to some event at time t
Tj: the time to event for the jth patient; j=1,2, …., n
δj: the event indicator for the jth patient, where δj =1 if event has occurred, 0 if the life time is right-censored.
Zj(t)=(Zj1(t), Zj2(t), ……,Zjp(t))’ is a p-vector of, possibly, time-dependent covariates.
β= ( β1, ………, βp)’ is a parameter vector
4
Cox Hazards Model
1. Cox Hazard Model (1972):
h(t/Z)=h0(t)exp (β1z1+ …… + βpzp)
Cox model assumes that covariates act in an
multiplicative manner on an unknown baseline hazard
(h0).
5
Additive Hazard Model
1. Aalen’s Model (1989):
h(t/Z)=h0(t)+ β1(t)zj1(t)+ …..+ βp(t)zjp (t)
- β(t) is dependent on time t
- Covariates act in additive manner on unknown baseline hazard (h0)
2. Lin and Ying’s (L-Y) Model (1994):
h(t/Z)=h0(t)+β1zj1(t)+ …..+ βpzjp (t)
- Coefficient β is constant
Aalen’s additive hazards model in SAS
Data on 90 males with larynx cancer
The variables represented in the dataset are as follows:
Stage of disease (1=stage 1, 2=stage2, 3=stage 3, 4=stage 4)
Time to death or on-study time, months
Age at diagnosis of larynx cancer
Year of diagnosis of larynx cancer
Death indicator (0=alive, 1=dead)
Reference: Kardaun Stat. Nederlandica 37 (1983), 103-126.
6
Cont…
data larynx; /* Just the Sample of Data */
input stage time age year_diag death;
label stage = "Stage of Disease"
age = "Age at Diagnosis"
year_diag = "Year of Diagnosis";
cards;
1 0.6 77 76 1
1 1.3 53 71 1
1 3.2 51 77 0
1 3.3 76 74 1
1 3.3 63 77 0
1 3.5 43 71 1
1 3.5 60 73 1
2 7.5 50 73 0
3 4.8 54 76 0
4 3.6 71 75 1
;
run;
7
Cont..
/* Format */
proc format;
value stage 1 = "stage 1"
2 = "stage 2"
3 = "stage 3"
4 = "stage 4";
value dead 0 = "Alive"
1 = "Dead";
run;
8
Cont..
/* Preparation for Analysis */
data larynx1;
length time death z1-z3 age 8.;
set larynx;
z1=(stage=2);
z2=(stage=3);
z3=(stage=4);
age=age-64.11;
keep time death z1 z2 z3 age;
run;
proc sort data = larynx1;
by time;
run;
9
Cont..
%include 'E:\SUCCESS\additivemacro.sas';
/* Proc IML */
proc iml;
option={y, n, y, n, n};
contrast={0 1 -1 0 0, 0 0 1 -1 0};
effects={'z1', 'z2' ,'z3', 'age'};
timeunit={'Years'};
%additive (larynx1, 0.05, timeunit, effects, option, contrast, beta, test);
quit;
10
Cont…
The data set beta created above has many columns. It has the following pattern.
Col1: time
Col2-6: beta_0-beta_4
col7-11: standard errors for beta_0-beta_4
col2-16: lower confidence limit for beta_0-beta_4
col7-21: upper confidence limit for beta_0-beta_4
11
Cont.. Obs COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL8
1 0.1 0.000015 0.000130 -0.00007 0.07751 -.000202225 0.000015 0.000130
2 0.2 -0.000134 0.057630 0.00068 0.07118 0.001860612 0.000149 0.057500
3 0.3 -0.000105 0.057359 0.07461 0.15573 0.001464296 0.000194 0.057512
4 0.3 -0.000105 0.057359 0.07461 0.15573 0.001464296 0.000194 0.057512
5 0.3 -0.000105 0.057359 0.07461 0.15573 0.001464296 0.000194 0.057512
6 0.4 -0.000174 0.058012 0.07467 0.24403 0.002421188 0.000206 0.057516
7 0.5 -0.000120 0.057496 0.11462 0.24540 0.001664510 0.000213 0.057518
8 0.6 0.030085 0.028127 0.08400 0.21261 0.003034450 0.030205 0.064582
9 0.7 0.030607 0.028573 0.12466 0.20909 0.004621786 0.030210 0.064584
10 0.8 0.031678 0.029490 0.16813 0.40186 0.007880698 0.030221 0.064587
Obs COL9 COL10 COL11 COL12 COL13 COL14 COL15
1 0.000074 0.07751 .000202225 -0.000014 -0.000125 -0.000220 -0.074405
2 0.000761 0.07777 .002072725 -0.000425 -0.055068 -0.000808 -0.081240
3 0.052185 0.11324 .002696663 -0.000485 -0.055362 -0.027669 -0.066225
4 0.052185 0.11324 .002696663 -0.000485 -0.055362 -0.027669 -0.066225
5 0.052185 0.11324 .002696663 -0.000485 -0.055362 -0.027669 -0.066225
6 0.052185 0.14360 .002861404 -0.000577 -0.054717 -0.027610 -0.037423
7 0.065723 0.14361 .002959762 -0.000536 -0.055237 -0.014191 -0.036060
8 0.072508 0.14730 .003261431 -0.029116 -0.098452 -0.058114 -0.076099
9 0.083129 0.14735 .003627198 -0.028603 -0.098008 -0.038273 -0.079704
10 0.093812 0.20297 .004369147 -0.027553 -0.097099 -0.015736 0.004050
Obs COL16 COL17 COL18 COL19 COL20 COL21
1 -.000598578 0.000043 0.00038 0.00007 0.22942 0.000194
2 -.002201855 0.000158 0.17033 0.00217 0.22360 0.005923
3 -.003821066 0.000274 0.17008 0.17689 0.37768 0.006750
4 -.003821066 0.000274 0.17008 0.17689 0.37768 0.006750
5 -.003821066 0.000274 0.17008 0.17689 0.37768 0.006750
6 -.003187060 0.000229 0.17074 0.17695 0.52548 0.008029
7 -.004136518 0.000297 0.17023 0.24344 0.52687 0.007466
8 -.003357836 0.089287 0.15471 0.22611 0.50132 0.009427
9 -.002487391 0.089817 0.15516 0.28759 0.49788 0.011731
10 -.000682672 0.090909 0.15608 0.35200 0.79966 0.01644
12
Figure 1: Estimated Baseline Cumulative
Hazard Rate for Stage I Patients
title "Figure 1";
axis1 label=(j=c 'Years') minor=none;
axis2 label=(a=90 j=c 'Estimated Baseline Cumulative Hazard Rate for Stage I Patients')
minor = none;
proc gplot data=beta;
plot col2*col1 col12*col1 col17*col1/overlay haxis=axis1 vaxis=axis2;
run;
quit;
13
Cont..
14
Survival Time in Year
Estimated
Baseline
Cumulative
Hazards
Rates for
Stage I
Patients
Figure 1: Estimate cumulative baseline hazards with 95% confidence interval
Figure 2: Estimated Cumulative Excess
Risk of Stage II Patients
title "Figure 2";
axis1 label=(j=c 'Years') minor=none;
axis2 label=(a=90 j=c 'Estimated Cumulative Excess Risk of Stage II Patients')
order=(-0.4 to 0.6 by 0.2) minor = none;
proc gplot data=beta;
plot col3*col1 col13*col1 col18*col1/overlay haxis=axis1 vaxis=axis2;
run;
quit;
15
Cont..
16
Estimated
Cumulative
Excess Risk
of Stage II
as
Compared
to Stage I
Patients
Survival Time in Year
Figure 2: Estimate cumulative excess risk of hazards with 95% confidence interval
Testing in the Nonparametric Additive
Hazard Model
options nocenter;
proc iml;
option={ n, y, n, n, y};
contrast={0 1 -1 0 0, 0 0 1 -1 0};
effects={'z1', 'z2' ,'z3', 'age'};
timeunit={'Years'};
%additive (larynx1, 0.05, timeunit, effects, option, contrast, beta, test);
quit;
17
Cont...
Global Test
Chi-Square d.f p-value
10.9613 4 0.0270
Analysis of Variance
Effect Chi-Square d.f p-value
z1 0.1456 1 0.7027
z2 3.0062 1 0.0829
z3 8.4655 1 0.0036
age 0.2333 1 0.6291
Test of Linear Combinations Contrast Matrix 0 1 -1 0 0
0 0 1 -1 0
Chi-Square d.f p-value
6.8131 2 0.0332
18
For testing H0: beta_1=beta_2
title "beta_1=beta_2";
proc iml;
option={ n, y, n, n, y};
contrast={0 1 -1 0 0};
effects={'z1', 'z2' ,'z3', 'age'};
timeunit={'Years'};
%additive (larynx1, 0.05, timeunit, effects, option, contrast, beta, test);
quit;
19
Cont..
Test of Linear Combinations Contrast Matrix 0 1 -1 0 0
Chi-Square d.f p-value
1.5884 1 0.2076
20
For Testing Ho: beta_1=beta_3
title "beta_1=beta_3";
proc iml;
option={ n, y, n, n, y};
contrast={0 1 0 -1 0};
effects={'z1', 'z2' ,'z3', 'age'};
timeunit={'Years'};
%additive (larynx1, 0.05, timeunit, effects, option, contrast, beta, test);
quit;
21
Cont..
Test of Linear Combinations Contrast Matrix 0 1 0 -1 0
Chi-Square d.f p-value
6.9390 1 0.0084
22
23
Thank you
?