层次聚类
层次聚类(Hierarchical Clustering)通常与热图有关(heatmap)。热图的列代表不同的样本,行代表来自不同样本的基因。红色表示基因高表达,蓝色或紫色低表达。层次聚类根据相似性对行或列进行排序,很容易看到数据中的相关性。下图左边是没有层次聚类,右图是层次聚类。热图通常附有树状图(dendrogram)
在本例中,我们只是将行(Gene)进行聚类。
- 找出哪一个基因与Gene1最相似
- 找出哪些Gene和Gene2最相似,然后找Gene3、Gene4
- 在不同的组合中,找出哪两个基因最相似。将它们合并成一个分类。
- 回到第一步,但是现在把新的分类当作一个单一的基因来对待。
Gene1和Gene3是最相似的,所以为分类1。
回到第一步,把分类1看成一个基因,重复步骤1、2、3。Gene3和Gene4是最相似的,所以为分类2。
因为只剩下分类1和分类2,所以我们合并它们。层次聚类通常伴随着树状图,它既表明了聚类的相似性,也表明了聚类形成的顺序。分类1是最先形成和最相似的,且分支最短。分类2第二相似,也是第二短的分支。包含所有基因的分类3是最后形成的。它有最长的分支。
注意:
1.Gene间相似性怎么确定?
- 确定相似性的方法是任意选择的。然而,基因之间的欧几里得距离(Euclidean distance)被广泛使用。
计算基因之间的欧几里得距离:
距离度量(distance metric):
- 欧几里得距离只是其中一个方法,还有更多的方法,包括:
- Manhattan distance(曼哈坦距离):差的绝对值
选择欧几里得还是曼哈坦距离是随意的,无论是生物学上还是生理上都没有理由选择其中一个而不是另一个。选择一个能让你更深入了解数据的方法。
2.分类(clusters)之间如何比较相似性?
分类之间比较的方法:
为了直观地了解不同方法是如何工作的,假设我们的数据在X-Y平面上展开,现在想象一下,我们已经形成了绿色类和黄色类,我们可以比较灰色的点与:
- 每个类的平均值点(称为“质心”)
- 每个类最近的点(称为“单链”)
- 每个类的最远点(称为“完全连接”)
如果我们使用R,默认设置hclust()是与每个类最远的点,下面三种分类之间比较的热图