如何通俗易懂地理解PCA(主成分分析)?

质谱与蛋白质组学 2018-06-21 10:32:21

PCA分析是组学以及医学样本数据分析中常用的一个统计学工具,但是PCA分析有着复杂的计算公式,对于非数理统计专业的人来说,不太好理解。

?

常规的解释是,PCA是一种降维分析,将多个维度的数据简化降维,突出主要成分,所以叫做主成分分析。

?

但是这种解释依然让人云里雾里。

?

如果用一个通俗易懂的例子来阐述PCA分析的原理与思想呢?

?

我们来看这么一个例子:


这个是大英帝国四个地区的17种食物的消费数据(单位克/人/周),你能看出来四个地方的消费有何不同吗?或者说,四个地方哪几个更为接近?谁更为特殊?

?

如果光肉眼看,肯定是很费劲的,而且也不一定准?

?

从数据的结构上来看,以英国4个地区为自变量的话,这么这个数据实际上含有17个维度,每一个维度都不是完全一样,但是每一个维度的近似程度或者疏远程度是有差别的,也就是说,每一个维度对整体变异度的贡献不一样。

?

通俗点说,每种食物的消耗量的差别对“四个地区的饮食区别”这一结果的影响程度是不一样的。

?

那么,我们就需要把哪些对“四个地区的饮食区别”影响最大的食物给筛选出来,然后排序,并依据相关公式进行整合计算,计算出一个新的参数——也就是主成分。排名第一的主成分对整体变异度的贡献最大。

?

对上述数据进行PCA分析,结果如下:


这是第一主成分的区分情况,我们再加上第二个维度:PC2


我们可以看到,PC1对四个地区的区分结果最好,PC2就看不出有什么区分结果了。当然,数据不同,PC1和PC2的贡献度也不同,有时候PC2对数据的区分力度也很大,这要看具体的数据了。

?

总而言之,这里我们成功用数学方法找出了北爱尔兰在英国4地区中的饮食习惯最为特殊,这也符合北爱尔兰的地理位置的特点。

?

从上面的例子我们就可以更好的理解PCA分析的意义,17种食物的数据被PCA成功简化,计算出一个最能反映4地区饮食区别的参数。这就是所谓的降维分析(主成分分析)。

?

比如你有8种样本,6个是近似病理类型的,另外两个是另一大类的疾病类型的样本。这时候对8个样本的蛋白质组学数据进行PCA分析,那么,鉴定到的数千个蛋白的丰度信息经过PCA的计算,其结果一定是某6个聚集在一起,另外2个聚集在一起。

?

假设样本中平均鉴定到3000个蛋白,那么也就意味着本数据有3000个维度,每个蛋白(维度)的相对定量信息的变化在这8个样本中的分布都是不一样的,有些蛋白在8个样本中变异很小,有些很大,有些居中。那么,应用PCA进行降维,将3000个维度降至2-3个维度,从而简化了数据,突出了主要矛盾。

?

是为PCA的原理。