通过PCA进行的Mahalanobis距离


10

我有一个 ñ×p 矩阵,其中 p 是基因的数量, ñ是患者人数。任何使用过此类数据的人都知道p 总是大于 ñ。使用功能选择我已经p 下降到一个更合理的数字 p 仍然大于 ñ

我想根据患者的遗传特征计算其相似度;我可以使用欧式距离,但是马哈拉诺比斯似乎更合适,因为它考虑了变量之间的相关性。问题(如在此说明的)是Mahalanobis距离,特别是协方差矩阵,不工作时ñ<p。当我在R中运行马氏距离时,得到的错误是:

 Error in solve.default(cov, ...) :    system is computationally
 singular: reciprocal condition number = 2.81408e-21

到目前为止,为了解决这个问题,我使用了PCA,而不是使用基因,而是使用了成分,这似乎使我能够计算出马氏距离。5个分量代表方差的80%,所以现在ñ>p

我的问题是:我可以使用PCA有意义地获取患者之间的马氏距离,还是不合适?是否有替代距离指标在以下情况下起作用ñ<p 并且之间也有很大的相关性 ñ 变量?


PCA可打破变量的相关性,除非你使用像一个倾斜的旋转。我也不确定方差分配PCA将如何影响相似患者之间的马氏距离。
米歇尔

如果PCA打破了变量相关性,我可以使用其他距离度量标准(例如Pearson距离)代替马氏距离吗?
user4673 2012年

我所知不足以进一步推荐。我希望其他人能加入对话。:)鉴于变量缩减技术的PCA工作原理,我很好奇是否可以在输出中使用任何距离度量。
米歇尔

我不是该领域的专家。我只想分享一下,这是您的一个类似问题,我使用了corpcor软件包中的 'cov.shrink' 。
布鲁诺·索萨

Answers:


8

如果保留PCA的所有组件-那么新PCA空间中患者之间的欧几里得距离将等于观察变量空间中患者的马氏距离。如果您要跳过一些组件,那将有所变化,但是无论如何。这里我指的是单位方差PCA组件,而不是指方差等于特征值的类型(我不确定您的PCA实施情况)。

我只是说,如果您想评估患者之间的马氏距离,可以应用PCA并评估欧几里得距离。在应用PCA之后评估马氏距离对我来说似乎毫无意义。


这是一篇简短的文章,讨论了这种关系:布雷顿,RG马氏距离及其与主成分评分的关系化学计量学报,Wiley-Blackwell,2015,29,143-145。dx.doi.org/10.1002/cem.2692。请注意,默认情况下,化学计量学中的PCA是数据的纯旋转,因此不是 Dmitry所指的单位方差版本。
cbeleites对SX不满意,2016年

2

看一下以下论文:

Zuber,V.,Silva,APD和Strimmer,K.(2012)。高维全基因组关联研究中同时SNP选择的新算法BMC生物信息学13(1),284。

它完全可以解决您的问题。作者假设使用了新的变量重要性度量,除了他们较早地针对解释变量的相关矩阵引入了一种适合您问题的惩罚估计方法。他们还使用马氏距离进行去相关!

这些方法包含在R-package“护理”中,可在CRAN上获得


0

在文献中使用PCA分数(或PCA结果)来计算样本与样本分布之间的马氏距离。有关示例,请参见本文。在“分析方法”部分下,作者声明:

通过评估相关矩阵的主成分(PC)(681×681),可以将荧光光谱的数据集(681)缩小为较低维度(11)。PC分数是通过沿PC投射原始数据来估算的。数据集之间的分类已使用马氏距离模型通过计算PC分数的马氏距离来完成。

在文献和GRAMS IQ化学计量软件的帮助菜单中,我还看到了基于PCA /马氏距离判别分析的其他示例。这种组合很有意义,因为当变量数大于可用样本数时,马氏距离不能很好地工作,而PCA减少了变量数。

一类分类机器学习算法(即,隔离林,One-ClassSVM等)是基于PCA / Mahalanobis距离的判别分析的可能替代方法。在我们的实验室中,隔离森林与数据预处理相结合在近红外光谱的分类中产生了良好的结果。

稍微相关一点,对于高维数据,使用PCA / Mahalanobis距离进行离群值或新颖性检测通常需要计算Mahalanobis距离截止值。这个文章表明,截止可以作为被计算的卡方分布的临界值的平方根,假设数据是正态分布的。该临界值需要自由度的数量和与数据关联的概率值。这篇文章似乎建议保留的主成分数量等于计算临界值所需的自由度数量,因为作者使用数据集中的特征数量进行计算。


欢迎来到我们的网站。由于答案中没有明确指出,您能否解释一下它如何解决ñ<p问题所处的环境?
ub

当n <p时,PCA用于减少p。PCA分析(nc)中保留的分量数通常比p小得多,根据n的大小,它也可能小于n。因此,PCA将“ n by p”问题更改为“ n by nc”问题。在我们分析近红外光谱的实验室中,p代表波长数,通常大于两千。n表示训练样本的数量(约20到150)。nc通常为3到11。当n> nc时,PCA / Mahalanobis分析产生良好的结果。
谢里夫·迪亚洛

1
问题不是PCA做什么。该站点的其他线程对此进行了很好的介绍。问题在于,由于协方差矩阵的奇异性,在这种情况下通常无法计算马哈拉诺比斯距离:这是问题中描述的情况。
ub

感谢您的友好评论。看来我们对用户的要求有不同的解释。公认的答案是:“如果要评估患者之间的马氏距离,则可以应用PCA并评估欧几里得距离。在应用PCA之后评估马氏距离似乎没有意义……”。我认为最后一句话与我所看到和引用的文献不一致。你怎么看?最好的祝福。
谢里夫·迪亚洛

1
得到它了。谢谢 :)!
谢里夫·迪亚洛
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.