哪种基于 LASSO 的方法对基因数据集产生更多的生物学相关结果?

机器算法验证 聚类 特征选择 套索 高维 混杂
2022-04-16 10:31:46

我有一个包含连续结果变量和一些混杂变量(如年龄、性别……)和许多基因表达(不仅仅是样本)的数据集。目标是找到与结果相关的相关基因。

现在的第一个想法是使用 LASSO(Tibshirani 1996)。关于整个过程出现了一些问题。

  1. 是否在变量选择阶段包括混杂变量并在没有正则化的情况下将它们保留在模型中?我已经看到包含这样的固定变量会改变选定的基因。
  2. 为了只选择稳定的基因,我使用了稳定性选择程序(Meinshausen 和 Bühlmann 2010)。在此过程中需要置信区间还是仅在基本 LASSO 中需要置信区间?
  3. 使用一些 LASSO 泛化(如组 LASSO 或更新的想法)来寻找相关的网络/基因组而不是单个基因是否也有意义?或者可以从 LASSO 中寻找与所选基因相关的基因,以使结果更具可解释性(例如,通过相关性聚类、节点回归、将 LASSO 与基于相关性的组分组……)?这可以在相同的数据集上完成还是需要新的测量?
  4. 可以分析LASSO 模型的残差吗?或者是否使用选定的变量构建普通回归并查看该模型?或者这里的程序是什么?
  5. 你会建议哪种其他方法?
1个回答
  1. 由于您只对基因的影响感兴趣,因此您应该“强制保留”模型中的非基因变量(例如在 R 中,相应变量的glmnet包和选项penalty.factor为零)。或者,您可以首先仅使用混杂变量进行模型,并确定对结果有重大影响的变量,然后将这些变量与第二个完整模型中的基因一起强制保留。另一种方法是对您的数据进行分层,以便您为子组做不同的套索模型(假设您有足够的观察结果),例如,与男性/18-49 岁的男性相比,为女性/18-49 岁选择了哪些基因等。
  2. 正如rep_ho 在对问题的评论中指出的那样,不需要置信区间
  3. 您可以使用组套索或稀疏组套索如果您有可用基因的通路/子网络信息。请注意,vanilla lasso 有一个不受欢迎的特性:如果某些特征是相关的,它倾向于选择其中一个,而忽略其余的其他特征。这转化为组套索,但在组级别(在一些相关组中,它只选择一个组)和稀疏组套索(但这里用于组间和组内级别的相关性)。如果您对特定基因或特定途径更感兴趣,这取决于最初的科学问题(分别是您的结果是什么)。此外,稳定性选择已经是处理相关变量的好主意。此外,您可能想看看弹性网络回归,
  4. 我不确定你指的是什么。我希望您进行交叉验证,然后您实际上是在评估残差以找到最佳值,因此相应的回归系数最能描述您的结果并避免过度拟合。您不应该使用所选功能制作附加模型,而是分析通过交叉验证选择的模型。λ
  5. 套索很好。弹性网可能值得一看。一些支持向量机模型(例如SVEN)被证明类似于套索方法,并且对于不同的套索方法也有贝叶斯替代方案,这可能比套索更精确(“spike-and-slab”,用于概述和缓慢基于 Gibbs 采样的实现见此处,以及更有效的实现:简单的spike-and-slab分组的spike-and-slab稀疏组的spike-and-slab)。(免责声明:最后一个参考是我的一篇论文。)