树状图
树状图(英文:Dendrogram)是一种用于表示对象之间层次聚类关系的树形结构图。它广泛应用于统计学(英文:Statistics)、生物信息学(英文:Bioinformatics)、系统发育学(英文:Phylogenetics)和数据挖掘(英文:Data mining)等领域。树状图通过分支的长度和结构,直观展示不同数据点或类群之间的相似性(或差异性)以及聚合过程。
核心概念与结构
树状图本质上是一个二叉树(英文:Binary tree),其基本组成部分包括:
叶子节点(英文:Leaf nodes):代表最原始的单个数据点、观测对象或操作分类单元(OTUs)。
内部节点(英文:Internal nodes):代表由两个或多个子节点(可以是叶子节点或其他内部节点)聚合而成的簇(Cluster)。
根节点(英文:Root node):位于树状图顶端的节点,代表将所有对象聚合在一起的最终簇。
分支/边(英文:Branches/Edges):连接节点,其长度(英文:Branch length)通常表示两个节点之间的距离(英文:Distance)或不相似度(英文:Dissimilarity)。
主要类型
根据分支方向,树状图主要分为两种:
纵向树状图:根节点在上方,分支向下延伸。这是最常见的类型,便于展示聚合过程。
横向树状图:根节点在左侧,分支向右延伸。适合标签较长的对象展示。
表1:树状图与相关图表的比较
| 特征 | 树状图 | 系统发育树 | 树形图 |
|---|---|---|---|
| 主要目的 | 展示数据点层次聚类结果 | 展示物种/基因的进化关系 | 展示层次结构(如文件目录) |
| 分支长度意义 | 通常代表簇间距离/不相似度 | 代表进化时间/遗传变化量 | 通常无特定长度意义,重在拓扑结构 |
| 关键应用领域 | 数据聚类、分类学 | 进化生物学、比较基因组学 | 信息可视化、组织结构图 |
构建方法与步骤
树状图是层次聚类分析(英文:Hierarchical Clustering)的输出结果。构建过程主要包含以下步骤:
定义距离矩阵:计算所有对象两两之间的距离(英文:Distance metric)(如欧氏距离、曼哈顿距离)或相似度(英文:Similarity metric)。
选择连接方法:决定如何计算新形成的簇与其它簇/点之间的距离。常用方法包括:
单连接(英文:Single Linkage):取两个簇中最近两点间的距离。
全连接(英文:Complete Linkage):取两个簇中最远两点间的距离。
平均连接(英文:Average Linkage):取两个簇中所有点对距离的平均值。
沃德法(英文:Ward's Method):最小化聚类后产生的总方差增量。
迭代聚合:将距离最近的两个对象/簇合并为一个新簇,更新距离矩阵,重复此过程直至所有对象合并为一簇。
绘制图形:根据合并顺序和距离,以树形结构可视化整个过程。
解读与应用
如何解读
纵向阅读:从底部叶子节点开始向上看,可以看到对象如何一步步聚合成更大的簇。
分支长度:分支越短,表示被合并的两个对象/簇越相似。在根节点附近的长分支通常表示将差异很大的最终簇合并。
确定簇数:通过水平“切割”树状图(在某一高度画一条水平线),与垂直线相交的分支数即为该高度下建议的簇数目。
主要应用领域
基因表达分析:对基因或样本进行聚类,识别共表达模式。
系统发育学:构建展示物种或基因进化关系的系统发育树(英文:Phylogenetic tree),是树状图的特化应用。
社会网络分析:对个体或群体进行聚类,发现社区结构。
商业与市场研究:对客户、产品进行细分。
文本挖掘:对文档或词汇进行主题聚类。
优点与局限性
优点
直观性强:以图形化方式清晰展示数据层次结构和聚类过程。
无需预设簇数:可以展示所有可能的聚类层次,由研究者决定最终切割点。
信息量丰富:同时包含对象间相似性和聚类顺序的信息。
局限性
计算复杂度高:对于大规模数据集(n很大),计算距离矩阵和迭代聚合的复杂度较高。
不可逆性:一旦对象被聚合到一个簇中,在后续步骤中无法再分开。
对噪声和异常值敏感:不同的连接方法对噪声的敏感性不同(如单连接法易受噪声影响形成“链状”结构)。
实现工具与软件
树状图可以通过多种编程语言和软件轻松生成:
编程语言/库:
R语言:使用
stats包中的hclust()函数和plot()函数,或ggplot2扩展包ggdendro。Python:使用
SciPy库的scipy.cluster.hierarchy模块和matplotlib进行绘制,或scikit-learn库。
专业软件:MEGA(分子进化遗传学分析)、PAUP*(系统发育分析)、Cluster 3.0/TreeView 等。
参考文献
Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd ed.). Springer. (经典教材,涵盖包括层次聚类在内的多种统计学习方法)
Müllner, D. (2011). Modern hierarchical, agglomerative clustering algorithms. arXiv preprint arXiv:1109.2378. (讨论了现代层次聚类算法及其实现)
Sokal, R. R., & Sneath, P. H. A. (1963). Principles of Numerical Taxonomy. W. H. Freeman. (数值分类学的奠基之作,详细阐述了聚类方法)
Felsenstein, J. (2004). Inferring Phylogenies. Sinauer Associates. (系统发育学经典,详细讲解了系统发育树(一种特殊树状图)的构建与解读)
R Core Team (2023). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/. (R语言官方文档及众多相关扩展包是生成和分析树状图的实践基础)
附件列表
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
