美文网首页
打开黑匣子 - 用Plink做主成分分析(PCA)的时候到底发生

打开黑匣子 - 用Plink做主成分分析(PCA)的时候到底发生

作者: 深山夕照深秋雨OvO | 来源:发表于2022-09-27 22:54 被阅读0次
    1. 用plink做主成分分析,就短短如下一行代码便能完成。但是plink到底对我的数据作了什么处理?
      plink --vcf mp.vcf --out pca
      plink --vcf tmp.vcf --allow-extra-chr --double-id --out pca

    2. 经过简单查阅得知,PCA是基于欧式距离矩阵的一个降维
      有两个关键词:欧式距离矩阵 / 降维

    另外还能搜到的是:矩阵和特征向量,线性代数
    本文也做个降维处理,只考虑两个维度和三个维度,即矩阵不超过3x3

    义务教育阶段中涉及到的几何都是属于欧式几何,一个基本的定理是:
    对于点A (x,y) 和 点B (m,n),线段AB的长度或者点A到点B的(欧式)距离为:


    欧式距离的公式

    这是在二维空间中,三维空间同理

    对于vcf文件(SNP),其格式可以简化为:每个个体在每一个SNP位点的SNP组成情况:


    vcf文件的简化

    0意味着0/0 (和参考基因组完全一样),1意味着1/0 (杂合子),2意味着1/1 (和参考基因组完全不一样的纯合子)
    A1和A2两个个体的三个SNP的组成情况

    群体遗传学中,PCA通常是表示种群之间亲缘关系的相对远近。图上的每一个点代表一个样本:


    举个例子

    4.所以很容易想到:SNP组成 欧式距离 PCA
    SNP1, SNP2, SNP3(的值)就可以看成x, y, z坐标

    vcf文件的简化

    此时就变成了计算三维空间中的A1和A2两点的距离


    A1和A2的欧式距离也就是 根号5

    用R进行验证:


    用R算的和我算的一样

    这里有3个SNP,是三维空间中的空间距离,所以都不用做任何处理,直接把三个SNP的值当成三个坐标,就能把A1和A2的相对位置画出来
    如果vcf文件中有n个SNP,那算的就是N维空间中的空间距离,这个时候就需要降维到三维以下才能被我们看见

    1. PCA - 基于欧式距离的降维
      欧式几何,那就直接构建一个边长为345的直角三角形:


      即对于距离矩阵为345的这三个点,他们的相对位置就是一个直角三角形

    用R进行验证:


    PCoA如果是基于欧式距离矩阵就和PCA画等号, PCoA并不要求输入距离矩阵的类型

    如图:


    结果就是一个直角三角形
    1. 还存在的问题
      6.1 每个主成分的贡献率
      6.2 环境因子与主成分之间的相关性
      6.3 本文也是对实际问题的一个简化和降维, 理解即可

    相关文章

      网友评论

          本文标题:打开黑匣子 - 用Plink做主成分分析(PCA)的时候到底发生

          本文链接:https://www.haomeiwen.com/subject/ukhxjrtx.html