Hierarchical 聚类原理

层次聚类(hierarchical clustering)通常和热图(heatmap)密切相关。

绘制热图前,通常需要进行数据标准化处理。

关于数据标准化处理的内容,改天再补充。

层次聚类过程

假设我们现在有一个4×3的表达矩阵,希望对不同Gene进行聚类分析。

第一步,找出哪个Gene同Gene 1最相似;

通过颜色(表达值)很容易判断出Gene 1和Gene 2不相似,Gene 1和Gene 3/4相似,并且Gene 1和Gene 3的相似度是最大的

第二步,判断出Gene 2和Gene 4最为相似(然后依次判断Gene3/4的最似Gene)

第三步,在上述那些最似组合中,判断出哪两个Gene相似度最高,并将它们合并为一簇

在这里,Gene 1/3之间的相似度最高

第四步,重复第一至三步,只是现在需要将Cluster 1看作一个单位;通过比较发现Cluster 1同Gene 4最似

之后,我们依次获得,Gene 2 同Gene 4最似,Gene 4同Gene 2最似;其中Gene 2和Gene 4的相似度最高,合并为一簇

第五步,由于只剩下两个Cluster,所以我们将Cluster 1/2合并为Cluster 3

系统树构建

层次聚类结果通常伴随系统树一起展示,系统树不仅可以表现变量之间的相似性,也可以表明cluster形成顺序。

图片上把cluster1 2 3 标记来

上图中,Cluster 1分枝最短,表明其最先形成,它包含的两个变量相似度最大;Cluster 2分枝次短,它是第二个形成的,它包含的两个变量形似度也是第二相似;Cluster 3包含所有变量,分枝最长,是最后一个形成的。

相似性计算原理

欧式距离

假设现在有一个2×2的表达矩阵

Gene 1/2的欧氏距离(Euclidean distance)为

即,最终计算得出数值为3.2。

如果有3个样本的话,只需要延长公式即可

其他可用来度量距离的方法有曼哈顿距离(manhattan distance)

二者的计算结果存在些许差异,没有绝对意义上谁优胜于谁,可以根据自己的需求来选择(哪种方法得到的结果好就选哪个)

cluster比较

前面说到,通过比较发现Gene 1/3之间相似性最大,然后将二者合并为Cluster 1,之后会用culster 1同其他基因继续比较。那么如何在cluter之间进行比较呢?

假设现在已经有两个cluster,绿色和橘色,现在需要判断灰色点属于哪一个cluster。

1.重心法(centroid) :比较灰色点同每个cluster的中心距离

2.最短距离法(single-linkage) :比较灰色点同每个cluster最临近点的距离

3.最长距离法(complete-linkage) :比较灰色点同每个cluster最远处点的距离

R语言中hclust函数的默认方法为complete-linkage

不同方法比较出来的cluster也存在些许区别,一般不用过多关注,选择层次聚类软件的默认设置就可以了。

Reference

https://www.youtube.com/watch?v=oMtDyOn2TCc

申明

本文是根据StatQuest系列视频整理而来
已获得Josh Starmer授权说明
感谢久久琼殷不辞辛苦将视频转载至B站

Permmsion

你可能感兴趣的:(Hierarchical 聚类原理)