Fine-Gray Survival Model – Interpret Log Transformed Interaction Term

interactionlogarithmrsurvival

I have a competing risk survival model with a log transformed interaction term and I am not sure how to interpret and report these results.
I'm evaluating the effect of a treatment and the effect modification based of age on cardiovascular disease events as outcome. In this case age is log transformed, because it was not linear.
The model contains the following variables

  • Treatment: treatment 1 and treatment 2
  • Age as continuous variable, log transformed
  • Riskfactor as categorical variable: no hypertension and hypertension
  • Interaction term treatment*log(Age)

This is the model:

library(cmprsk)
cov <- model.matrix(~ factor(treatment)*log(Age) + factor(riskfactor), data=dat02) [,-1]
SurvModel <- crr(dat02$FU, dat02$status, cov, cencode="censored", failcode="Event")
summary(SurvModel)


Output:
Competing Risks Regression

Call:
crr(ftime = dat02$FU, fstatus = dat02$status, 
    cov1 = cov, failcode = "Event", cencode = "censored")

                                    coef   exp(coef) se(coef)      z  p-value
factor(treatment)2                10.204 199569.6284    5.274  2.314 0.021000
log(Age)                           7.021     55.7549    0.940  4.279 0.000019
factor(riskfactor)Hypertension     0.900      2.4587    0.266  3.383 0.000720
factor(treatment)2:log(Age)       -3.017      0.0489    1.270 -2.375 0.018000

I reported the results as a HR of 10.2 for treatment 2 compared to treatment 1 in developing the disease. And a HR of 7.0 for each unit (year) increase of Age.
Now I'm not sure how to include the interaction term results. Also the HRs are rather extreme, could there be a mistake in the log transformation of age?

Could anyone help me with that?

Thank you in advance!

Best Answer

I reported the results as as a HR of 10.2 for treatment 2 compared to treatment 1 in developing the disease. And a HR of 7.0 for each unit (year) increase of Age.

That's incorrect, in several ways.

HR versus coef

The value reported for a coef is for the association of a predictor with the log-hazard of an event. The baseline HR for factor(treatment)2 is given by exp(coef), or 199569.6284 in your case! Yes, that's troubling, but makes (a bit) more sense when you consider the interaction term involved. See below.

log(Age)

The coef value of 7.0, again, is for a log-hazard association with outcome. The HR is 55.7549! That's for 1 natural-log-unit increase of age, not for a 1-year increase in age. Also, as log(Age) is included in an interaction with treatment, the reported value is only for the baseline level of treatment, presumably factor(treatment)1.

The coefficient for a natural-log-transformed continuous predictor represents the change in outcome per e-fold change in the predictor. For example, that could be approximately between Age = 20 and Age = 55 (natural logs of about 3 and 4, respectively). As this answer notes, a different choice of logarithm base can be easier to explain in words. For example, if you use base-2 logarithms, the HR would be per doubling of age. You could choose base-1.1 logarithms to give you the HR for a 10% increase in age.

Implications of the interaction

As treatment is included in an interaction with log(Age), the coef and HR (exp(coef)) reported for factor(treatment)2 are the values when log(Age) = 0 or Age = 1. Did you have any 1-year-olds in your study?

With a significant negative interaction between treatment and log(Age), you need to consider specific ages to estimate the association of treatment with outcome. These calculations are best done on the coef scale, only exponentiating at the end to get the corresponding HR.

For example, someone with Age = 55 has log(Age) = 4.0. Multiply that by the coef value of -3 for the factor(treatment)2:log(Age) interaction, and you get at value of -12. Add that to the coef value of 10 for factor(treatment)2 at the baseline of log(Age) = 0 and you get a net coefficient of -2 for factor(treatment)2 at an age of 55, or a hazard ratio of 0.14 for factor(treatment)2 versus factor(treatment)1. The association of treatment with outcome switches at about Age = 29 in your model.

I can't rule out some problems with the data themselves, and I certainly can't help with interpretation of things specific to the Fine-Gray analysis (which I don't understand very well). The problems in what you show here, however, mostly have to do with the interpretation of the results, in a way that often catches people by surprise when they start modeling with interactions in any type of regression.

Related Question