关联连续临床变量和基因表达数据

机器算法验证 相关性 分类 主成分分析 连续数据
2022-03-27 07:03:56

在对约 25 个病例和对照的基因表达数据集(约 400 个变量/基因)的 SVM(线性核)分类分析中,我发现基于基因表达的分类器具有非常好的性能特征。对于许多分类和连续临床/人口统计变量(根据 Fisher 精确或 t 检验),病例和对照没有显着差异,但它们在年龄方面确实存在显着差异。

有没有办法表明分类分析结果是否受年龄影响?

我正在考虑将基因表达数据减少到主要成分,并对成分与年龄进行斯皮尔曼相关性分析。

这是一个合理的方法吗?或者,我可以检查 SVM 分析中获得的年龄和班级成员概率值之间的相关性。

谢谢。

1个回答

该数据至少有两种可能性。一种可能性是您的微阵列不包含任何疾病标记。但是,它们确实包含有关年龄的信息,并且由于在您的情况下,患病人群和对照人群的年龄不同,因此您会产生分类性能良好的错觉。另一种可能性是微阵列确实包含疾病标记,而且,这些标记正是 SVM 所关注的。

在这两种可能性中,数据的主要成分似乎都与年龄相关。在第一种情况下,这是因为年龄是数据所表达的。在第二种情况下,这是因为疾病是数据所表达的,而这种疾病本身与年龄相关(对于您的数据集)。我认为没有一种简单的方法可以查看相关值并得出结论是哪种情况。

我可以想出几种方法来不同地评估效果。一种选择是将您的训练集分成年龄相同的组。在这种情况下,对于“年轻”年龄段,正常班级将比疾病班级拥有更多的训练示例,反之亦然。但只要有足够的例子,这应该不是问题。另一种选择是对测试集执行相同的操作,即查看分类器是否倾向于更频繁地对老年患者说“生病”。这两个选项都可能很困难,因为您没有那么多示例。

另一种选择是训练两个分类器。首先,唯一的特征是年龄。这似乎有 0.82 的 AUC。第二个是年龄和微阵列数据。(目前您似乎训练了一个仅使用微阵列数据的不同分类器,它给您的 AUC 为 0.95。显式添加年龄特征可能会提高性能,因此 AUC 会更高。)如果第二个分类器的性能优于首先,这表明年龄不是该数据中唯一感兴趣的内容。根据您的评论,AUC 的改进为 0.13 或更多,这似乎是公平的。