171226 PCA主成分分析

2017-12-27  本文已影响51人  琼脂糖

PCA

  1. 概念
    主成分分析:Principle Component Analysis
  2. 主成分分析就是降维,本来应该有n个变量,通过PCA变成了n个主成分,而一般前面的几个主成分就能解释所有的数据了。

理解

  1. 得到PC
    每个sample研究10000gene(read counts)

考虑1个cell(sample),单轴直线,1-D
考虑2个cell(sample),x-y轴,2-D
考虑3个cell(sample),x-y-z,3-D
...
200个cell,200-D plot

这些维度中,有些维度的差异更大,即对整体数据更具代表性,更重要。每个维度提取差异方向,然后根据variation排序,得到200个PC。

PC1:差异最大的方向
PC2:差异第二大的方向
...
PC200:差异最小的方向

理解:PC1,2其实就是在sample中提出最具代表性(基因间差异最大)的两个,并用来给gene加权重。

  1. 得到loading:每个gene 对某个PC的influence score
    gene1 PC1:gene1在PC1方向上的偏差(绝对值越大,偏离中心越远)
gene influence on PC1 Score
a high 10
b low 0.5
c high -14
... ... ...

实际表格:eigen vector

++ PC1 PC2 PC3 PC4 PC5 ...
Gene a .. .. .. .. .. ..
Gene b .. .. .. .. .. ..
Gene c .. .. .. .. .. ..
... ... ... .. .. .. ..
  1. PC plot:每个cell在各个PC的score

procomp

用于分析sample如何互相related

1.

pca<-procomp(t(data.matrix),scale=TRUE)
procomp需要行为sample是row,列为gene

2.结果

返回三个结果:
x
sdev
rotation

  1. x返回PCs(priciple components)。前两列是PC1和PC2,10个sample,因此有10 PCs。
    x是10行10列,10个sample,10个PC。每个数字表示某个sample的所有gene的某个PC score加和。

  2. sdev:标准偏差来计算每个PC代表的variation。



    计算每个PC的var的百分比。
    从百分比可以知道PC1和PC2的重要性有多少。另外因为PC1比PC2重要,因此如果图中两个点的横向距离和纵向距离一样,那么它们也在PC1上的差异更大。也就是横向分类更显著。

  3. rotation:即loading scores(每个基因对不同PC的influence score)


    image.png

100genes,10PC

参考

  1. statquest-PCA
  2. link
上一篇 下一篇

猜你喜欢

热点阅读