0
$\begingroup$

I am looking into how differing brain tumor genetics affects patient survival. I have a gene dataset with around 4600 predictors, which are often strongly correlated with each other. Now I want to compute a Cox model using R's survival package, that combines the best genes for overall survival prediction. How should I approach the feature elimination process? So far I thought about using PCA or clustering approaches as a preprocessing step. However maybe there is an established feature similar to Ridge/LASSO for cox proportional hazards models?

So far I found but there seems to be no R implementation? https://pubmed.ncbi.nlm.nih.gov/17661175/

$\endgroup$
3
  • 1
    $\begingroup$ Don't select features, the process is too noisy. Instead, use some principle components to determine if anything in the genetic data can help with prediction. $\endgroup$ Oct 11, 2021 at 23:57
  • 1
    $\begingroup$ Does this answer your question? How to choose the best combination of covariates in Cox multiple regression? $\endgroup$
    – EdM
    Oct 12, 2021 at 7:50
  • $\begingroup$ @EdM thank you, this is certainly relevant and provides some good pointers, however, the questions do not fully overlap. $\endgroup$
    – florian
    Oct 12, 2021 at 8:26

1 Answer 1

3
$\begingroup$

This is covered somewhat in this answer. Chapter 4 of Frank Harrell's class notes provides much more useful advice on working with multiple predictors.

If you want to evaluate all genes together, ridge regression is a useful choice. You can think of this like PCA in that correlated predictors tend to be in the same principal components, but the components are weighted continuously instead of selected in-versus-out.

If you want to identify a small subset of genes, LASSO will tend to select one out of a set of correlated predictors. Yes, that's a very noisy process in that the particular gene selected from a correlated set might vary from data sample to data sample. But that can work OK in practice for prediction, and it allows you to do things like find genes to develop practical tests that are less expensive than whole-transcriptome analysis. There's also a hybrid between ridge and LASSO called the elastic net. Chapter 6 of An Introduction to Statistical Learning provides background on these and other methods.

You do not do that directly in the R survival package. These methods are implemented for example in the glmnet package for a wide variety of regression models including Cox.

Finally, make sure to include relevant clinical predictors along with gene expression in your model. There's a risk that your gene-expression values will just be serving as a proxy for clinical status as it's evaluated in the standard of care. Thus you need to show that the gene-expression data add something useful for prognostication or for understanding disease progression or therapy resistance.

$\endgroup$
8
  • $\begingroup$ Feature selection is a bad idea in general, and when there are collinearities it's a disaster due to instability. $\endgroup$ Oct 12, 2021 at 13:40
  • 1
    $\begingroup$ @FrankHarrell a counter-example is if gene-expression analysis is a first step in developing a practical test based on a few dozen genes, as in breast cancer. The particular genes selected for Oncotype DX, MammaPrint, and Prosigna tests might well have been selected arbitrarily from sets of correlated genes, but insofar as they represent underlying biological processes they work in practice. Claims that one has found the "most important genes" this way are of course wrong. $\endgroup$
    – EdM
    Oct 12, 2021 at 14:01
  • 1
    $\begingroup$ Not so fast. If you could show that the best available non-parsimonious method yields $R^{2}=0.2$ and the small set of genes yields $R^{2}=0.03$ then you're fooling yourself about the value of the small gene set. And if the gene set is arbitrary isn't that also a problem? $\endgroup$ Oct 12, 2021 at 20:58
  • $\begingroup$ Thanks, I appreciate the discussion. "There's a risk that your gene-expression values will just be serving as a proxy for clinical status as it's evaluated in the standard of care." yes, this is one of the reasons I am actually using a cox model and don't simply look into correlations for example. $\endgroup$
    – florian
    Oct 13, 2021 at 13:20
  • $\begingroup$ That's a great point. The probability that the gene set adds new information not already measured by clinical parameters is adversely affected by poor quality of statistical analysis to find that gene set, and by attempts at parsimony. $\endgroup$ Oct 13, 2021 at 20:39

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.