I have a survival analysis with a categorical predictor called "smth". I want to adjust it for age. I don't have any idea if they can interact or not but I guess they can. Now, about the the terminology: is the "adjustment" more about adding two main effects, in R: ~smth + age, or interacting them: ~smth * age?

Of course, if there is no interaction, the two will be equivalent. But I just wanted to make sure about the terminology and traditions.

In most articles I saw the Cox analysis like ~something + controlled_covariate_A + controlled_covariate_B rather than ~something * controlled_covariate_A * ....

Which one is more "common"? Should I even care about the "+" (main effects only) or by default check the interaction (*) between them, since it's not impossible to have it?

The final outcome will be explored and judged by domain experts anyway. They will decide how to treat the the calculated output.

Sure, I know using the interaction will create a long output, the interpretation will be more challenging, but - well - if I guess something may vary on the level of something else, why ignoring it?

But is such interaction still "controlling for a confounder" or "adjusting for a covariate" according to the "nomenclature"?

  • $\begingroup$ How many cases, events, predictors, and potential interactions are you talking about? The answer depends in part on that. Are there particular interactions that the domain experts think are important to evaluate? $\endgroup$
    – EdM
    Apr 12 '21 at 2:21
  • $\begingroup$ There will be abouft 100 subjects and this gives about 80 events in total. There are no specific interaction of interest, rather expectations it will occur. There will be 4 categorical covariates: 1 will differentiate the curves, 3 will render the groups. I think I found partially my answer - the effects will likely vary across all groups, so interactions sound legit. But is this what is called "adjustment", or "adjusted" means usually "same effect on all levels of the covariate, thus A+B rather than A*B"? $\endgroup$
    – FordTaurus
    Apr 12 '21 at 4:13
  • $\begingroup$ Also, hazards are likely non-proportional, baseline hazards also not equal. $\endgroup$
    – FordTaurus
    Apr 12 '21 at 4:38

You would simply need to have $age$ and $smth$ in the model, as well as the interaction term $age*smth$ in order to adjust $smth$ by $age$. A trick would be to regress $smth$ on $age$ in a simple regression model, then pull back (obtain) the residuals, i.e. $\hat{y}_i$, rename them to a new variable like $smthage$ and employ those in the Cox PH model.


"Adjusting for a covariate" can mean many things. I suspect that additive corrections might be most common, but that doesn't mean that limiting yourself to them is best. If an interaction is important and isn't included, you are likely to get biased results, lower power, and less of an ability to extend results to a population that has different prevalences of the values of the interacting predictors that are associated with outcome.

A good overall strategy in regression modeling, particularly with survival modeling, is thus to work with as complex a model as is reasonable. Frank Harrell's class notes and book, particularly Chapter 4, present useful introductions to multivariable regression modeling strategies.

The problem you face is the relatively small number of cases relative to the number of predictors. Survival modeling is at risk of overfitting if you evaluate more than 1 unpenalized predictor per 10-20 events, with each level of a categorical predictor beyond the first and each interaction term counting as a separate predictor. So unless you do some type of penalization, you are limited to about 6 predictors including interactions.

If you have one binary predictor of primary interest and 3 categorical predictors as covariates, you might be able to get away with each of those as additive terms plus interactions of the primary predictor with each of the covariates separately (total of 7 predictors including interactions). It would be wise to evaluate that model for overfitting with the "optimism bootstrap" explained in Chapter 5 of Harrell and implemented in the validate() function of his rms package in R.

If some of your categorical predictors have more than 2 levels, you need to examine interactions among the covariates not of primary interest, or you have additional covariates to control for, then adding the corresponding extra terms is likely to overfit. You can cut down on the effective number of covariates by combining them usefully first without regard to outcome (Chapter 4 of Harrell) or by using ridge regression to penalize the covariates that aren't of primary interest. See for example the discussion of penalization by Pavlou et al and the comparison by Chen et al of different ways to deal with "too many covariates and too few cases." Penalization reduces the magnitudes of covariates, minimizing overfitting while allowing evaluation of more covariates than otherwise would be possible.

Finally, note that this type of control for covariates can fail if there is confounding (a "treatment," your primary predictor of interest here, and outcome having a common cause), selection bias, or measurement bias. Hernán and Robins discuss those types of complications and ways to deal with them.


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.