How to deal with non-proportional hazard Cox models?

Rets

New Member
#1
Dear all,

I want to run a Cox model to see if there is an interaction between two treatments. However, the test to see if proportional hazard is respected suggests that it is actually not respected. So I don't know what other statistical survival analysis to do because it means I cannot rely on the cox model conclusions? Or that the conclusions may just be less powerful that if proportional hazard would have been respected? What alternative tests I could do in this case? I was thinking about "survreg" models, but I am not sure what distribution to use and with only 4 dates I think it does not make sense to have a timescale distribution with so few dates? In R, I can only run survreg with Gaussian or logistic distributions, but I think none of these should be considered in my case.

Thank you very much if you can help me or guide me on this.
Best wishes and please see below further explanations:

Experiment overview: There is four conditions (a= no treatment, b= antibiotics, c=antihypertensive and d=antibiotics+antihypertensive). I had 150 animals (tiny) per condition, so 600 in total. I followed the survival/death at days 0 (all alive), day 2, day 4 and day 6 of the experiment.

Here is a bit of the Rcode:
fit1 <- coxph(Surv(a$time, a$survival) ~ antibiotics + antihypertensive + antibiotics:antihypertensive, data = a)
summary(fit1)
test.ph <- cox.zph(fit1)
test.ph

> test.ph
rho chisq p
antihypertensiveyes -0.0806 4.34 0.037260
antibioticsyes 0.0794 4.18 0.040944
antihypertensiveyes:antibioticsyes -0.0467 1.45 0.228140
GLOBAL NA 18.36 0.000371

--> no proportional hazard

Thanks a lot,
Best wishes
Rets
 

hlsmith

Less is more. Stay pure. Stay poor.
#3
Was group assignment randomized and where is the "interaction", or did you not mean to use that word?
 

hlsmith

Less is more. Stay pure. Stay poor.
#5
Yeah i see that now but is it really an interaction or just three treatment groups? What happens when you run the model with a categorical variable?
 

Rets

New Member
#6
It is an interaction because one group is treatment A, the other is treatment B and the other is treatment A+B (plus controls for which none treatment was done). The two variables "antihypertensive" and "antibiotics" are categorical variables with two modalities "presence/absence" (ie, yes/no). I have tried to merge both variables into a unique variable with 4 modalities ("yesyes", "nono", "yesno", "noyes") but the results are similar. I have attached the dataset if you want to give a glance.

>test.ph
rho chisq p
one.varnoyes -0.0806 4.34 0.037260
one.varyesno 0.0794 4.18 0.040944
one.varyesyes -0.0656 2.86 0.090832
GLOBAL NA 18.36 0.000371
 

Rets

New Member
#8
dataset + Rcode:
> library(survival)
> library(ggplot2)
> library(ggpubr)
> library(survminer)
>
> a<-read.delim("surv.txt")
>
> survobj <- Surv(time = a$time, event = a$survival, type='right') # Important about the "survival" variable: 2= dead, 1=alive in the notation, which is different from the code above for which dead=0, alive=1 !!
> # Plot survival distribution of the total sample
> # Kaplan-Meier estimator
> fit0 <- survfit(survobj~1, data=a)
> fit1 <- survfit(survobj~one.var, data=a)
>
> res.cox <- coxph(Surv(time, survival) ~ one.var, data = a)
> res.cox
>
> test.ph <- cox.zph(res.cox)
> test.ph

> res.cox2 <- coxph(Surv(time, survival) ~ antihypertensive + antibiotics + antibiotics:antihypertensive, data = a)
> res.cox2
>
> test.ph2 <- cox.zph(res.cox2)
> test.ph2
 

hlsmith

Less is more. Stay pure. Stay poor.
#9
I will be transparent and state that I don't work that much with survival analyses, about a project every other year. So I am helping but don't think my rebuttals are the definitive truth.

Yes, now that I have seen your data it is an interaction. I am comfortable in SAS for survival, so I played around with your data in that program. I got the following for results:



1580829962689.png

I wonder if your PH assumption issue is coming from that you have discrete time points for events. I am less savvy with this type of survival analyses. But how proportional can things be if the time values are restricted to minimal values. I would be curious on how discrete survival folks address this.

1580830500526.png
 

hlsmith

Less is more. Stay pure. Stay poor.
#10
I am running another survival study today and this is what my PH checks look like. the bottom one fails the test, by you can see what the above graphs would look like if they had an extended follow-up:

1580834898472.png
 

Rets

New Member
#11
Hi hlsmith,
Thank you for this !!
So the statistical results you obtained in the table suggest that no significant interaction occured and that only the antibiotics had an effect on survival ? Not sure how to interpret the graphs for proportional hazard checks... but maybe with so few follow-ups, it does not make real sense? Or maybe the cox analysis is just not appropriate in this case, I'm a bit confused I must say because I don't see alternative for testing interaction. Maybe I should just run pairwise comparisons using the logrank test...