查看原文
其他

StatQuest生物统计学专题 - 聚类及其算法(1)

冰糖 生信菜鸟团 2022-06-07

目录

聚类的最常见使用场景——热图经典聚类算法之“层次聚类”详解聚类热图的数据的标准化

聚类有两种最常用的算法:层次聚类(Hierarchical Clustering)和K-means聚类(Kmeans clustering)。

层次聚类是最常见的聚类方法,也是生物信息学中热图中采用的最经典的方法。

聚类:一言以蔽之,就是物以类聚,人以群分。

将看似杂乱无章的基因或样本等数据按照其相似性的不同而分为不同的类别,从而呈现出一定的规律。

比如有6个基因,其表达值分别为6、15、9、3、22、18,那么根据相似度分为两类:6、9、3为一类,15、22、18为一类。

聚类的最常见使用场景——热图

聚类最常见的使用场景就是热图,如下图所示为一个聚类前后的热图对比:左边为未聚类的热图,右边为聚类后的热图。横轴为样本代号,纵轴为基因。

可以发现在聚类前,整个热图的基因分布是一种随机化分布,没有规律,而在聚类后,相似表达的基因被归类到一起,开始呈现出一定的规律。样本(横轴)的规律亦然。

StatQuest-XVIII-1

聚类热图往往还会有一个进化树,从进化树可以得出所有聚类的数量和先后顺序。

如下图所示的一个示意进化树,每个分支为一个聚类,共有4个分支,所有共有4个聚类。

分支的长短决定聚类的先后顺序,下图的进化树从下往上分支依次变长,所以分支1先于分支2,分支2先于分支3,等等。这个顺序也代表相应的聚类顺序。(这个顺序在后面的具体算法细节中会知道,不过这个顺序在热图中并不重要)

StatQuest-XVIII-2

经典聚类算法之“层次聚类”详解

层次聚类是一种迭代算法,循环往复的进行如下计算,直至得出所有的聚类(为简单起间,只以基因为聚类变量):

  1. 从第一个基因开始,找到与此基因最相似的基因;

  2. 然后是第二个基因,找到与此基因最相似的基因;

  3. 如此操作,直至所有的基因组合之间的相似性都被计算;

  4. 然后最相近的两个基因组合成一个聚类;

  5. 将聚类看做一个整体,重复1-4步;

下面以一个例子来说明:

StatQuest-XVIII-3

共有3个样本、4个基因,为简单起见,只对基因进行聚类。

  1. 从第一个基因开始,找到与此基因最相似的基因

    从图示可以看出Gene1与Gene2不相似,Gene1与Gene3很相似,Gene1与Gene4比较相似。Gene1与Gene3最相似;

  2. 然后是第二个基因,找到与此基因最相似的基因

    从图示可以看出,Gene2与Gene3不相似,Gene2与Gene4有点相似。Gene2与Gene4最相似;

  3. 如此操作,直至所有的基因组合之间的相似性都被计算

    从图示可以看出,Gene3与Gene4不太相似;

    至此,所有两两组合的相似性都被得出。

  4. 然后最相近的两个基因组合成一个聚类

    最相似的组合是Gene1与Gene3,所以将Gene1和Gene3作为一个聚类Cluster1;

    StatQuest-XVIII-4
  5. 将聚类看做一个整体,重复1-4步

    将Cluster1作为一个整体,重新进行上述1-4步的计算:

    Cluster1和Gene2不相似,Cluster和Gene4比较相似;Gene2和Gene4很相似。

    上述组合中最相似的是Gene2和Gene4,所以将Gene2和Gene4作为一个聚类Cluster2。

    至此将两个聚类合并即可完成基因聚类。

    StatQuest-XVIII-5

    同时,我们还可以得出此时的进化树,如上图,Cluster1先得出,所以分支较短,Cluster2后得出,所以分支较长。同时共有2个一级聚类,所以也就只有2个一级分支。

上述过程的细节

上述过程还有2个细节没有说明,那就是:

  1. 相似性是如何定义的?

    大部分情况下,我们都是使用欧氏距离作为相似度的衡量。

    比如对于如下RNA-seq数据:

           #Sample
           #1        #2
    Gene1   1.6       0.5
    Gene2  -0.5      -1.9

    欧氏距离为

    距离越小,两者的相似度就越高。

    除了欧氏距离外,还有很多距离可供选择,如曼哈顿距离以及切比雪夫距离等。

  2. 聚类如何作为一个整体?

    整体的值可以由聚类的成分来决定,这里有3种方法,常见的就是将聚类中的各成分的值平均即可,也可以采用成分中的最大值或最小值。

不同的相似度衡量方法(不同的距离计算方法)以及不同的聚类整体值的计算方法还是会很大程度上影响聚类热图的效果。

聚类热图的数据的标准化

为了获得更好的热图,热图中的基因表达值往往已经经过了标准化,标准化方法是

StatQuest-XVIII-6

标准化可以按照基因进行标准化,也可以按照样本标准化,也可以进行全局标准化。

对基因进行标准化,那么只有同一基因的不同样本之间的表达值才可以进行比较,不同基因间不能比较表达值差异;对样本进行标准化同理。

如果是对全局数据进行标准化,那么就需要注意异常值的影响。如果有异常值,由于异常值往往很大或很小,标准化后异常值和其他所有值之间的相似度就会很小,会单独作为一类,而其他所有的值归为一类。聚类也就没有了意义。

本周的聚类就到这里,下周将会探索聚类的另一种算法——K-means聚类。

专题以往文章

  1. StatQuest生物统计学专题 - 基础概念

  2. StatQuest生物统计学专题 - p值

  3. StatQuest生物统计学专题 - 生物重复和技术重复

  4. StatQuest生物统计学专题 - RPKM,FPKM,TPM

  5. StatQuest生物统计学专题 - library normalization进阶之DESeq2的标准化方法

  6. StatQuest生物统计学专题 - library normalization进阶之edgeR的标准化方法

  7. StatQuest生物统计学 - Independent Filtering

  8. StatQuest生物统计学 - FDR及Benjamini-Hochberg方法

  9. StatQuest生物统计学 - 拟合基础

  10. StatQuest生物统计学 - 线性拟合的R2和p值

  11. StatQuest生物统计学专题 - 分位数及其应用

  12. StatQuest生物统计学专题 - 极大似然估计

  13. StatQuest生物统计学专题 - PCA

  14. StatQuest生物统计学专题 - PCA的奇异值分解过程

  15. StatQuest生物统计学专题 - LDA

  16. StatQuest生物统计学专题 - MDS

  17. StatQuest生物统计学专题 - tSNE的基础概念

参考资料

StatQuest课程:https://statquest.org/video-index/


猜你喜欢

生信基础知识100讲

生信菜鸟团-专题学习目录(5)

生信菜鸟团-专题学习目录(6)

生信菜鸟团-专题学习目录(7)

还有更多文章,请移步公众号阅读

▼ 如果你生信基本技能已经入门,需要提高自己,请关注下面的生信技能树,看我们是如何完善生信技能,成为一个生信全栈工程师。

   

▼ 如果你是初学者,请关注下面的生信菜鸟团,了解生信基础名词,概念,扎实的打好基础,争取早日入门。

   


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存