I was trying to fit Cox Regression (aka Proportional Hazard) model on some cancer data (N=2288). I got the following output from SAS proc phreg:

Parameter       Chi-Square     p    HR
RaceN           3.7375       0.0532 1.198
Chemo           51.2541     <.0001  0.474
Surgery         251.6561    <.0001  0.211
ChSu            29.4288     <.0001  2.000
Age             53.1842     <.0001  1.018
Stage   1       220.5925    <.0001  0.133
Stage   2       66.7599     <.0001  0.353
Stage   3       24.3555     <.0001  0.720

All variables but Age are categorical. To make sure the model is valid, I tried the following two methods:

  1. log-log plot for categorical variables
  2. plotting Schoenfeld residuals of the model and then fit a line across it, looking at p-value of its slope not being 0

I got the following results:

            Race    Chemo   Surgery     Stage        Age
 Test 1:    ok       BAD    ok        2 n 3 cross    NA
 Test 2: 0.2674   p<.0001   p<.0001     0.4622       0.0655

Following the advice here (http://statistics.ats.ucla.edu/stat/examples/asa/test_proportionality.htm), I created Race_t, Chemo_t, Surgery_t, Age_t, ChSu(interaction of Chemo and surgery) and do another Cox Regression, here's what I got:

 Parameter  Chi-Square     p    HR
 RaceN      27.1173      <.0001 1.888
 Ra_t       57.5135      <.0001 0.999
 ChemoN     0.4524       0.5012 1.086
 Ch_t       36.6052      <.0001 0.999
 Surgery    2.101        0.1472 1.195
 Su_t       96.4175     <.0001  0.999
 ChSu       14.9843     0.0001  1.687
 Age        817.9242    <.0001  1.113
 Age_t      1222.1119   <.0001  1
 Stage  1   169.5012    <.0001  0.162
 Stage  2   68.4689     <.0001  0.29
 Stage  3   6.6744      0.0098  0.839

ALL the time-dependent covariates are statistically significant, while the original ChemoN and Surgery is no longer!!(and the implication goes the other direction!! --> surgery, chemo both lead to higher risk!!) Surprised to see that Ra_t is statistically significant. I am not sure what to make of my results.

Here are my main question:

  1. How should I proceed for my model? What should I look at to decide what to do?

More generally:

  1. Is there a (or a set of) conclusive test for the proportionality assumption for Cox Regression? If so, how to implement it in SAS?
  2. For the subjective / graphical test, how far a departure from expected is too far?
  3. How 'good' (not sure what the statistics terminology is, in terms of Type I and Type II errors?) is the "Including Time Dependent Covariates in the Cox Model" test? E.g. why would Ra_t be significant even if Race1 looks fine in both subjective tests?
  4. Have anyone heard of the Schoenfeld's Global Test of Fitness (http://www.sljol.info/index.php/JNSFSL/article/view/456) I am having difficulty figuring out the expected count in the cells. Any help would be appreciated.

Thank you very much!


This might be helpful:

1) SAS has the statement "assess ph / resample" that you can write out in the PROC PHREG statement which provide you with a visual plot of PH assumption but also a P-value for each covariate in the model. You could use this to assess PH for each covariate. You could also, and I see this often in medical research, introduce an interaction term between each covariate and (log) time; if the interaction is significant then that covariate assaults the PH assumption, and you should keep the interaction in the model to solve the problem!

2) I have no experience in graphical judgment of PH assumption.

3) I do not recall (but someone might correct me) that SAS provides a global test for Schoenfelds residuals, but the R package "survival" does. Perhaps RMS package does, since it's based on the survival package.

  • $\begingroup$ Thank you! I will look more closely into the assess ph / resample command. $\endgroup$ – Clark Chong Aug 26 '14 at 15:44
  • $\begingroup$ Useful reference for the theory behind 1): Lin, Wei, Ying (1993) - Checking the Cox model with cumulative sums of martingale-based residuals This supposedly address my question 4) as well. $\endgroup$ – Clark Chong Aug 26 '14 at 21:06

After some studying, here is what I find:

Before performing test of Proportionality Assumption, one needs to first make sure the model is specified correctly - namely all the desired non-linear relationship and the interaction terms have been included. This is to make sure that PH test would not turn up false positive due to model mis-specification. [Keele2010] To see a more detailed guide to modeling - i.e. steps to follow to make sure the model is valid, you may check out the lecture note (4.10.1) for Professor Harrell's BIOS 330 course: http://biostat.mc.vanderbilt.edu/wiki/Main/CourseBios330

To answer my original question, here are a couple ways - availability depends on what software packages you use:

  1. Scaled Schoenfeld Residual: can be performed using cox.zph in R. Sample code may be found at the UCLA page. It is very fast and can test for several functions of time. SAS doesn't seem to have this functionality implemented.
  2. Cumulative Martingale-based residual: can be performed using "assess ph / resample" command in SAS. Sample code here: http://www.ats.ucla.edu/stat/sas/seminars/sas_survival/default.htm (7.3) It is computationally intensive and not implemented in R.
  3. Including Time Dependent Covariates in the Cox Model: Adding the interaction term between (a function of) time and the covariate of interest and include it in the model. This is NOT the same as creating a covariate consisting of length of followup * original covariate - the variable needs to updated continuously. As such, I don't think R has it implemented. This can be done by using data step with PROC PHREG, again see UCLA page (Method 2). The printout in my original question does this wrongly by creating the time-interaction term in DATA step instead of within PROC PHREG. If done correctly, only Ch_t and Su_t would be significant.

An unresolved question: while each of these tests give you a p-value, you probably don't want to use all of them to avoid Multiple Comparisons problem. So how do these tests compare with each other in their efficacy to detect non PH while minimizing false-positive?


  1. Keele, Luke J. (2010). "Nonproportionally Difficult: Testing for Nonproportional Hazards In Cox Models." Political Analysis. 18:2, 189-205.
  2. UCLA idre: Supplementary notes -- Tests of Proportionality in SAS, Stata and R http://www.ats.ucla.edu/stat/examples/asa/test_proportionality.htm
  3. Professor Harrell's Regression Modelling Strategies Course Note: http://biostat.mc.vanderbilt.edu/wiki/Main/CourseBios330

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.