When testing the Proportionnal Hazard assumption in a cox model in R, you usually use the survival::cox.zph()
function.
Output is something like this:
library(survival) my.cox.model = coxph(someFormula) cox.zph(my.cox.model) # rho chisq p # x1:A -0.01166 0.4931 0.483 # x1:B -0.01135 0.4655 0.495 # x1:C 0.00799 0.2328 0.629 # x2 0.02412 2.0777 0.149 # x3 0.00239 0.0204 0.886 # x4 0.00463 0.0767 0.001 ** # GLOBAL NA 37.5889 0.308
But in doing so, I've made 7 tests in a row, so my alpha (I use 5%) may be broken and I could think there is a HP problem for x4
because of sole randomness.
Would it make sense to adjust these p-values for multiple comparisons ?
If yes, would a Bonferroni correction be OK ? And should I account the last line ("Global" test) as a hypothesis test ?
PS: The help ?cox.zph
does not say anything about any correction.
Best Answer
You don't want to do multiple-comparison corrections for cox.zph()
types of tests, as you are trying to protect yourself from something different than Type I errors.
When you are trying to disprove a null hypothesis, you want to convince a skeptical reviewer that your results are not simply false positives due to chance. Multiple-comparison correction is an important part of that effort to minimize Type I errors.
For testing the proportional hazards (PH) assumption, you want to convince a skeptical reviewer that a Cox model with its assumption of PH is a valid approach. In effect you would like to prove the null hypothesis of the cox.zph()
test that PH holds. That isn't formally possible, so you need to be sensitive to any indications that PH is violated and take appropriate action in that case. Put another way, you want to err on the side of potential false-positives for violation of PH. Thus multiple-comparison corrections go in the wrong direction.
I at least start to worry if I find p-values below 0.2 or 0.1 in cox.zph()
, as those values mean that there is only a 20% or 10% chance that such a deviation from true PH is due to chance. I immediately take action if I see "significant" p-values like yours for x4
. You should certainly look at the plots of scaled Schoenfeld residuals over time that cox.zph()
provides, to get a sense of what might be going on. Stratification on the variable(s) potentially violating PH can help.
Similar Posts:
- Solved – Is it necessary to do a Bonferroni correction on a) exploratory analysis b) correlations or c) if there are 3 different dependent variables
- Solved – About the Bonferroni correction
- Solved – About the Bonferroni correction
- Solved – Multiple t-test and Bonferroni correction
- Solved – When to apply FDR procedure when doing many t-tests for many dependent variables