《第9章-聚类分析(精品课程).doc》由会员分享,可在线阅读,更多相关《第9章-聚类分析(精品课程).doc(379页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date第9章-聚类分析(精品课程)第九章 聚类分析第9章 聚类分析9.1 引言俗话说:“物以聚类,人以群分”,在现实世界中存在着大量的分类问题。例如,生物可以分成动物和植物,动物又可分为脊椎动物和无脊椎动物等;人按年龄可分为少年、青年、中年、老年,对少年的身体形态、身体素质及生理功能的各项指标进行测试,据此对少年又可进行分类;在环境科学中,我们可以对按大气污染的轻重分成几类
2、区域;在经济学中,根据人均国民收入、人均工农业产值和人均消费水平等多项指标对世界上所有国家的经济发展状况进行分类;在产品质量管理中,要根据各产品的某些重要指标可以将其分为一等品,二等品等。研究事物分类问题的基本方法有两种:一是判别分析,二是聚类分析。若已知总体的类别数目及各类的特征,要对类别未知的个体正确地归属其中某一类,这时需要用判别分析法。若事先对总体到底有几种类型无从知晓,则要想知道观测到的个体的具体的分类情况,这时就需要用聚类分析法。聚类分析的基本思想:首先定义能度量样品(或变量)间相似程度(亲疏关系)的统计量,在此基础上求出各样品(或变量)间相似程度的度量值;然后按相似程度的大小,把
3、样品(或变量)逐一归类,关系密切的聚集到一个小的分类单位,关系疏远的聚合到一个大的分类单位,直到所有的样品(或变量)都聚合完毕,把不同的类型一一划分出来,形成一个由小到大的分类系统;最后根据整个分类系统画出一副分群图,称之为亲疏关系谱系图。聚类分析给人们提供了丰富多彩的分类方法,大致可归为:系统聚类法:首先,将个样品看成类,然后将性质最接近的两类合并成一个新类,得到类,合并后重新计算新类与其它类的距离与相近性测度。这一过程一直继续直到所有对象归为一类为止,并且类的过程可用一张谱系聚类图描述。动态聚类法(调优法):首先对个对象初步分类,然后根据分类的损失函数尽可能小的原则进行调整,直到分类合理为
4、止。有序样品聚类法(最优分割法):开始将所有样品看成一类,然后根据某种最优准则将它们分割为二类、三类,一直分割到所需的K类为止。这种方法适用于有序样品的分类问题,故称为有序样品聚类法模糊聚类法:该方法多用于定性变量的分类利用模糊集理论来处理分类问题,它对经济领域中具有模糊特征的两态数据和多态数据具有明显的分类效果图论聚类法:利用图论中最小支撑树的概念来处理分类问题,创造了独具风格的方法聚类预报法:利用聚类方法处理预报问题,在多元统计分析中,可用来作预报的方法很多,如回归分析或判别分析但对一些异常数据,如气象中的灾害性天气的预报,使用回归分析或判别分析处理的效果都不好,而聚类预报弥补了这一不足,
5、这是一个值得重视的方法。本书主要介绍聚类分析不仅可以对样品进行分类,也可以对变量进行分类。对样品的分类称为Q型聚类分析,对变量进行分类称为R型聚类分析。聚类分析的历史还很短,它的方法很粗糙,理论上还不完善,但由于能解决许多实际问题,所以很受人们重视,同回归分析、判别分析一起被称为多元分析的三大实用分析方法。9.2 聚类统计量在对样品(或变量)进行分类时,样品(或变量)之间的相似性是如何度量的呢?这一节中,我们介绍三种相似性度量距离、匹配系数和相似系数。距离和匹配系数常用来度量样品之间的相似性,相似系数常用来变量之间的相似性。样品之间的距离和相似系数有着各种不同的定义,而这些定义与变量的类型有着
6、非常密切的关系。通常变量按取值的不同可以分为:1.定量变量:变量用连续的量来表示,例如长度、重量、速度、人口等,又称为间隔尺度变量。2.定性变量:并不是数量上有变化,而只是性质上有差异。定性变量还可以再分为:有序尺度变量:变量不是用明确的数量表示,而是用等级表示,例如某产品分为一等品、二等品、三等品等,文化程度分为文盲、小学、中学、大学等。名义尺度变量:变量用一些类表示,这些类之间既无等级关系,也无数量关系,例如性别分为男、女,职业分为工人、教师、干部、农民等。下面我们主要讨论具有定量变量的样品聚类分析,描述样品间的亲疏程度最常用的是距离。9.2.1距离1. 数据矩阵设为第个样品的第个指标,数
7、据矩阵如下表 表9.1 数据矩阵 变量样品 12n 在上表中,每个样品有个变量,故每个样品都可以看成是中的一个点,个样品就是中的个点。在中需定义某种距离,第个样品与第个样品之间的距离记为,在聚类过程中,相距较近的点倾向于归为一类,相距较远的点应归属不同的类。所定义的距离一般应满足如下四个条件:,对一切;且当且仅当 ,对一切;,对一切2定量变量的常用的距离对于定量变量,常用的距离有以下几种:闵科夫斯基(Minkowski)距离 这里为某一自然数。闵科夫斯基距离有以下三种特殊形式:1) 当时,称为绝对值距离,常被形象地称为“城市街区”距离;2) 当时,称为欧氏距离,这是聚类分析中最常用的距离;3)
8、当时,,称为切比雪夫距离。在实际中用得很多,但是有一些缺点,一方面距离的大小与各指标的观测单位有关,另一方面它没有考虑指标间的相关性。当各指标的测量值相差悬殊时,应先对数据标准化,然后用标准化后的数据计算距离;最常用的标准化处理是:令 其中为第个变量的样本均值,为第个变量的样本方差。兰氏(Lance和Williams)距离 当( )时,第个样品与第个样品间的兰氏距离为 这个距离与各变量的单位无关,但没有考虑指标间的相关性。马氏距离(Mahalanobis)距离第个样品与第个样品间的马氏距离为 其中,为样品协方差矩阵。使用马氏距离的好处是考虑到了各变量之间的相关性,并且与各变量的单位无关;但马氏
9、距离有一个很大的缺陷,就是难确定。由于聚类是一个动态过程,故随聚类过程而变化,那么同样的两个样品之间的距离可能也会随之而变化,这不符和聚类的基本要求。因此,在实际聚类分析中,马氏距离不是理想的距离。斜交空间距离 第个样品与第个样品间的斜交空间距离定义为其中是变量与变量间的相关系数。当个变量互不相关时,即斜交空间距离退化为欧氏距离(除相差一个常数倍外)。以上几种距离的定义均要求样品的变量是定量变量,如果使用的是定性变量,则有相应的定义距离的方法。3定性变量的距离下例只是对名义尺度变量的一种距离定义。 例9.1.1 某高校举办一个培训班,从学员的资料中得到这样6个变量:性别()取值为男和女;外语语
10、种()取值为英、日和俄;专业()取值为统计、会计和金融;职业()取值为教师和非教师;居住处()取值为校内和校外;学历()取值为本科和本科以下。现有两名学员: (男,英,统计,非教师,校外,本科) (女,英,金融,教师,校外,本科以下)这两名学员的第二个变量都取值“英”,称为配合的,第一个变量一个取值为“男”,另一个取值为“女”,称为不配合的。一般地,若记配合的变量数为,不配合的变量数为,则它们之间的距离可定义为 按此定义本例中与之间的距离为。当样品的变量为定性变量时,通常采用匹配系数作为聚类统计量。9.2.2匹配系数 定义9.2.1 第个样品与第个样品的匹配系数定义为 ,其中显然匹配系数越大,
11、说明两样品越相似。例9.2.1 对购买家具的顾客作聚类分析。有以下三个变量: :喜欢的式样,老式记为1,新式记为2; :喜欢的图案,素式记为1,格子式记为2,花式记为3; :喜欢的颜色,蓝色记为1,黄色记为2,红色记为3,绿色记为4。 下面列出 表9.2 四位顾客(样品)的观测值 变量样品 1 2 3 4 1 3 11 2 22 3 32 2 3解 各样品为名义尺度变量,其取值仅代表不同状况、类别,无大小次序关系,故采用匹配系数作为聚类统计量,由定义得 ,注:对,为非负整数; 越大,表明样品越相似;按由大到小,可将样品逐步聚类。上述匹配系数的计算没有考虑到各个变量取值个数的多寡而一视同仁。在上
12、例中,式样 只取两个值1和2,图案取三个值(1,2,3),颜色取四个值(1,2,3,4). 故 即 这样,的大小主要由控制,而与的作用不适当地被削弱了。为了解决这一问题,引进对指标加权的匹配系数: 其中是指标的权数,等于可能取值的个数。 对上例,求得各加权匹配系数为:,.聚类分析方法不仅用来对样品进行分类,而且可用来对变量进行分类。在对变量进行分类时,常常采用相似系数来度量变量之间的相似性。9.2.3相似系数设表示与的相似系数,它一般应满足如下三个条件: ,对一切; ,当且仅当存在常数和,使得;,对一切.最常用的相似系数有以下两种:1. 夹角余弦变量与的夹角余弦定义为 它是中变量的观测向量与变
13、量的观测向量之间夹角的余弦函数,即.2. 相关系数变量与的相关系数为其中,注:实际上是将数据标准化后的交角余弦。变量之间的这种相似性度量,在一些应用中要看相似系数的大小,而在另一些应用中要看相似系数绝对值的大小。相似系数(或其绝对值)越大,认为变量之间相似程度就越高;反之,则越低。聚类时,比较相似的变量倾向于归为一类,不太相似的变量归属不同的类。变量之间常借助于相似系数来定义距离,如令 一般来说,同一批数据采用不同的相似性度量,会得到不同的分析结果。在进行聚类分析时,应根据实际情况选取合适的相似性度量,如在经济变量分析中,常用相关系数来描述变量间的相似程度。9.3系统聚类法9.3.1系统聚类的
14、基本思想方法系统聚类是将N个样本分成若干个类的方法:系统聚类的基本思想是:先将N个样本各自看成一类,然后规定类与类之间的距离,选择距离最小的一对合并成一个新类,计算新类与其他类的距离,再将距离最近的两类合并,这样每次减少一类,直至所有的样本成为一类为止。记n为观测个数,r为变量个数,为第I次观测值(一般为向量)。为第k类,中的观测个数,为观测x,y之间的距离,为第k类与第l类之间的距离,是样本的均值向量,是总样本均值。类与类之间的距离有许多定义法:(1) 类平均法(Average Linkage Method)为观测样本的欧氏距离,类平均法有两种定义一种定义方法是把类与类之间的距离定义为所有样
15、品对之间的平均距离,即定义和之间的距离为其中和分别为类和的样品个数。当某类与合并成一个新类,计算与任一类的距离,其递推公式为 另一种定义方法是定义类与类之间的平方距离为样品对之间平方距离的平均值,即 在上面的递推公式中,没有被反映出来,为此可可将该公式进一步推广为 其中,称这种系统聚类法为可变类平均法。用METHOD=FLE指示SAS执行(2) 重心法(Centrovid method)重心法类与类之间的距离定义为它们的重心之间的欧氏距离设和的重心分别为和,则与之间的平方距离为 这种系统聚类法称为重心法,它的递推公式为 重心法在处理异常值方面比其他系统聚类法更稳健,但是在别的方面一般不如类平均
16、法或离差平方和法的效果好。由METHOD=CEN指标SAS执行(3) 最短距离法(Single)即类与类之间的距离为两类最近样品间的距离。组合公式为;由METHOD=SIN指示SAS执行最短距离法步骤如下:规定样品之间的距离,计算个样品的距离矩阵,它是一个对称矩阵。选择中的最小元素,设为,则将与合并成一个新类,记为,即;在中划去与所对应的两行与两列。加入由新类与剩下的未聚合的各类之间的距离所组成的一行和一列,计算新类与任一类之间距离的递推公式为 其余行列上的距离值不变,这样就得到了新的距离矩阵,记作。对重复上述对的两步得,如此下去直至所有元素合并成一类为止。如果某一步中的最小元素不止一个,则称
17、此现象为结,对应这些最小元素的类可以任选一对合并或同时合并。(4) 最长距离法(Compelete Linkage Method)定义 即类与类之间的距离为两类最远样品间的距离.由METHOD=COM指示SAS执行。 最长距离法与最短距离法的步骤类似,当某类与合并成一个新类,与任一类的距离为 (5) 中间距离法(Median)最短距离法与最长距离法均取极端值,而对有些问题,比如要反映工资、收入、生活水平、价格等总体水平,取其中间值更能反映实际。当某类与合并成一个新类,计算与任一类的距离,其递推公式为 其中常取,这时正好是以、为边的三角形中边上的中线.中间距离法(6) 密度估计法(Density
18、 Linkage Method)密度估计法包括两步:第一步定义一种新的距离,第二步基于采用最短距离法。由METHOD=DEN指示SAS执行。的估计有:1)k最近邻估计法令为点x到第k个最近观测的距离。考虑以x为中心,以为半径的闭球,在点x的密度估计为球内的观测数除以球的体积,新的距离定义为:2) 均匀核估计法考虑在一个中心在x,半径为r的球,在点x上的密度的估计值为球内观测值除以体积所得的比值,新的距离定义为:3) Wong混合法Wong混合法使用基于k最近邻初始聚类分析的密度估计。对于初始类,可以从输入数据集中得到,分别是类均值或类均值之间的距离。和被认为是最近邻的,如果,对于其他初始类,新
19、的距离定义为:(7) EML(Maximum Likelihood Method)定义两类之间的距离为:有时可修正为(8) 可变类平均法(Flexible-Beta Method)(9) McQuitty 相似分析法(10) 两阶段密度估计法(Two-Stage Density Method)(11) Ward 最小方差或 Ward离差平方和法组合公式为:离差平方和法定义类中各样品到类重心的平方欧氏距离之和称为(类内)离差平方和法设类和合并成新类,则、和的离差平方和法分别是 它们反映了各自类内样品的分散程度如果和这两类相距较近,则合并后所增加的离差平方和法应较小;否则,应较大.所以我们定义和之
20、间的平方距离 这种系统聚类法称为离差平方和法或ard方法.离差平方和法类间距离与两类的样品数有较大关系,两个大的类倾向于有较大的距离,因而不易合并,这往往符合我们对聚类的实际要求离差平方和法在许多场合下优于重心法,是比较好的一种系统聚类法,但它对异常值很敏感由METHOD=WARD指示SAS执行932 例9.3.1 为研究辽宁、浙江、河南、甘肃、青海五省份1991年城镇居民生活消费的分布规律,需要用调查资料对这五个省分类,变量名称及原始数据如下表所示: 表9.3 1991年辽宁等5省城镇居民月均消费数据(单位:元/人) 变量省份 辽宁浙江河南甘肃青海7.90 39.77 8.49 12.94
21、19.27 11.05 2.04 13.297.68 50.37 11.35 13.30 19.25 14.59 2.75 14.879.42 27.93 8.20 8.14 16.17 9.42 1.55 9.769.16 27.98 9.01 9.32 15.99 9.10 1.82 11.3510.06 28.64 10.52 10.05 16.18 8.39 1.96 10.81其中,:人均粮食支出, :人均衣着支出, :人均副食支出, :人均日用品支出, :人均烟、酒、茶支出, :人均燃料支出, :人均其它副食支出, :人均非商品支出.试分别用最短距离、最长距离、类平均法将它们分类.
22、解 将每个省份看成一个样品,并以1,2,3,4,5分别表示辽宁、浙江、河南、甘肃、青海五个省,计算两组间的欧氏距离,如:等等,从而得距离矩阵如下(由于对称,只写出对角线及下三角部分并在行和列位置上标出相应的类): 1 2 3 4 5 对此例,采用最短距离法的聚类过程如下:首先,将五各省各看成一类,即令,. 从中看到,其中最小的元素为,故将和在水平2.20上合并成一个新类,然后计算与、之间的最短距离. 在中划去3和4所对应的行和列,并加上新类3,4到其它各类之间的距离所组成的一行和一列,得到3,4 1 2 5 从可知,到的距离2.21最小,因此在水平2.21上将和 合并得到一新类,再计算与、之间
23、的距离,可得 在中划去和所在的行和列,加上的相应行列得到为3,4,5 1 2 中最短距离为, 故在距离水平11.67上合并与得新类。 至此我们仅有两类和,其间距离为 从而得为 3,4,5 1,2 最后在距离水平12.80上将和合为一个包含所有5个省份的大类由此可见,将这5各省分为两类比较合适,即河南、甘肃、青海为一类,辽宁和浙江为一类若想要类中的各个体更接近,可分为三类,即河南、甘肃、青海为一类,辽宁和浙江各自为一类对此例,采用最长距离法的聚类过程如下:1)先将3、4在距离水平2.20上合并得新类3,4;2)求3,4与其余各类的最长距离 更新后的距离矩阵为 3,4 1 2 5 3)从知,最小,
24、在此距离水平上,将类3,4与5合并得新类3,4,5. 3,4,5到其它两类1和2的距离为更新距离矩阵后,得为 3,4,5 1 2 4)由知,在距离水平11.67上合并1、2 为一新类,且 更新后的距离矩阵 3,4,51,2 5)最后将1,2与3,4,5在距离水平24.63上合并为一个大类1,2,3,4,5.对此例,采用类平均法的聚类过程如下:1)在距离2.20上合并3、4得新类3,4;2)计算3,4到其它类的类平均距离此时,由此可得 从而更新后的距离矩阵为 3,4 1 2 5 3)由知,在距离水平2.86上应合并5与3,4为一新类3,4,5,且 从而得更新后的距离矩阵为 3,4,5 1 2 4
25、)从可知,在距离水平11.67上合并1、2为新类,且 从而得更新后的距离为 3,4,51,2 最后在距离水平18.66上合并3,4,5与1,2成一个大类9.3.3系统聚类的SAS程序系统聚类可用CLUSTER过程实施,用前述十一种方法对数据集中的观测进行系统聚类,其输入数据可以是数值型的坐标值,也可以是距离值。其语法为PROC CLUSTER METHOD= name options; VAR variable-list; ID variable; COPY variable-list; FREQ variable; RMSSTD variable;BY variable-list;(1)ME
26、THOD | M= name 给出聚类的方法,有下列选项可以选择,对应上述各种距离的定义方法 AVERAGE CENTROID COMPLETE DENSITY EML FLEXIBLE MCQUITTY MEDIAN SINGLE TWOSTAGE WARD还可用TREE 过程画谱系图,PRC TREE CLUSTER过程主要包括以下几个语句:PROC CLUSTER语句、VAR语句、ID语句。PROC CLUSTER语句一般形式是:PROC CLUSTER选择项1选择项2。PROC CLUSTER语句中的选择项可以是以下几种:1)数据集选项DATA一,用以指明过程分析的数据集;2)OUTT
27、REE=命名一个输出数据集,该数据集供TREE过程用来画谱系图3)聚类方法选项METHOD=可以是前面的十一种方法中的任一种VAR语句一般形式是:VAR变量1 变量2;VAR语句用来列出聚类分析中所使用的变量ID语句一般形式是:ID变量;ID语句用的变量用以区分聚类过程打印输出和OUTTREE数据集中的观测TREE过程只有一条语句: PROC TREE DATA=数据集;它根据数据集华谱系图。proc tree data=tree1;COPY语句一般形式是:COPY变量。COPY语句用来把列出的变量从输入数据集复制到OUTTREE数据集中。 例9.3.2 对于北京地区1 9 5 11 9 6
28、1年11年的冬季1 2月、1月和2月三个月的气温(数据见)进行聚类分析。共采用五种聚类方法:类平均法、重心法、密度估计法、最小距离法和Ward法。(1)类平均法可采用以下SAS程序 data temperat;input year Dec Jan Feb;cards;1951 1.0 -2.7 -4.31952 -5.3 -5.9 -3.51953 -2.0 -3.4 -0.81954 -5.7 -4.7 -1.11955 -0.9 -3.8 -3.11956 -5.7 -5.3 -5.91957 -2.1 -5.0 -1.61958 0.6 -4.3 -0.21959 -1.7 -5.7 2
29、.01960 -3.6 -3.6 1.31961 -3.0 -3.1 -0.8;proc cluster data=temperat method=average outtree=qin;var Dec Jan Feb;id year;run;proc tree data=qin;run;该程序第一步建立名为temperat的数据集,此数据集包括1 9 51-1 9 6 1年的资料。紧接着的proc cluster语句调用cluster过程用来对数据集temperat进行聚类,method=average表示采用类平均法,outtree=tree1指示电脑将聚类结果存入tree1数据集。语句v
30、ar Dec Jan Feb表明对Dec,Jan,Feb三个月的平均温度进行聚类分析。id year;表明用年区分聚类的观测类平均法的输出如下 Average Linkage Cluster Analysis Eigenvalues of the Covariance Matrix Eigenvalue Difference Proportion Cumulative 1 6.72019 1.90639 0.544682 0.54468 2 4.81380 4.00998 0.390167 0.93485 3 0.80382 . 0.065151 1.00000 Root-Mean-Squar
31、e Total-Sample Standard Deviation = 2.027956 Root-Mean-Square Distance Between Observations = 4.967458 Number Frequency Normalized of of New RMS Clusters -Clusters Joined- Cluster Distance Tie 10 1953 1961 2 0.210174 9 CL10 1957 3 0.409358 8 1951 1955 2 0.503678 7 1952 1956 2 0.504482 6 CL9 1960 4 0
32、.577050 5 1958 1959 2 0.699969 4 CL6 1954 5 0.712379 3 CL4 CL5 7 0.834187 2 CL8 CL3 9 1.046039 1 CL2 CL7 11 1.254241上表(表头Cluster History)给出了用类平均法聚类的结过程,每行指出新聚类的年份各行为:1)分成十类 53 61成一类,其余各自成一类 2)分成九类 53 61 57成一类,其余各自成一类 3)分成八类 53 61 57,51 55各为一类,其余各自成一类 4)分成七类 53 61 57,51 55,52 56各为一类,其余各自成一类 5)分成六类 53
33、 61 57 60,51 55,52 56各为一类,其余各自成一类 6)分成五类 53 57 60 61,51 55,52 56,58 59,54 7)分成四类 53 54 57 60 61,51 55,52 56,58 59 8)分成三类53 54 57 58 59 60 61,51 55,52 569)分成二类51 53 54 55 57 58 59 60 61,52 56分成四类的结果很有意义,我们看到若用类平均法分成四类为53 54 57 60 61,51 55,52 56,58 59第一类都是在1 2月、1月温度较低,在2月份转暖第二类是1 9 5 1年和1 9 5 5年,都是1 2
34、月份暖而1月、2月变冷型第三类1 9 5 2年和1 9 5 6年,1 2月、1月、2月相对都较冷,平均气温变化不大第四类1 9 5 8年1 9 5 9年则1月份平均气温最低而1 2月、2月相对高(2) 使用重心法,可采用程序proc cluster data=temperat method=centroid;var Dec Jan Feb;id year;run;得到的输出是 Centroid Hierarchical Cluster Analysis Eigenvalues of the Covariance Matrix Eigenvalue Difference Proportion Cumulative 1 6.72019 1.90639 0.544682 0.54468 2 4.81380 4.00998 0.390167 0.93485 3 0.80382 . 0.065151 1.00000 Root-Mean-Square Total-Sample Standard Deviation = 2.027956 Root-Mean-Square Distance Between Observations = 4.967458 Number Frequency Normalized of of New Centroid