《聚类分析.doc》由会员分享,可在线阅读,更多相关《聚类分析.doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流聚类分析.精品文档. 聚类分析一 引言俗话说:“物以聚类,人以群分”,在现实世界中存在着大量的分类问题。例如,生物可以分成动物和植物,动物又可分为脊椎动物和无脊椎动物等;人按年龄可分为少年、青年、中年、老年,对少年的身体形态、身体素质及生理功能的各项指标进行测试,据此对少年又可进行分类;在环境科学中,我们可以对按大气污染的轻重分成几类区域;在经济学中,根据人均国民收入、人均工农业产值和人均消费水平等多项指标对世界上所有国家的经济发展状况进行分类;在产品质量管理中,要根据各产品的某些重要指标可以将其分为一等品,二等品等。研究事物分类问题的基本方
2、法有两种:一是判别分析,二是聚类分析。若已知总体的类别数目及各类的特征,要对类别未知的个体正确地归属其中某一类,这时需要用判别分析法。若事先对总体到底有几种类型无从知晓,则要想知道观测到的个体的具体的分类情况,这时就需要用聚类分析法。聚类分析的基本思想:首先定义能度量样品(或变量)间相似程度(亲疏关系)的统计量,在此基础上求出各样品(或变量)间相似程度的度量值;然后按相似程度的大小,把样品(或变量)逐一归类,关系密切的聚集到一个小的分类单位,关系疏远的聚合到一个大的分类单位,直到所有的样品(或变量)都聚合完毕,把不同的类型一一划分出来,形成一个由小到大的分类系统;最后根据整个分类系统画出一副分
3、群图,称之为亲疏关系谱系图。聚类分析给人们提供了丰富多彩的分类方法,大致可归为:系统聚类法:首先,将个样品看成类,然后将性质最接近的两类合并成一个新类,得到类,合并后重新计算新类与其它类的距离与相近性测度。这一过程一直继续直到所有对象归为一类为止,并且类的过程可用一张谱系聚类图描述。动态聚类法(调优法):首先对个对象初步分类,然后根据分类的损失函数尽可能小的原则进行调整,直到分类合理为止。有序样品聚类法(最优分割法):开始将所有样品看成一类,然后根据某种最优准则将它们分割为二类、三类,一直分割到所需的K类为止。这种方法适用于有序样品的分类问题,故称为有序样品聚类法模糊聚类法:该方法多用于定性变
4、量的分类利用模糊集理论来处理分类问题,它对经济领域中具有模糊特征的两态数据和多态数据具有明显的分类效果图论聚类法:利用图论中最小支撑树的概念来处理分类问题,创造了独具风格的方法聚类预报法:利用聚类方法处理预报问题,在多元统计分析中,可用来作预报的方法很多,如回归分析或判别分析但对一些异常数据,如气象中的灾害性天气的预报,使用回归分析或判别分析处理的效果都不好,而聚类预报弥补了这一不足,这是一个值得重视的方法。本书主要介绍聚类分析不仅可以对样品进行分类,也可以对变量进行分类。对样品的分类称为Q型聚类分析,对变量进行分类称为R型聚类分析。聚类分析的历史还很短,它的方法很粗糙,理论上还不完善,但由于
5、能解决许多实际问题,所以很受人们重视,同回归分析、判别分析一起被称为多元分析的三大实用分析方法。二 聚类统计量在对样品(或变量)进行分类时,样品(或变量)之间的相似性是如何度量的呢?这一节中,我们介绍三种相似性度量距离、匹配系数和相似系数。距离和匹配系数常用来度量样品之间的相似性,相似系数常用来变量之间的相似性。样品之间的距离和相似系数有着各种不同的定义,而这些定义与变量的类型有着非常密切的关系。通常变量按取值的不同可以分为:1.定量变量:变量用连续的量来表示,例如长度、重量、速度、人口等,又称为间隔尺度变量。2.定性变量:并不是数量上有变化,而只是性质上有差异。定性变量还可以再分为:有序尺度
6、变量:变量不是用明确的数量表示,而是用等级表示,例如某产品分为一等品、二等品、三等品等,文化程度分为文盲、小学、中学、大学等。名义尺度变量:变量用一些类表示,这些类之间既无等级关系,也无数量关系,例如性别分为男、女,职业分为工人、教师、干部、农民等。下面我们主要讨论具有定量变量的样品聚类分析,描述样品间的亲疏程度最常用的是距离。 距离1. 数据矩阵设为第个样品的第个指标,数据矩阵如下表 表1 数据矩阵 变量样品 12n 在上表中,每个样品有个变量,故每个样品都可以看成是中的一个点,个样品就是中的个点。在中需定义某种距离,第个样品与第个样品之间的距离记为,在聚类过程中,相距较近的点倾向于归为一类
7、,相距较远的点应归属不同的类。所定义的距离一般应满足如下四个条件:,对一切;且当且仅当 ,对一切;,对一切2定量变量的常用的距离对于定量变量,常用的距离有以下几种:闵科夫斯基(Minkowski)距离这里为某一自然数。闵科夫斯基距离有以下三种特殊形式:1) 当时,称为绝对值距离,常被形象地称为“城市街区”距离;2) 当时,称为欧氏距离,这是聚类分析中最常用的距离;3)当时,,称为切比雪夫距离。在实际中用得很多,但是有一些缺点,一方面距离的大小与各指标的观测单位有关,另一方面它没有考虑指标间的相关性。当各指标的测量值相差悬殊时,应先对数据标准化,然后用标准化后的数据计算距离;最常用的标准化处理是
8、:令 其中为第个变量的样本均值,为第个变量的样本方差。兰氏(Lance和Williams)距离 当( )时,第个样品与第个样品间的兰氏距离为 这个距离与各变量的单位无关,但没有考虑指标间的相关性。马氏距离(Mahalanobis)距离第个样品与第个样品间的马氏距离为其中,为样品协方差矩阵。使用马氏距离的好处是考虑到了各变量之间的相关性,并且与各变量的单位无关;但马氏距离有一个很大的缺陷,就是难确定。由于聚类是一个动态过程,故随聚类过程而变化,那么同样的两个样品之间的距离可能也会随之而变化,这不符和聚类的基本要求。因此,在实际聚类分析中,马氏距离不是理想的距离。斜交空间距离 第个样品与第个样品间
9、的斜交空间距离定义为其中是变量与变量间的相关系数。当个变量互不相关时,即斜交空间距离退化为欧氏距离(除相差一个常数倍外)。以上几种距离的定义均要求样品的变量是定量变量,如果使用的是定性变量,则有相应的定义距离的方法。3定性变量的距离下例只是对名义尺度变量的一种距离定义。 例9.1.1 某高校举办一个培训班,从学员的资料中得到这样6个变量:性别()取值为男和女;外语语种()取值为英、日和俄;专业()取值为统计、会计和金融;职业()取值为教师和非教师;居住处()取值为校内和校外;学历()取值为本科和本科以下。现有两名学员: (男,英,统计,非教师,校外,本科) (女,英,金融,教师,校外,本科以下
10、)这两名学员的第二个变量都取值“英”,称为配合的,第一个变量一个取值为“男”,另一个取值为“女”,称为不配合的。一般地,若记配合的变量数为,不配合的变量数为,则它们之间的距离可定义为按此定义本例中与之间的距离为。当样品的变量为定性变量时,通常采用匹配系数作为聚类统计量。匹配系数 定义 第个样品与第个样品的匹配系数定义为 ,其中显然匹配系数越大,说明两样品越相似。例1 对购买家具的顾客作聚类分析。有以下三个变量: :喜欢的式样,老式记为1,新式记为2; :喜欢的图案,素式记为1,格子式记为2,花式记为3; :喜欢的颜色,蓝色记为1,黄色记为2,红色记为3,绿色记为4。 下面列出 表1 四位顾客(
11、样品)的观测值 变量样品 1 2 3 4 1 3 11 2 22 3 32 2 3解 各样品为名义尺度变量,其取值仅代表不同状况、类别,无大小次序关系,故采用匹配系数作为聚类统计量,由定义得注:对,为非负整数; 越大,表明样品越相似;按由大到小,可将样品逐步聚类。上述匹配系数的计算没有考虑到各个变量取值个数的多寡而一视同仁。在上例中,式样 只取两个值1和2,图案取三个值(1,2,3),颜色取四个值(1,2,3,4). 故 即 这样,的大小主要由控制,而与的作用不适当地被削弱了。为了解决这一问题,引进对指标加权的匹配系数:其中是指标的权数,等于可能取值的个数。 对上例,求得各加权匹配系数为:聚类
12、分析方法不仅用来对样品进行分类,而且可用来对变量进行分类。在对变量进行分类时,常常采用相似系数来度量变量之间的相似性。相似系数设表示与的相似系数,它一般应满足如下三个条件: ,对一切; ,当且仅当存在常数和,使得;,对一切.最常用的相似系数有以下两种:1. 夹角余弦变量与的夹角余弦定义为它是中变量的观测向量与变量的观测向量之间夹角的余弦函数,即.2. 相关系数变量与的相关系数为其中,注:实际上是将数据标准化后的交角余弦。变量之间的这种相似性度量,在一些应用中要看相似系数的大小,而在另一些应用中要看相似系数绝对值的大小。相似系数(或其绝对值)越大,认为变量之间相似程度就越高;反之,则越低。聚类时
13、,比较相似的变量倾向于归为一类,不太相似的变量归属不同的类。变量之间常借助于相似系数来定义距离,如令一般来说,同一批数据采用不同的相似性度量,会得到不同的分析结果。在进行聚类分析时,应根据实际情况选取合适的相似性度量,如在经济变量分析中,常用相关系数来描述变量间的相似程度。 系统聚类法系统聚类的基本思想方法系统聚类是将N个样本分成若干个类的方法:系统聚类的基本思想是:先将N个样本各自看成一类,然后规定类与类之间的距离,选择距离最小的一对合并成一个新类,计算新类与其他类的距离,再将距离最近的两类合并,这样每次减少一类,直至所有的样本成为一类为止。记n为观测个数,r为变量个数,为第I次观测值(一般
14、为向量)。为第k类,中的观测个数,为观测x,y之间的距离,为第k类与第l类之间的距离,是样本的均值向量,是总样本均值。类与类之间的距离有许多定义法:(1) 类平均法(Average Linkage Method)为观测样本的欧氏距离,类平均法有两种定义一种定义方法是把类与类之间的距离定义为所有样品对之间的平均距离,即定义和之间的距离为其中和分别为类和的样品个数。当某类与合并成一个新类,计算与任一类的距离,其递推公式为另一种定义方法是定义类与类之间的平方距离为样品对之间平方距离的平均值,即在上面的递推公式中,没有被反映出来,为此可可将该公式进一步推广为其中,称这种系统聚类法为可变类平均法。用ME
15、THOD=FLE指示SAS执行(2) 重心法(Centrovid method)重心法类与类之间的距离定义为它们的重心之间的欧氏距离设和的重心分别为和,则与之间的平方距离为这种系统聚类法称为重心法,它的递推公式为重心法在处理异常值方面比其他系统聚类法更稳健,但是在别的方面一般不如类平均法或离差平方和法的效果好。由METHOD=CEN指标SAS执行(3) 最短距离法(Single)即类与类之间的距离为两类最近样品间的距离。组合公式为;由METHOD=SIN指示SAS执行最短距离法步骤如下:规定样品之间的距离,计算个样品的距离矩阵,它是一个对称矩阵。选择中的最小元素,设为,则将与合并成一个新类,记
16、为,即;在中划去与所对应的两行与两列。加入由新类与剩下的未聚合的各类之间的距离所组成的一行和一列,计算新类与任一类之间距离的递推公式为其余行列上的距离值不变,这样就得到了新的距离矩阵,记作。对重复上述对的两步得,如此下去直至所有元素合并成一类为止。如果某一步中的最小元素不止一个,则称此现象为结,对应这些最小元素的类可以任选一对合并或同时合并。(4) 最长距离法(Compelete Linkage Method)定义 即类与类之间的距离为两类最远样品间的距离.由METHOD=COM指示SAS执行。 最长距离法与最短距离法的步骤类似,当某类与合并成一个新类,与任一类的距离为(5) 中间距离法(Me
17、dian)最短距离法与最长距离法均取极端值,而对有些问题,比如要反映工资、收入、生活水平、价格等总体水平,取其中间值更能反映实际。当某类与合并成一个新类,计算与任一类的距离,其递推公式为其中常取,这时正好是以、为边的三角形中边上的中线.中间距离法(6) 密度估计法(Density Linkage Method)密度估计法包括两步:第一步定义一种新的距离,第二步基于采用最短距离法。由METHOD=DEN指示SAS执行。的估计有:1)k最近邻估计法令为点x到第k个最近观测的距离。考虑以x为中心,以为半径的闭球,在点x的密度估计为球内的观测数除以球的体积,新的距离定义为:2) 均匀核估计法考虑在一个
18、中心在x,半径为r的球,在点x上的密度的估计值为球内观测值除以体积所得的比值,新的距离定义为:3) Wong混合法Wong混合法使用基于k最近邻初始聚类分析的密度估计。对于初始类,可以从输入数据集中得到,分别是类均值或类均值之间的距离。和被认为是最近邻的,如果,对于其他初始类,新的距离定义为:(7) EML(Maximum Likelihood Method)定义两类之间的距离为:有时可修正为(8) 可变类平均法(Flexible-Beta Method)(9) McQuitty 相似分析法(10) 两阶段密度估计法(Two-Stage Density Method)(11) Ward 最小方
19、差或 Ward离差平方和法组合公式为:离差平方和法定义类中各样品到类重心的平方欧氏距离之和称为(类内)离差平方和法设类和合并成新类,则、和的离差平方和法分别是它们反映了各自类内样品的分散程度如果和这两类相距较近,则合并后所增加的离差平方和法应较小;否则,应较大.所以我们定义和之间的平方距离这种系统聚类法称为离差平方和法或ard方法.离差平方和法类间距离与两类的样品数有较大关系,两个大的类倾向于有较大的距离,因而不易合并,这往往符合我们对聚类的实际要求离差平方和法在许多场合下优于重心法,是比较好的一种系统聚类法,但它对异常值很敏感由METHOD=WARD指示SAS执行例2为研究辽宁、浙江、河南、
20、甘肃、青海五省份1991年城镇居民生活消费的分布规律,需要用调查资料对这五个省分类,变量名称及原始数据如下表所示: 表9.3 1991年辽宁等5省城镇居民月均消费数据(单位:元/人) 变量省份 辽宁浙江河南甘肃青海7.90 39.77 8.49 12.94 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.
21、05 16.18 8.39 1.96 10.81其中,:人均粮食支出, :人均衣着支出, :人均副食支出, :人均日用品支出, :人均烟、酒、茶支出, :人均燃料支出, :人均其它副食支出, :人均非商品支出.试分别用最短距离、最长距离、类平均法将它们分类.解 将每个省份看成一个样品,并以1,2,3,4,5分别表示辽宁、浙江、河南、甘肃、青海五个省,计算两组间的欧氏距离,如:等等,从而得距离矩阵如下(由于对称,只写出对角线及下三角部分并在行和列位置上标出相应的类): 1 2 3 4 5对此例,采用最短距离法的聚类过程如下:首先,将五各省各看成一类,即令,. 从中看到,其中最小的元素为,故将和在
22、水平2.20上合并成一个新类,然后计算与、之间的最短距离.在中划去3和4所对应的行和列,并加上新类3,4到其它各类之间的距离所组成的一行和一列,得到3,4 1 2 5从可知,到的距离2.21最小,因此在水平2.21上将和 合并得到一新类,再计算与、之间的距离,可得在中划去和所在的行和列,加上的相应行列得到为3,4,5 1 2中最短距离为, 故在距离水平11.67上合并与得新类。 至此我们仅有两类和,其间距离为从而得为 3,4,5 1,2最后在距离水平12.80上将和合为一个包含所有5个省份的大类由此可见,将这5各省分为两类比较合适,即河南、甘肃、青海为一类,辽宁和浙江为一类若想要类中的各个体更
23、接近,可分为三类,即河南、甘肃、青海为一类,辽宁和浙江各自为一类对此例,采用最长距离法的聚类过程如下:1)先将3、4在距离水平2.20上合并得新类3,4;2)求3,4与其余各类的最长距离更新后的距离矩阵为 3,4 1 2 53)从知,最小,在此距离水平上,将类3,4与5合并得新类3,4,5. 3,4,5到其它两类1和2的距离为更新距离矩阵后,得为 3,4,5 1 24)由知,在距离水平11.67上合并1、2 为一新类,且更新后的距离矩阵 3,4,51,25)最后将1,2与3,4,5在距离水平24.63上合并为一个大类1,2,3,4,5.对此例,采用类平均法的聚类过程如下:1)在距离2.20上合
24、并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 24)从可知,在距离水平11.67上合并1、2为新类,且从而得更新后的距离为 3,4,51,2最后在距离水平18.66上合并3,4,5与1,2成一个大类三. 用Matlab编程实现运用Matlab中的一些基本矩阵计算方法,通过自己编程实现聚类算法,在此只讨论根据最短距离规则聚类的方法。调用函数:min1.m求矩阵最小值,返回最小值所在行和列以及值的大小min2.m比较两数大
25、小,返回较小值std1.m用极差标准化法标准化矩阵ds1.m用绝对值距离法求距离矩阵cluster.m应用最短距离聚类法进行聚类分析print1.m调用各子函数,显示聚类结果聚类分析算法假设距离矩阵为vector, a阶,矩阵中最大值为max,令矩阵上三角元素等于max聚类次数=a-1,以下步骤作a-1次循环:求改变后矩阵的阶数,计作c求矩阵最小值,返回最小值所在行e和列f以及值的大小gfor l=1:c,为vector(c+1,l)赋值,产生新类令第c+1列元素,第e行和第f行所有元素为,第e列和第f列所有元素为max源程序如下:%std1.m,用极差标准化法标准化矩阵function st
26、d=std1(vector)max=max(vector); %对列求最大值min=min(vector);a,b=size(vector); %矩阵大小,a为行数,b为列数for i=1:a for j=1:b std(i,j)= (vector(i,j)-min(j)/(max(j)-min(j); endend%ds1.m,用绝对值法求距离function d=ds1(vector);a,b=size(vector); d=zeros(a);for i=1:a for j=1:a for k=1:b d(i,j)=d(i,j)+abs(vector(i,k)-vector(j,k); e
27、nd endendfprintf(绝对值距离矩阵如下:n);disp(d)%min1.m,求矩阵中最小值,并返回行列数及其值function v1,v2,v3=min1(vector);%v1为行数,v2为列数,v3为其值v,v2=min(min(vector);v,v1=min(min(vector);v3=min(min(vector);%min2.m,比较两数大小,返回较小的值function v1=min(v2,v3);if v2v3 v1=v3;else v1=v2;end%cluster.m,最短距离聚类法function result=cluster(vector);a,b=si
28、ze(vector);max=max(max(vector); for i=1:a for j=i:b vector(i,j)=max; end end;for k=1:(b-1) c,d=size(vector); fprintf(第%g次聚类:n,k); e,f,g=min1(vector); fprintf(最小值=%g,将第%g区和第%g区并为一类,记作G%gnn,g,e,f,c+1); for l=1:c if l=min2(e,f) vector(c+1,l)=min2(vector(e,l),vector(f,l); else vector(c+1,l)=min2(vector(
29、l,e),vector(l,f); end end; vector(1:c+1,c+1)=max; vector(1:c+1,e)=max; vector(1:c+1,f)=max; vector(e,1:c+1)=max; vector(f,1:c+1)=max; end%print1,调用各子函数function print=print1(filename,a,b); %a为地区个数,b为指标数fid=fopen(filename,r)vector=fscanf(fid,%g,a b);fprintf(标准化结果如下:n)v1=std1(vector)v2=ds1(v1);cluster(
30、v2);%输出结果print1(fname,9,7)2.直接调用Matlab函数实现2.1调用函数层次聚类法(Hierarchical Clustering)的计算步骤:计算n个样本两两间的距离dij,记D构造n个类,每个类只包含一个样本;合并距离最近的两类为一新类;计算新类与当前各类的距离;若类的个数等于1,转到5);否则回3);画聚类图;决定类的个数和类;Matlab软件对系统聚类法的实现(调用函数说明):cluster 从连接输出(linkage)中创建聚类clusterdata 从数据集合(x)中创建聚类dendrogram 画系统树状图linkage 连接数据集中的目标为二元群的层次
31、树pdist 计算数据集合中两两元素间的距离(向量)squareform 将距离的输出向量形式定格为矩阵形式zscore 对数据矩阵 X 进行标准化处理 各种命令解释 T = clusterdata(X, cutoff)其中X为数据矩阵,cutoff是创建聚类的临界值。即表示欲分成几类。以上语句等价与以下几句命令: Y=pdist(X,euclid) Z=linkage(Y,single) T=cluster(Z,cutoff)以上三组命令调用灵活,可以自由选择组合方法! T = cluster(Z, cutoff)从逐级聚类树中构造聚类,其中Z是由语句likage产生的(n-1)3阶矩阵,c
32、utoff是创建聚类的临界值。 Z = linkage(Y) Z = linkage(Y, method) 创建逐级聚类树,其中Y是由语句pdist产生的n(n-1)/2 阶向量,method表示用何方法,默认值是欧氏距离(single)。有complete最长距离法;average类平均距离;centroid重心法 ;ward递增平方和等。 Y = pdist(X) Y = pdist(X, metric)计算数据集X中两两元素间的距离, metric表示使用特定的方法,有欧氏距离euclid 、标准欧氏距离SEuclid 、马氏距离mahal、明可夫斯基距离Minkowski 等。 H =
33、 dendrogram(Z) H = dendrogram(Z, p)由likage产生的数据矩阵z画聚类树状图。P是结点数,默认值是30。2.2举例说明设某地区有八个观测点的数据,样本距离矩阵如表1所示,根据最短距离法聚类分析。%最短距离法系统聚类分析X=7.90 39.77 8.49 12.94 19.27 11.05 2.04 13.29; 7.68 50.37 11.35 13.3 19.25 14.59 2.75 14.87; 9.42 27.93 8.20 8.14 16.17 9.42 1.55 9.76; 9.16 27.98 9.01 9.32 15.99 9.10 1.82
34、 11.35; 10.06 28.64 10.52 10.05 16.18 8.39 1.96 10.81;BX=zscore(X); % 标准化数据矩阵Y=pdist(X) % 用欧氏距离计算两两之间的距离D=squareform(Y) % 欧氏距离矩阵Z = linkage(Y) % 最短距离法T = cluster(Z,3) 等价于 T=clusterdata(X,3) find(T=3) % 第3类集合中的元素H,T=dendrogram(Z) % 画聚类图聚类谱系图如图1所示:图1 聚类谱系图四.用SPSS软件实现聚类分析在SPSS软件中同样可以实现该算法,例如:下表是1999年中国
35、省、自治区的城市规模结构特征的一些数据,可通过聚类分析将这些省、自治区进行分类,具体过程如下:省、自治区首位城市规模(万人)城市首位度四城市指数基尼系数城市规模中位值(万人)京津冀699.701.437 10.936 40.780 410.880山西179.461.898 21.000 60.587 011.780内蒙古111.131.418 00.677 20.515 817.775辽宁389.601.918 20.854 10.576 226.320吉林211.341.788 01.079 80.456 919.705黑龙江259.002.305 90.341 70.507 623.480
36、苏沪923.193.735 02.057 20.620 822.160浙江139.291.871 20.885 80.453 612.670安徽102.781.233 30.532 60.379 827.375福建108.501.729 10.932 50.468 711.120江西129.203.245 41.193 50.451 917.080山东173.351.001 80.429 60.450 321.215河南151.541.492 70.677 50.473 813.940湖北434.467.132 82.441 30.528 219.190湖南139.292.350 10.836
37、 00.489 014.250广东336.543.540 71.386 30.402 022.195广西96.121.228 80.638 20.500 014.340海南45.432.191 50.864 80.413 68.730川渝365.011.680 11.148 60.572 018.615云南146.006.633 32.378 50.535 912.250贵州136.222.827 91.291 80.598 410.470西藏11.794.151 41.179 80.611 87.315陕西244.045.119 41.968 20.628 717.800甘肃145.494.
38、751 51.936 60.580 611.650青海61.368.269 50.859 80.809 87.420宁夏47.601.507 80.958 70.484 39.730新疆128.673.853 51.621 60.490 114.470(1)打开数据文件,在spss中可以打开多种类型的文件,如*.xls、*.dbf、*.txt、*.sav等, FileOpenData;(2)进行聚类分析:AnalyzeClassifyHierarchical Cluster(此例子中用层次聚类法);进入如下对话框,设置聚类变量,以及采用的聚类方法,是否显示聚类谱系图等(因为采用不同的聚类方法,
39、分类结果不同)。设置完成后,即可得到聚类结果,此例子中采用欧式距离计算样本之间各变量的距离,组平均法聚类,得到的聚类谱系图如下图所示:五 利用SAS程序实现例4对于北京地区1 9 5 11 9 6 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 -
40、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.01960 -3.6 -3.6 1.31961 -3.0 -3.1 -0.8proc 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数据集。语句var Dec Jan Feb表明对Dec,Jan,Feb三个月的平均温度进行聚类分析。id year;表明用年区分聚类的观测类平均法的输出如下 Average Linkage Cluster Analysis