171226 PCA主成分分析
2017-12-27 本文已影响51人
琼脂糖
PCA
- 概念
主成分分析:Principle Component Analysis - 主成分分析就是降维,本来应该有n个变量,通过PCA变成了n个主成分,而一般前面的几个主成分就能解释所有的数据了。
理解
- 得到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加权重。
- 得到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 | .. | .. | .. | .. | .. | .. |
... | ... | ... | .. | .. | .. | .. |
- PC plot:每个cell在各个PC的score
- 针对每一个cell(sample),需要这个cell在PC1和PC2上的related 程度衡量的分数。即其与PC1和PC2的pattern相近程度。从而从这两个差异最大的方向来将所有sample进行分类。
- Cell 1 PC 1 Score = (read count * influence score on PC1)所有基因加和 = cell1中基因a的read count基因a在PC1 的loading score + cell1中基因b的read count基因b在PC1的loading score+基因c+基因d...
procomp
用于分析sample如何互相related
1.
pca<-procomp(t(data.matrix),scale=TRUE)
procomp需要行为sample是row,列为gene
2.结果
返回三个结果:
x
sdev
rotation
-
x返回PCs(priciple components)。前两列是PC1和PC2,10个sample,因此有10 PCs。
x是10行10列,10个sample,10个PC。每个数字表示某个sample的所有gene的某个PC score加和。 -
sdev:标准偏差来计算每个PC代表的variation。
计算每个PC的var的百分比。
从百分比可以知道PC1和PC2的重要性有多少。另外因为PC1比PC2重要,因此如果图中两个点的横向距离和纵向距离一样,那么它们也在PC1上的差异更大。也就是横向分类更显著。 -
rotation:即loading scores(每个基因对不同PC的influence score)
image.png
100genes,10PC
参考
- statquest-PCA
- link