第二章聚类分析【教学目的】通过本章的教学应使学生了解聚类分析的方法和作用,了解聚类分析中常用的距离和相似系数以及它们各自的特点及适用范围。掌握系统聚类法,能够应用系统聚类法解决实际数据分析问题。【教学重点】本章的重点是系统聚类法。聚类分析的概念聚类分析又称群分析、点群分析,是定量研究分类问题的一种多元统计方法。人类认识世界往往首先将被认识的对象进行分类,因此分类学便成为人类认识世界的基础科学。在社会生活的众多领域中都存在着大量的分类问题。以前人们主要靠经验和专业知识做定性分类处理,致使许多分类带有主观性和任意性,不能很好地揭示客观事物内在的本质差别与联系,特别是对于多因素、多指标的分类问题,定性分类更难以实现准确分类。随着生产技术和科学的发展,人类的认识不断加深,分类越来越细,要求也越来越高,光凭经验和专业知识分类是不能取得令人满意的结果。为了克服定性分类存在的不足,于是把数学方法引进分类学中,形成了数值分类学,后来随着多元分析的引进,聚类分析又逐渐从数值分类学中分离出来,形成一个相对独立的分支。在多元统计分析中,聚类分析在许多领域中都得到了广泛的应用,取得了许多令人满意的成果。聚类分析的基本思想认为所研究的样品或指标之间存在着程度不同的相似性,于是根据一批样品的多个观测指标,找出能够度量样品或变量之间相似程度的统计量,并以此为依据,采用某种聚类法,将所有的样品或变量分别聚合到不同的类中,使同一类中的个体有较大的相似性,不同类中的个体差异较大。聚类分析的内容聚类分析包括很多种方法,系统聚类法是最基本、最常用的一种,此外还有有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等,不同的方法适合解决不同类型的问题,本章主要介绍最常用的系统聚类法。聚类分析的对象类型Q型聚类是对样品进行分类,即对观测进行分类。根据观测有关变量的特征,将特征相似的样品归为一类。它是聚类分析中用的最多的一种,具有以下优点:1.可综合利用多个变量的信息对样品进行分类;2.分类结果直观,聚类谱系图非常清楚地表现分类结果;3.所得结果比传统分类方法更细致、全面、合理。R型聚类是对变量进行分类处理。一般来说,可以反映研究对象特点的变量有许多,由于对客观事物的认识有限,往往难以找出彼此独立且有代表性的变量,影响对问题进一步的认识和研究,因此往往需要先进行变量聚类,找出相互独立又有代表性的变量,而又不丢失大部分信息。R型聚类分析的主要作用:1.可了解个别变量之间及变量组合之间的亲疏程度;2.根据变量的分类结果以及它们之间的关系,可以选择主要变量进行回归分析或Q型聚类分析。事物之间的相似性测度聚类分析用于系统类群相似性的研究,其实质上是寻找一种能客观反映样品或变量之间亲疏关系的统计量,然后根据这种统计量把样品或变量分成若干类。常用的统计量有距离和相似系数。用相似系数度量是两个事物离得多近的度量。性质越接近的元素其相似系数的绝对值越接近于1;彼此无关的元素其相似系数的绝对值越接近于0。相似的元素归为一类,不相似的元素归为不同的类。用距离来度量是两个事物离得多远的度量。将一个样品看作空间的一个点,在空间定义距离,距离近的点归为一类,距离远的点归为不同的类。变量类型的划分1.间隔尺度:是用连续的实值变量来表示的,是由测量或计数、统计所得到的量。如:经济统计数字、抽样调查数据、身高、体重、年龄、速度、压力等。2.有序尺度:没有明确的数量表示,而是划分一些等级,等级之间有次序关系。如:毕业论文成绩有:优、良、中、及格、不及格之分;体质状况有好、中、差三个等级;某产品质量可分为一等品、二等品、三等品三个等级等。3.名义尺度:既没有数量表示,也没有次序关系,而是表现为某种状态,其值通常是非数值数据。如:性别有男、女;颜色有红、黄、蓝、绿等;医疗诊断中的阴性、阳性等。不同类型的变量,其距离和相似系数的定义方法有很大差异。用得较多的是间隔尺度,因此只介绍间隔尺度的距离和相似系数的定义。n个样品p项指标形成的原始数据资料矩阵中,每一行表示一个样品,每一列表示一个变量。因此,两个样品的相似性可用矩阵中两行的相似程度来刻划;两个变量的相似性可用矩阵中两列的相似程度来刻划。1.距离定义:将n个样品看成p维空间中的n个点,两个样品间相似程度可用p维空间中两点的距离来度量。(1)明氏距离(2)马氏距离(3)兰氏距离计算出任何两个样品之间的距离排成距离阵D,根据D可对n个点进行分类,距离近的点归为一类,距离远的点归为不同的类。2.相似系数:将n个样品看成p维空间中的n个向量。(1)夹角余弦(2)相关系数以上是样品分类常用的距离和相似系数定义,它是在p维空间中来研究n个样品间的相似;而对变量分类是在n维空间中来研究p列变量间的相似,其相似性也用距离和相似系数来度量。在实际问题中,对样品分类常用距离,对指标分类常用相似系数;用距离时找最小的元素并类,用相似系数时找最大的元素并类。系统聚类分析方法系统聚类分析也叫分层聚类分析,是目前国内外使用得最多的一种方法,有关它的研究极为丰富,聚类分析的方法也最多。系统聚类的步骤(1)计算n个样品两两之间的距离记为矩阵D;(2)首先构造n个类,每一类中只包含一个样品;(3)合并距离最近的两类为新类;(4)计算新类与当前类的距离,若类的个数已经等于1,则转入5,否则回到3;(5)画谱系图;(6)决定类的个数和类。系统聚类允许一类整个地包含在另一类内,但在这两类间不能有其他类与之重叠。系统聚类方法样品之间可以用不同的方法定义距离,类与类之间的距离也有多种定义。用不同的方法定义类与类之间的距离,就产生了不同的系统聚类方法。(1)最短距离法:定义类与类之间距离为两类最近样品的距离,使空间浓缩,形成链状,分类效果不好;(2)最长距离法:定义类与类之间距离为两类最远样品的距离,受奇异值的影响大;(3)中间距离法:介于最长与最短距离之间的一种距离,当β=-1/4时,即为三角形的中线,以它作为类与类间距离。(4)重心法:以两类重心之间的距离作为两类间的距离。重心即该类样品的均值。每合并一次类,都要重新计算新类的重心。不具单调性,图形逆转,限制了其应用,可能引起局部最优,但在处理异常值方面较稳健。(5)类平均法:以两类元素两两之间距离平方的平均作为类间距离的平方。(6)可变类平均法:与5相比,考虑了两类Gp与Gq之间距离Dpq的影响。(7)可变法:其中β是可变的,分类效果与β的选择关系极大,β常取负值。(8)离差平方和法:又称Ward法,其基本思想是认为同类样品的离差平方和应当较小,类与类的离差平方和应当较大。首先n个样品各自成一类,然后每次缩小一类,每缩小一类离差平方和就要增大,选择使离差平方和增加最小的两类合并,直到所有样品归为一类。它分类效果较好,应用较广泛,对异常值较敏感。以上8种聚类方法,只有两点区别:(1)类与类之间距离定义不同;(2)计算新类与其他类的距离所用的公式不同,因而并类距离不同;各种方法并类步骤完全一样。在采用欧氏距离时,可归结为统一的递推公式,对编制微机程序提供了很大的方便。在一般情况下,用不同的方法聚类的结果是不会完全一致的,怎样比较各种方法的优劣呢?至今还没有合适的衡量标准,因为不存在一种总是最优的聚类方法。类的结构(规模、形状、个数)、奇异值、相似测度选择都会影响结果。在实际应用中,一般采用以下两种处理方法:(1)根据分类问题本身的专业知识结合实际需要来选择分类方法,并确定分类个数;(2)多用几种分类方法去作,把结果中的共性提出来,对有争议的样品用判别分析去归类。应注意的问题(1)在聚类分析中,应根据不同的目的选用不同的指标,例如选拔运动员所用的指标(身体形态、身体素质、心理素质、生理功能等)与分课外活动小组所选用的指标不相同,对啤酒按价格分类与按成分分类所用的指标也不相同。一般来说,选择哪些变量应该具有一定的理论支持,但在实践中往往缺乏这样强有力的理论基础,一般根据实际工作经验和所研究问题的特征人为的选择变量,这些变量应该和分析的目标密切相关,反映分类对象的特征,在不同研究对象上的值具有明显差异,变量之间不应该高度相关。选变量时并不是加入的变量越多,得到的结果越客观。有时,加入一两个不合适的变量就会使分类结果大相径庭。变量之间高度相关相当于加权,此时,有两种处理方法:(1)首先进行变量聚类,从每类中选一代表性变量,再进行样品聚类;(2)进行主成分分析或因子分析,降维,使之成为不相关的新变量,再进行样品聚类。(2)标准化问题指标选用的度量单位将直接影响聚类分析的结果。例如将高度的单位由米改为英寸,或者将重量单位由千克改为磅,可能产生非常不同的聚类结构。一般来说,所用度量单位越小,变量的值域就越大,对聚类结果的影响也越大。为了避免对变量单位选择的依赖,数据应当标准化。数据量纲不同时,必须进行标准化;但如果量纲相同,可数量级相差很大,这时也应该进行标准化。SAS程序基本知识SAS语言是SAS软件系统的基础。SAS语言有它自己的对变量、常量、表达式的一系列规定,有一系列标准函数,有它自己的语句、语法,可以按一定规则构成程序。SAS程序由两种步骤组成:(1)DATA步骤,或称DATA步、数据步:以DATA语句打头,后面跟建立SAS数据集任务的语句,作用是完成建立SAS数据集的任务,这些数据集是可以由SAS系统进行分析的;(2)PROC步骤,或称PROC步、过程步:以PROC语句打头,后面跟与分析数据有关的语句,作用是调用分析过程对指定的数据集进行统计分析,给出分析结果。在SAS程序中,每个语句以语句关键字开头,后面跟语句操作数或选择项,最后以分号结束。一个SAS语句可以占若干行,可以从任意一列开始,但必须在语句结束处加分号,因为SAS系统是根据分号判断哪些文字属于一个语句的,因此在一行上可以写几个SAS语句,只要每个语句都用分号结束。SAS关键字是用于SAS语句开头的特殊单词。SAS名字在SAS程序中标识各种SAS成分,如变量、数据集、数据库,等等。SAS名字由1到8个字母、数字、下划线组成,第一个字符必须是字母或下划线。SAS关键字和SAS名字都不区分大小写。语句关键字用大写或小写方式都可以,但不可简化,必须原样照写。每个步以RUN语句结束。当一个步后面跟着另一个步时,前面一个步的RUN语句可以省略。一个DATA步后面可以跟几个PROC步,也可以若干个DATA步后面跟几个PROC步;或以PROC步打头,后面跟若干个DATA步,再跟PROC步,程序中的每个步都是相应独立的,彼此不能交叉,不能嵌套。简单的SAS小程序DATAAA;INPUTNOAGEHEIGHTWEIGHT;CARDS;111152412121584431115045;RUN;PROCPRINT;RUN;DATAAA;INPUTNOAGEHEIGHTWEIGHT@@;CARDS;111152412121584431115045410146395121655061116052;RUN;PROCPRINT;RUN;在本课的学习过程中,主要采用调用已有数据集的方式,因此程序的重点在PROC步骤上,要分析的数据集只要在选择项DATA=中指明即可。最简单的PROC步只有一个PROC语句即:PROC过程名;该语句调用指定的过程分析在该语句之前最近建立的数据集。在调用时的其他要求全部采用SAS系统设置的缺省值.PROC语句的一般格式为:PROC过程名选择项;此语句指明调用的SAS过程,是PROC步开始的标志,关于各过程及其选择项以及配合使用的语句,结合各方法再详细讲解。