Hi, first of all, I want to thank all active members here, I found many useful tips and insights here, beside the fact that I learned a lot.
Now its time to ask a maybe „easy“ question, which came up, while I was analysing survival data.
The study is not that complex, I am using a ph cox model with 5 parameters and ph assumption is fulfilled.
Now my results showed, that 1 variable has a HR of 1.0003 (CI: 1.0001-1.0008). Corresponding to the CI it is significant.
The parameter is continuous and has the 2nd highest Chi2 in the model. Beside this, the histogram shows, that it is highly right-skewed, although I already log-transformed it cause of not normal distributed residuals.
Now my question: How do I interpret and report a HR so close to 1? (especially in this log-transformed case)
Could the restricted mean survival time (RMST) maybe be a „better“ measurement?
1 Like
I’m certain that is a meaningless hazard ratio. Were X=male/female, anti-logging \hat{\beta} to get an HR would have been OK. I’ll bet that the HR is the anti-log of a coefficient for a predictor whose range is very, very different from 0-1. That’s why I default to using inter-quartile-range HRs in the R rms
package.
2 Likes
Well I get it, and you are completely right.
The interpretation in the way for example 10 increase in the variable means x-hazard-increase would be definitely better than the one with 1 increase.
And meanwhile I also understood that it is the potency of hazard ratio in this computation.
But now I have two more question:
-
Is there any solution, how one can implement this inter-quartile-range HR into the use of ggforest?
-
Is there a way to transform the HR back to interpret it on the original scale of the logarithmized variable?
Thank you already for your time!
The R rms
summary
function and its plot method gives you a kind of forest plot with one axis per predictor showing a hazard ratio. You can probably program a transformation of the summary
(full name summary.rms
) function to send data to ggforest
with some work.
It is best to present HR, but using a log scale for tick marks. plot(summary(...), antilog=TRUE)
gives you that.
1 Like
Given how small this CI is, I suspect it’s artifactual. What is the sample size here? I once came across a case where misapplication of a clustered variance estimator resulted in an incredibly small CI.
I wouldn’t call it artifactual but would rather call it an inappropriate use of a [0,1] scale for a covariate in computing the HR.
2 Likes
The sample size is 2490. 3 of the parameters in the model are categorical, then I have age as continuous and the one with the small hazard ratio (as a logarithmized one).
What is the range of values for the predictor on the logarithmized scale? You mentioned it was still strongly right-skewed.
1 Like
So you mean that a 0 vs 1 contrast was effectively infinitesimal, relative to the whole range of the covariate?
I do not know what you are measuring. However, check whether the scale is appropriate as the HR is per 1 unit increase in your scale. E.g. if your variable is lung volume measured in millilitres your HR and CI will be quite different compared to a model with lung volume measured in litres.
1 Like