我有一个矩阵,其中是基因数,是患者数。任何处理过此类数据的人都知道总是大于。使用特征选择我已经将降低到一个更合理的数字,但是仍然大于。
我想根据患者的遗传特征计算患者的相似性;我可以使用欧几里得距离,但是 Mahalanobis 似乎更合适,因为它考虑了变量之间的相关性。问题(如本文所述)是马氏距离,特别是协方差矩阵,在时不起作用。当我在 R 中运行 Mahalanobis 距离时,我得到的错误是:
Error in solve.default(cov, ...) : system is computationally
singular: reciprocal condition number = 2.81408e-21
到目前为止,为了解决这个问题,我使用了 PCA,而不是使用基因,而是使用组件,这似乎让我可以计算 Mahalanobis 距离;5 个分量代表大约 80% 的方差,所以现在。
我的问题是:我可以使用 PCA 有意义地获得患者之间的马氏距离,还是不合适?变量之间也有很大的相关性时,是否有其他距离度量有效?