层次聚类(hierarchical clustering)通常和热图(heatmap)密切相关。
绘制热图前,通常需要进行数据标准化处理。
关于数据标准化处理的内容,改天再补充。
层次聚类过程
假设我们现在有一个4×3的表达矩阵,希望对不同Gene进行聚类分析。
image第一步,找出哪个Gene同Gene 1最相似;
image通过颜色(表达值)很容易判断出Gene 1和Gene 2不相似,Gene 1和Gene 3/4相似,并且Gene 1和Gene 3的相似度是最大的
第二步,判断出Gene 2和Gene 4最为相似(然后依次判断Gene3/4的最似Gene)
image第三步,在上述那些最似组合中,判断出哪两个Gene相似度最高,并将它们合并为一簇
image在这里,Gene 1/3之间的相似度最高
第四步,重复第一至三步,只是现在需要将Cluster 1看作一个单位;通过比较发现Cluster 1同Gene 4最似
image之后,我们依次获得,Gene 2 同Gene 4最似,Gene 4同Gene 2最似;其中Gene 2和Gene 4的相似度最高,合并为一簇
image
第五步,由于只剩下两个Cluster,所以我们将Cluster 1/2合并为Cluster 3
image系统树构建
层次聚类结果通常伴随系统树一起展示,系统树不仅可以表现变量之间的相似性,也可以表明cluster形成顺序。
image图片上把cluster1 2 3 标记来
上图中,Cluster 1分枝最短,表明其最先形成,它包含的两个变量相似度最大;Cluster 2分枝次短,它是第二个形成的,它包含的两个变量形似度也是第二相似;Cluster 3包含所有变量,分枝最长,是最后一个形成的。
相似性计算原理
欧式距离
假设现在有一个2×2的表达矩阵
imageGene 1/2的欧氏距离(Euclidean distance)为
image即,最终计算得出数值为3.2。
如果有3个样本的话,只需要延长公式即可
image其他可用来度量距离的方法有曼哈顿距离(manhattan distance)
image二者的计算结果存在些许差异,没有绝对意义上谁优胜于谁,可以根据自己的需求来选择(哪种方法得到的结果好就选哪个)
imagecluster比较
前面说到,通过比较发现Gene 1/3之间相似性最大,然后将二者合并为Cluster 1,之后会用culster 1同其他基因继续比较。那么如何在cluter之间进行比较呢?
假设现在已经有两个cluster,绿色和橘色,现在需要判断灰色点属于哪一个cluster。
1.重心法(centroid) :比较灰色点同每个cluster的中心距离
image2.最短距离法(single-linkage) :比较灰色点同每个cluster最临近点的距离
image3.最长距离法(complete-linkage) :比较灰色点同每个cluster最远处点的距离
imageR语言中
hclust
函数的默认方法为complete-linkage
不同方法比较出来的cluster也存在些许区别,一般不用过多关注,选择层次聚类软件的默认设置就可以了。
image
网友评论