How do I interpret a Cox hazard model survival curve?

How do you interpret a survival curve from cox proportional hazard model?

In this toy example, suppose we have a cox proportional hazard model on age variable in kidney data, and generate the survival curve.

library(survival)
fit <- coxph(Surv(time, status)~age, data=kidney)
plot(conf.int="none", survfit(fit))
grid()


For example, at time $200$, which statement is true? or both are wrong?

• Statement 1: we will have 20% subjects left (e.g., if we have $1000$ people, by day $200$, we should have approximately $200$ left),

• Statement 2: For one given person, he/she has a $20\%$ chance to survive at day $200$.

My attempt: I do not think the two statements are the same (correct me if I am wrong), since we do not have the i.i.d. assumption (survival time for all people is NOT drawing from one distribution independently). It is similar to logistic regression in my question here, each person's hazard rate depends on $\beta^Tx$ for that person.

• Note that your model assumes independence between event times. – ocram Mar 27 '17 at 19:39
• survival analysis can have independence assumptions – Aksakal Mar 27 '17 at 20:17
• so it seems that the question is really on R coding rather than pure statistics. one needs to know the syntax and the features of particular functions used in the example. if that's the case, isn't this off-topic in some ways? otherwise, you need to explain what's going on to those who don't use R – Aksakal Mar 28 '17 at 14:52

Since the hazard depends on the covariates, so does the survival function. The model assumes that the hazard function of an individual with covariate vector $$x$$ is $$h(t;x) = h_0(t) e^{\beta'x}.$$ Hence, the cumulative hazard of this individual is $$H(t;x) = \int_0^t h(u;x) du=\int_0^t h_0(u) e^{\beta'x} du = H_0(t)e^{\beta'x},$$ where we may define $$H_0(t)=\int_0^t h_0(u) du$$ as the baseline cumulative hazard. The survival function for an individual with covariate vector $$x$$ is in turn $$S(t;x) = e^{-H(t;x)}=e^{-H_0 e^{\beta'x}}=S_0(t)^{e^{\beta'x}}$$ where we define $$S_0(t) = e^{-H_0(t)}$$ as the baseline survival function.

Given estimates $$\hat\beta$$ and $$\hat S_0(t)$$ of the regression coefficients and the baseline survival function, an estimate the survival function for an individual with covariate vector $$x$$ is given by $$\hat S(t;x)=\hat S_0(t)^{e^{\hat\beta'x}}$$.

To compute this in R you specify the value of your covariates in the newdata argument. For example if you want the survival function for individuals of age=70, do

plot(survfit(fit, newdata=data.frame(age=70)))


If you, as you do, omit the newdata argument, its default value equals the average values of the covariates in the sample (see ?survfit.coxph). So what is shown in your graph is an estimate of $$S_0(t)^{e^{\beta'\bar x}}$$.

• I agree with you. This is a nicely written answer. I apologize to the OP for my error and I appreciate the way the OP corrected it. – Michael R. Chernick Mar 27 '17 at 20:47
• @hxd1101 After reading the help page of survfit.coxph more carefully, I have corrected an error in my answer, see update. – Jarle Tufto Aug 26 '17 at 14:28

We will have 20% subjects left (e.g., if we have 1000 people, by day 200, we should have 200 left)? or For a given person, it has 20% chance to survive at day 200?

In its most pure form, the Kaplan-Meier curve in your example doesn't make any of the above statements.

The first statement makes a forward looking projection will have. Basic survival curve only describes the past, your sample. Yes, 20% of your sample survived by day 200. Will 20% survive in next 200 days? Not necessarily.

In order to make that statement you have to add more assumptions, build a model etc. The model doesn't even have to be statistical in a sense like logistic regression. For instance, it could PDE in epidemiology etc.

Your second statement is probably based on some kind of homogeneity assumption: all people are the same.

• I do not think statement 2 is right, since each person have different $x$ and $\beta^Tx$ contributes the hazard. how can we assume all people are the same? – Haitao Du Mar 27 '17 at 21:01
• @hxd1011, it depends on your model. If you were modeling car parts then you could very well assume they are the same. on the other hand their failures could be correlated by the batch number, then they're not the same etc. – Aksakal Mar 28 '17 at 1:48
• I edited my question to be more specific on cox model, is your answer on Kaplan_Meier curve still apply? – Haitao Du Mar 28 '17 at 2:43

Thanks for Jarle Tufto's answer. I think I should be able to answer it by myself: both statements are false. The curve generated is $S_0(t)$ but not $S(t)$.

The baseline survival function $S_0(t)$ will equal to $S(t)$ only when $x=0$. Therefore the curve is NOT describing the whole population or any individual.

Your first option is correct. Generally, $S(t) = 0.2$ indicates that 20 % of initial patients have survived till day $t$, without taking into account censoring. On censored data, it is not exactly correct to say that 20 % were still alive that day, since some were lost to follow-up earlier and their status is unknown. A better way to put it would be estimated fraction of patients still alive that day is 20 %.

The second option (chance to survive one more day, given survival until $t$) is $1-h(t)$, with $h(t)$ denoting the hazard function.

Regarding assumptions: I thought that the usual coefficient tests in a Cox regression setting do assume independence, conditional on observed covariates? Even the Kaplan-Meier estimate seems to require independence between survival time and censoring (reference). But I might be wrong, so corrections are welcome.