A simple question on the development of risk prediction models from Cox regressions.

Suppose, as an example, that I want to create a risk score for 1-year mortality in patients with cardiovascular disease. Performing a Cox regression, I found 3 dichotomous variables (yes/no; lets call them variable1, variable2 and variable3 for simplicity), independently associated with the outcome. Each of these variables has a beta coefficient within the regression model.

In order to develop a scoring system to predict the risk of mortality at 1 year, I need to assign a score to the presence of each variable. Obviously, points within the score can (and should) be "weighted" according to the importance of the predictor on the outcome (e.g., variable 1 may give 1 point, while variable3 may give more points, if present).

Which approach should be used to establish how many point should be assigned to each variable in the Cox-Regression? One approach (perhaps naive) would be to transform the beta-coefficients into scores, but I would like to know if there is a more "rigorous" method, and especially if there are reference papers to use as guidance.


Your "naive" method, combining the predictor values with their regression coefficients, is the way to go.

The individual Cox regression coefficients represent the change in log-hazard associated with each of your predictors. That's about as direct a measure of "the importance of the predictor on the outcome" as you can find, if your model is well-calibrated.

Calculating the linear predictor of the model based on all the predictors (sum of products of predictor values times coefficient values) then provides a combined estimate of log-hazard relative to baseline conditions. In your case with only 3 binary predictors and (apparently) no interactions, you only have 8 distinct "scores" to assign that way, so it's pretty simple.

In more complicated cases you can use a Cox model to produce a nomogram that can give a combined linear-predictor value graphically. Harrell has several examples of nomograms in his class notes, with Cox model nomograms specifically illustrated in Chapters 20 and 21. That document, his textbook, and the references therein provide the documentation that you need.

  • $\begingroup$ Thank you! I think this is a good starting point. I still dont get how can I transform the beta-coefficients into a point system, what technique do I need to use and so on. I would give a read to the documents you linked. $\endgroup$
    – pankevedmo
    Apr 10 at 20:37
  • 1
    $\begingroup$ @pankevedmo with only 8 covariate combinations and 1-year survival this is quite easy. With the R survival package and a coxph model, call predict.coxph() on the model with a newdata data frame that has all the same column names for predictors as you used for the model, and with type="survival". The newdata should have a different row for each of the 8 binary covariate combinations and a value of 1 year for the time in each row; the value of your status variable doesn't matter. Output is 1-year survival probability for each combination. With se.fit=TRUE you get standard errors. $\endgroup$
    – EdM
    Apr 10 at 21:28

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.