I have a survival dataset which I’ve experimented with to create several Cox PH models using different techniques (lasso, forward selection, backwards elimination etc), however no matter which technique I use, I can’t get a concordance index above 0.57.

The dataset consists of a little over 12,000 rows with 88 variables relating to lung transplantation. The time-to-event is time until death after transplant which is right-censored.

Here is an example model and concordance calculation:

res.cox <- coxph(Surv(pdata$ptime, pdata$death_cens) ~ rcs(tx_age) + rcs(func_stat_tx) + rcs(egfr), pdata, iter.max=100)
concordance.coxph(object = res.cox)

n= 12335 
Concordance= 0.571 se= 0.004397
concordant discordant     tied.x     tied.y    tied.xy 
  20587197   15465375       5400       7011          0

Is there a way of visualising/analysing the data to determine the cause of the poor concordance index?

  • $\begingroup$ Please edit the question to provide a lot more details about the data set (numbers of cases and events, numbers and types of candidate predictors, what you define as an “event”, etc) and an example of a representative model and its results. Otherwise all we can do is point you to generic references on regression modeling. $\endgroup$
    – EdM
    Commented May 27, 2022 at 14:25
  • $\begingroup$ @EdM I've updated it, please let me know if there is any additional info you need $\endgroup$ Commented May 31, 2022 at 13:51
  • $\begingroup$ Most definitely compute and inspect the AUC at multiple timepoints. But nothing will tell you, short of adding more variables in, how to boost the concordance. You can't divinate the outcome from age, GFR, and ECOG alone. $\endgroup$
    – AdamO
    Commented Nov 15, 2022 at 18:22

1 Answer 1


The modeling approaches you mention in the question are all related to removing predictors. It's usually best to keep as many predictors as possible in the model without overfitting. That's particularly true of survival models, which (like binary regression models) can have an omitted-variable bias when any outcome-associated predictor is omitted from a model.

You already are moving in that direction with your flexible modeling of continuous predictors. Why limit yourself to just a few predictors? With so large a data set you should be able to accommodate many dozens of predictors without overfitting. Are there interactions that might be important to include, based on your understanding of the subject matter? Include them, too. If overfitting does become a problem, you could use ridge (L2) penalization (perhaps selectively) while keeping all relevant predictors in the model.

Chapter 4 of Frank Harrell's course notes has a section on "learning from a saturated model." Your data set seems to be large enough to allow that approach. If you follow that along with Chapter 4 and other related chapters of his Regression Modeling Strategies book, you should be able to find a model that uses all of your data with great efficiency. It's possible that your 88 variables don't provide enough information to allow you to discriminate among patient outcomes reliably, but try those approaches before you give up.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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