PCA的数学推导
以测量植物株高为例,X矩阵为不同的sample对应两个生物学重复的株高数据:
如果以rep_1和rep_2的植株高度建立二维坐标
理论上同一个sample的两个生物学重复之间株高应该是相同的,但是目前同一个sample的两个生物学重复之间株高是不同的,那么我们的目的是挖掘是什么因素带来了这种差异
对于二维坐标来说,PCA降维的思想主要是找到一个方向,使得各个数据点投影到这个方向上后,数据的方差达到最大
由上图知,rep_1的株高要比rep_2的株高要高
设 γ1 为该方向的单位向量,定义X矩阵为行向量空间,即每一行代表一个数据点
那么 X·γ1 代表X矩阵的行向量向单位向量 γ1 做投影
我们的目的是求解投影后的数据方差达到最大值时的单位向量 γ1
并且引入限制条件,即 γ1 是单位向量 :
利用拉格朗日算子:
求最值:
由上式得,我们要求解最大的 λ和γ1 ,即求解左边矩阵的特征值和特征向量,满足最大的要求;这就解释了为什么PCA降维后的PC1,PC2是由数据矩阵与自己的转置相乘后,得到的新矩阵特征分解后得到的特征向量,并且 X^T·X 为对称矩阵,它分解的特征向量相互正交
回到最初的向量空间,假设我们由两个样本,且该特征向量 γ1 = [ 0.83, 0.55 ]
那么 X·γ1 相当于向 γ1 做投影,而 γ1 的两个值相当于是权重
假设 sample_1中rep_1的株高为10,而rep_2为3; sample_2中rep_1的株高为13,而rep_2为5:
该矩阵乘特征向量的过程可以视为计算加权平均的过程
我们可以看到,特征向量的权重(0.83,0.55)对投影影响比较大,如果把每一个特征向量定义为一个潜在因子,那么特征向量里面的每一个值代表权重,即对变量的影响;0.83 保留了rep_1的大部分信息,0.55 保留了rep_2将近一半的信息(相比较于rep_2,rep_1的0.83可以看作是保留了0.83的影响,而rep_2保留了0.55的影响)
由上图知,潜在因素对rep_1的影响比较大,而对rep_2的影响相对小一些,那么结合生物学意义,该因素可能是人为实验操作,操作rep_1和rep_2的可能是两个同学进行的(因为常规情况下,rep_1和rep_2的株高应该是相同的)
数形结合
我们知道,特征分解后对应特征值最大的特征向量为PC1,第二大特征值对应的特征向量为PC2
基于常规理解,同一个sample的rep_1和rep_2株高应该是相同的,但现在同一个sample的rep_1和rep_2株高是不同的,所以我们要挖掘是说明因素导致rep_1和rep_2株高的不同
我们发现,如果每个sample(图中每个点代表不同的sample)对应的都是rep_1的值要大于rep_2(常规理解下),那么特征向量 γ1(PC1)更靠近于rep_1这根轴,靠近rep_1这根轴意味着,rep_1的数值要比rep_2的数值大一些;并且该特征向量 γ1(PC1) 的横坐标的值会比纵坐标的值大一些,我们把二者联系起来知道,特征向量 γ1(PC1)的横纵坐标差距越大代表这两个组别(rep_1和rep_2)株高数值的差异也会很大,因此体现出该 Factor 对两个组别数值的影响很大,具体表现为该Factor使rep_1的数值大于rep_2的
如果把特征向量 γ1(PC1)定义为某一个因素,那么横坐标值代表Factor对 rep_1 的影响,纵坐标的值代表对 rep_2 的影响,那么翻译为生物学语言即为,Factor对 rep_1 的影响较大,对 rep_2 的影响较小
网友评论