这是我最近研究工作中遇到的一个有趣现象:有一组含对照与控制样本的多维数据在主成分分析里没有看到差异,但进行差异分析时发现几乎所有维度上都有差异。这就会形成解释数据上的悖论:如果我用主成分分析来进行探索式数据分析,会认为对照组与控制组很难区分;但如果我用单一维度的差异分析去对比,即使经过错误发现率控制,在绝大多数维度上都能看到差异。这里的问题在于,因为你每个维度上都显示了差异,按说整体降维后可视化差异应该很明显才对。那么,这两组数据究竟算有差异还是没差异?

这里我用模拟仿真来重现下这个问题。首先,我们模拟两组数据,对照组与控制组均有100维,都存在1.2倍均值差异,每组十万个点:

library(genefilter)

100个维度

np <- rnorm(100,100,100) z <- c() for(i in 1:100){ case <- rnorm(100000,mean = np[i],sd=abs(np[i])*0.1+1) control <- rnorm(100000,mean=np[i]*1.2,sd …