版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.1 样品(变量)相近性度量样品(变量)相近性度量3.2 系统系统(谱系谱系)聚类法及聚类法及MATLAB实现实现3.3 快速聚类法快速聚类法计算与应用数学系计算与应用数学系,中国石油大学(华东)理学院中国石油大学(华东)理学院 丁永臻丁永臻 20133.1 样品(变量)间相近性度量样品(变量)间相近性度量3.1.1 聚类分析的基本思想聚类分析的基本思想在生产实际中经常遇到给产品等级进行分类的问题,在生产实际中经常遇到给产品等级进行分类的问题,如一等品、二等品等,在生物学中,要根据生物的如一等品、二等品等,在生物学中,要根据生物的特征进行分类;在考古时要对古生物化石进行科学特征进行分类;在考
2、古时要对古生物化石进行科学分类;在球类比赛中经常要对各球队进行分组如何分类;在球类比赛中经常要对各球队进行分组如何确定种子队,这些问题就是聚类分析问题。随着科确定种子队,这些问题就是聚类分析问题。随着科学技术的发展,我们利用已知数据首先提取数据特学技术的发展,我们利用已知数据首先提取数据特征,然后借助计算机依据这些特征进行分类,聚类征,然后借助计算机依据这些特征进行分类,聚类的依据在于各类别之间的接近程度如何计量,通常的依据在于各类别之间的接近程度如何计量,通常采取距离与相似系数进行衡量。采取距离与相似系数进行衡量。 聚类分析是根据聚类分析是根据“物以类聚物以类聚”的道理,的道理,对样对样品或
3、指标品或指标进行分类的一种多元统计分析方法,进行分类的一种多元统计分析方法,它们讨论的对象是大量的样品,要求能合理它们讨论的对象是大量的样品,要求能合理地按各自的特性来进行合理的分类。地按各自的特性来进行合理的分类。 聚类原则是同一类中的个体有较大的相似性,聚类原则是同一类中的个体有较大的相似性,不同类中的个体差异很大。不同类中的个体差异很大。例例1.为了研究辽宁、浙江、河南、甘肃、青海为了研究辽宁、浙江、河南、甘肃、青海5省省1991年城镇居民生活消费规律,需要利用调查资料对年城镇居民生活消费规律,需要利用调查资料对五个省进行分类,指标变量共五个省进行分类,指标变量共8个,意义如下:个,意义
4、如下:x1:人人均粮食支出,均粮食支出,x2:人均副食支出人均副食支出;x3:人均烟酒茶支出,人均烟酒茶支出,x4:人均其他副食支出人均其他副食支出,x5:人均衣着商品支出人均衣着商品支出,x6:人均人均日用品支出,日用品支出,x7:人均燃料支出,人均燃料支出,x8人均非商品支出人均非商品支出X X1 1X X2 2X X3 3X X4 4X X5 5X X6 6X X7 7X X8 8辽宁辽宁7.97.939.7739.778.498.4912.9412.9419.2719.2711.0511.052.042.0413.2913.29浙江浙江7.687.6850.3750.3711.3511
5、.3513.313.319.2519.2514.5914.592.752.7514.8714.87河南河南9.429.4227.9327.938.28.28.148.1416.1716.179.429.421.551.559.769.76甘肃甘肃9.169.1627.9827.989.019.019.329.3215.9915.999.19.11.821.8211.3511.35青海青海10.0610.0628.6428.6410.5210.5210.0510.0516.1816.188.398.391.961.9610.8110.81表表1 1991年五省城镇居民生活月均消费(元年五省城镇居
6、民生活月均消费(元/人)人)图1 最短距离聚类图 聚类分析又称群分析聚类分析又称群分析, ,它是研究对样品或它是研究对样品或指标进行分类的一种多元统计方法指标进行分类的一种多元统计方法. . 所谓的所谓的“类类”,通俗地说就是相似元素的,通俗地说就是相似元素的集合集合. .聚类分析是按照观测样品聚类分析是按照观测样品(或变量或变量)取值取值的相似程度,对观测样品的相似程度,对观测样品(或变量或变量)进行分类,进行分类,使在同一类内的观测样品使在同一类内的观测样品(或变量或变量)是相似的,是相似的,不同类间的观测不同类间的观测(或变量或变量)是不相似的是不相似的. 聚类分析有两种聚类分析有两种:
7、一种是对样品的分类,称为:一种是对样品的分类,称为Q型,另一种是对变量(指标)的分类,称为型,另一种是对变量(指标)的分类,称为R型。型。R型聚类分析的主要作用:型聚类分析的主要作用: 不但可以了解个别变量之间的亲疏程度,而且可以了解不但可以了解个别变量之间的亲疏程度,而且可以了解各个变量组合之间的亲疏程度。各个变量组合之间的亲疏程度。 根据变量的分类结果以及它们之间的关系,可以选择主根据变量的分类结果以及它们之间的关系,可以选择主要变量进行要变量进行Q型聚类分析或回归分析。(型聚类分析或回归分析。(R2为选择标准)为选择标准)Q型聚类分析的主要作用:型聚类分析的主要作用: 可以综合利用多个变
8、量的信息对样本进行分析。可以综合利用多个变量的信息对样本进行分析。 分类结果直观,聚类谱系图清楚地表现数值分类结果。分类结果直观,聚类谱系图清楚地表现数值分类结果。 聚类分析所得到的结果比传统分类方法更细致、全面、聚类分析所得到的结果比传统分类方法更细致、全面、合理。合理。在课堂上主要讨论在课堂上主要讨论Q型聚类分析型聚类分析, Q型聚类常用的统计量是距型聚类常用的统计量是距离离.设有设有n个样品的个样品的p元观测数据组成一个数据矩阵元观测数据组成一个数据矩阵npn2n12p22211p1211xxxxxxxxxX其中每一行表示一个样品,每一列表示一个指标,其中每一行表示一个样品,每一列表示一
9、个指标,xij表示第表示第i个样品关于第个样品关于第j项指标的观测值,聚类分析的项指标的观测值,聚类分析的基本思想就是在样品之间定义距离,在指标之间定义基本思想就是在样品之间定义距离,在指标之间定义相似系数,样品之间距离表明样品之间的相似度,指相似系数,样品之间距离表明样品之间的相似度,指标之间的相似系数刻画指标之间的相似度。将样品标之间的相似系数刻画指标之间的相似度。将样品(或变量)按相似度的大小逐一归类,关系密切的聚(或变量)按相似度的大小逐一归类,关系密切的聚集到较小的一类,关系疏远的聚集到较大的一类,聚集到较小的一类,关系疏远的聚集到较大的一类,聚类分析通常有:类分析通常有:系统聚类、
10、快速聚类,我们主要介绍系统聚类、快速聚类,我们主要介绍系统聚类的方法与系统聚类的方法与MATLAB实现实现3.1.2 样品间的相似度量样品间的相似度量距离距离一一.常用距离的定义常用距离的定义设有设有n个样品的个样品的p元观测数据:元观测数据: n21ixxxxTipi2i1i,),(这时,每个样品可看成这时,每个样品可看成p p元空间的一个点,每两个点之元空间的一个点,每两个点之间的距离记为间的距离记为 满足条件:满足条件:),(jixxdjijijixx0 xxd0 xxd当且仅当且),(,),(),(),(ijjixxdxxd),(),(),(jkkijixxdxxdxxd1.欧氏距离欧
11、氏距离21p1k2jkikjixxxxd/)(),( pdist(x) 2.绝对距离绝对距离p1kjkikjixxxxd|),(pdist(x,cityblock)3.明氏距离明氏距离m1p1kmjkikjixxxxd/|),( pdist(x,minkowski,r)4.切氏距离切氏距离|),(jkikpk1jixxmaxxxdmax(abs(xi-xj)5.方差加权距离方差加权距离21p1k2k2jkikjisxxxxd/)(),(将原数据标准化以后的欧氏距离将原数据标准化以后的欧氏距离6.马氏距离马氏距离T1ijijijd(x ,x )(xx )(xx )pdist(x,mahal)7.
12、兰氏距离兰氏距离p1kjkikjkikjixxxxp1xxd|),(8.杰氏距离(杰氏距离(Jffreys & Matusita)21p1k2jkikjixxxxd/)(),(例例1.为了研究辽宁、浙江、河南、甘肃、青海为了研究辽宁、浙江、河南、甘肃、青海5省省1991年城镇居民生活消费规律,需要利用调查资料对年城镇居民生活消费规律,需要利用调查资料对五个省进行分类,指标变量共五个省进行分类,指标变量共8个,意义如下:个,意义如下:x1:人人均粮食支出,均粮食支出,x2:人均副食支出人均副食支出;x3:人均烟酒茶支出,人均烟酒茶支出,x4:人均其他副食支出人均其他副食支出,x5:人均衣
13、着商品支出人均衣着商品支出,x6:人均人均日用品支出,日用品支出,x7:人均燃料支出,人均燃料支出,x8人均非商品支出人均非商品支出X X1 1X X2 2X X3 3X X4 4X X5 5X X6 6X X7 7X X8 8辽宁辽宁7.97.939.7739.778.498.4912.9412.9419.2719.2711.0511.052.042.0413.2913.29浙江浙江7.687.6850.3750.3711.3511.3513.313.319.2519.2514.5914.592.752.7514.8714.87河南河南9.429.4227.9327.938.28.28.14
14、8.1416.1716.179.429.421.551.559.769.76甘肃甘肃9.169.1627.9827.989.019.019.329.3215.9915.999.19.11.821.8211.3511.35青海青海10.0610.0628.6428.6410.5210.5210.0510.0516.1816.188.398.391.961.9610.8110.81表表1 1991年五省城镇居民生活月均消费(元年五省城镇居民生活月均消费(元/人)人)计算各省之间的欧氏、绝对、明氏距离计算各省之间的欧氏、绝对、明氏距离解:解:x=7.939.778.4912.9419.2711.05
15、2.0413.297.6850.3711.3513.319.2514.592.7514.879.4227.938.28.1416.179.421.559.769.1627.989.019.3215.999.11.8211.3510.0628.6410.5210.0516.188.391.9610.81;d1=pdist(x);% 此时计算出各行之间的欧氏距离,此时计算出各行之间的欧氏距离, 为了得到距离矩阵,我们键入命令:为了得到距离矩阵,我们键入命令:D= squareform(d1), % 注意此时注意此时d1必须是一个行向量,必须是一个行向量,结果是实对称矩阵结果是实对称矩阵若想得到书中
16、的三角阵,则有命令:若想得到书中的三角阵,则有命令:S = tril(squareform(d1)S = 0 0 0 0 0 11.6726 0 0 0 0 13.8054 24.6353 0 0 0 13.1278 24.0591 2.2033 0 0 12.7983 23.5389 3.5037 2.2159 0d2=pdist(a,cityblock); S2 = tril(squareform(d2)S2 = 0 0 0 0 0 19.89 0 0 0 0 27.2 47.05 0 0 0 24.58 43.39 4.66 0 0 26.52 42.31 8.08 5.38 0d3=p
17、dist(a,minkowski,3); S3 = tril(squareform(d3)3.1.3 变量间的相似度量变量间的相似度量相似系数相似系数 当对当对p个指标变量进行聚类时,用相似系数来个指标变量进行聚类时,用相似系数来衡量变量之间的相似程度(关联度),若用衡量变量之间的相似程度(关联度),若用 表表示变量之间的相似系数,则应满足:示变量之间的相似系数,则应满足:,C 1C1C 且,|0kk1C, 当且仅当 CC相似系数中最常用的是相似系数中最常用的是相关系数与夹角余弦相关系数与夹角余弦。 夹角余弦夹角余弦 两变量的夹角余弦定义为:两变量的夹角余弦定义为: 相关系数相关系数 两变量的
18、相关系数定义为:两变量的相关系数定义为: 例例2.计算例计算例1中各指标之间的相关系数与夹角余弦中各指标之间的相关系数与夹角余弦解:解:a=7.939.77 8.4912.94 19.27 11.052.04 13.297.6850.37 11.3513.319.25 14.59 2.75 14.879.4227.93 8.28.1416.17 9.421.55 9.769.1627.98 9.019.3215.99 9.11.82 11.3510.06 28.64 10.52 10.05 16.18 8.391.96 10.81;R=corrcoef(a);% 指标之间的相关系数指标之间的相
19、关系数a1=normc(a); % 将将a的各列化为单位向量的各列化为单位向量J=a1*a1 % 计算计算a中各列之间的夹角余弦中各列之间的夹角余弦J = 1.0000 0.9410 0.9847 0.9613 0.9824 0.9546 0.9620 0.9695 0.9410 1.0000 0.9782 0.9939 0.9853 0.9977 0.9947 0.9935 0.9847 0.9782 1.0000 0.9859 0.9911 0.9840 0.9931 0.9909 0.9613 0.9939 0.9859 1.0000 0.9944 0.9919 0.9947 0.998
20、1 0.9824 0.9853 0.9911 0.9944 1.0000 0.9901 0.9901 0.9968 0.9546 0.9977 0.9840 0.9919 0.9901 1.0000 0.9952 0.9953 0.9620 0.9947 0.9931 0.9947 0.9901 0.9952 1.0000 0.9968 0.9695 0.9935 0.9909 0.9981 0.9968 0.9953 0.9968 1.00003.2 系统聚类法系统聚类法 系统聚类法是目前应用较为广泛的一种聚类法。谱系统聚类法是目前应用较为广泛的一种聚类法。谱系聚类是根据生物分类学的思想对研
21、究对象进行分类的系聚类是根据生物分类学的思想对研究对象进行分类的方法。在生物分类学中,分类的单位是:门、纲、目、方法。在生物分类学中,分类的单位是:门、纲、目、科、属、种。其中种是分类的基本单位,分类单位越小,科、属、种。其中种是分类的基本单位,分类单位越小,它所包含的生物就越少,生物之间的共同特征就越多。它所包含的生物就越少,生物之间的共同特征就越多。利用这种思想,系统利用这种思想,系统(谱系谱系)聚类首先将各样品自成一类,聚类首先将各样品自成一类,然后把最相似(距离最近或相似系数最大)的样品聚为然后把最相似(距离最近或相似系数最大)的样品聚为小类,再将已聚合的小类按各类之间的相似性(用类间
22、小类,再将已聚合的小类按各类之间的相似性(用类间距离度量)进行再聚合,随着相似性的减弱,最后将一距离度量)进行再聚合,随着相似性的减弱,最后将一切子类都聚为一大类,从而得到一个按相似性大小聚结切子类都聚为一大类,从而得到一个按相似性大小聚结起来的一个谱系图。起来的一个谱系图。系统聚类法的基本思想系统聚类法的基本思想 设有设有n个样品个样品,每个样品测得每个样品测得p项指标项指标. 首先定义样品间的距离首先定义样品间的距离(或相似系数或相似系数)和类与和类与类之间的距离类之间的距离. 系统聚类方法的基本思想是系统聚类方法的基本思想是: 一开始将一开始将n个样品各自自成一类个样品各自自成一类,这时
23、类间的这时类间的距离与样品间的距离是等价的距离与样品间的距离是等价的;然后将距离最近然后将距离最近的两类合并的两类合并,并计算新类与其他类的类间距离并计算新类与其他类的类间距离,再按最小距离并类再按最小距离并类.这样每次缩小一类这样每次缩小一类,直到所直到所有的样品都成一类为止有的样品都成一类为止.这个并类过程可以用谱这个并类过程可以用谱系聚类图形象地表达出来系聚类图形象地表达出来.系统聚类分析的方法系统聚类分析的方法 系统聚类法的聚类原则决定于样品间的距离系统聚类法的聚类原则决定于样品间的距离( (或相似系数或相似系数) )及类间距离的定义及类间距离的定义, ,类间距离的类间距离的不同定义就
24、产生了不同的系统聚类分析方法不同定义就产生了不同的系统聚类分析方法. .几个记号几个记号: : 用用dij表示样品表示样品Xi和和Xj之间的距离之间的距离, 当样品间的亲疏关系采用相似系数当样品间的亲疏关系采用相似系数C Cijij 时时, , 令令 dij=1-|Cij| (或或 d2ij=1-C2ij);); 用用Dij表示类表示类Gi和和Gj间的距离间的距离. . 最短距离法最短距离法(single linkage) 最长距离法最长距离法(complete linkage) 中间距离法中间距离法(median method) 可变距离法可变距离法(flexible median) 重心重
25、心法法(centroid) 类平均法类平均法(average) 可变类平均法可变类平均法(flexible average) Ward最小方差法最小方差法(Wards minimum variance)n类间距离类间距离3.2.1 类间距离类间距离前面,我们介绍了两个向量之间的距离,下面我们前面,我们介绍了两个向量之间的距离,下面我们介绍两个类别之间的距离:介绍两个类别之间的距离:设设dij表示两个样品表示两个样品xi,xj之间的距离,之间的距离,Gp,Gq分别表示两分别表示两个类别,各自含有个类别,各自含有np,nq个样品个样品.(1)最短距离)最短距离ijGjGipqdminDqp,即用两
26、类中样品之间的距离最短者作为两类间距离即用两类中样品之间的距离最短者作为两类间距离(2)最长距离)最长距离,pqpqiji Gj GDmax d 即用两类中样品之间的距离最长者作为两类间距离即用两类中样品之间的距离最长者作为两类间距离最短距离x21x12x22x1113d最长距离x11x2112d(3)类平均距离)类平均距离pqGiGjijqppqdnn1D即用两类中所有两两样品之间距离的平均作为两类间即用两类中所有两两样品之间距离的平均作为两类间距离距离(4)重心距离)重心距离)()(),(qpTqpqppqxxxxxxdD其中其中 分别是分别是Gp,Gq的重心,这是用两类的重心的重心,这是
27、用两类的重心之间的欧氏距离作为两类间的距离。之间的欧氏距离作为两类间的距离。qpxx ,(5)离差平方和距离()离差平方和距离(ward))()(qpTqpqpqp2pqxxxxnnnnD显然,离差平方和距离与重心距离的平方成正比。显然,离差平方和距离与重心距离的平方成正比。重心距离重心距离11,x y22,xy/9ii=1d9 3.2.2 类间距离的递推公式类间距离的递推公式设有两类设有两类Gp,Gq合并成新的一类合并成新的一类Gr,包含了,包含了nr=np+nq个样品,如何计算个样品,如何计算Gr与其他类别与其他类别Gk之间的之间的距离,这就需要建立类间距离的递推公式。距离,这就需要建立类
28、间距离的递推公式。(1)最短距离)最短距离),(qkpkrkDDminD(2)最长距离)最长距离),(qkpkrkDDmaxD(3)类平均距离)类平均距离qkrqpkrprkDnnDnnD(4)重心距离)重心距离2pqrqrp2qkrq2pkrp2rkDnnnnDnnDnnD证明:证明:rTrkTrkTkrkTrk2rkxxxx2xxxxxxD)()(kTkrqkTkrpkTkxxnnxxnnxx()rppqqr1,xn xn xn 将将代入(代入(1)(1)_._.pqpq2TTTT2TT2Trkkkkkkpkqppppqpqqqq2rrrrrnnnn1Dx xx x2x x2x xn x
29、x2n n x xn x xnnnnn . . 将上式中加上再减去将上式中加上再减去 与与 ,合并同类项,合并同类项得得_pTprpxxnnqTqrqxxnnqTqrqpTprpqTq2qqTpqppTp2p2rqTqqTkkTkrqpTppTkkTkrp2rkxxnnxxnnxxnxxn2nxxnn1xxxx2xx ( nnxxxx2xx (nnD)上式第二行合并同类项,得上式第二行合并同类项,得2pqrqrp2qkrq2pkrp2rkDnnnnDnnDnnD(5)离差平方和距离)离差平方和距离2pqkrk2qkkrkq2pkkrkp2rkDnnnDnnnnDnnnnD1. 选择样本间距离的
30、定义及类间距离的定义;选择样本间距离的定义及类间距离的定义;2. 计算计算n n个个样本样本两两之间的距离两两之间的距离,得到距离矩阵得到距离矩阵 3. 构造个类,每类只含有一个构造个类,每类只含有一个样本样本;4. 合并符合类间距离定义要求的两类为一个新类;合并符合类间距离定义要求的两类为一个新类;5. 计算新类与当前各类的距离。若类的个数为计算新类与当前各类的距离。若类的个数为1 1,则转,则转到步骤到步骤6 6,否则回到步骤,否则回到步骤4;4;6.6.画出聚类图;画出聚类图; 7.7.决定类的个数和类。决定类的个数和类。 ijdD 3.2.3 3.2.3 系统聚类法的步骤系统聚类法的步
31、骤谱系聚类的步骤如下:谱系聚类的步骤如下:系统聚类法的基本步骤系统聚类法的基本步骤当临界值当临界值d=2.01应分为两类应分为两类当临界值当临界值d=1.51应分为三类应分为三类当临界值当临界值d=1.01应分为四类应分为四类(1)n个样品开始作为个样品开始作为n个类,计算两两之间的个类,计算两两之间的距离或相似系数,得到实对称矩阵距离或相似系数,得到实对称矩阵nnn2n12n22211n12110dddddddddD(2)从)从D0的非主对角线上找最小(距离)或最大的非主对角线上找最小(距离)或最大元素(相似系数),设该元素是元素(相似系数),设该元素是dpq,则将,则将Gp,Gq合合并成一
32、个新类并成一个新类Gr=(Gp,Gq),在),在D0中去掉中去掉Gp,Gq所在的两行、两列,并加上新类与其余各类之间的所在的两行、两列,并加上新类与其余各类之间的距离距离(或相似系数或相似系数),得到,得到n-1阶矩阵阶矩阵D1。(3)从)从D1出发重复步骤(出发重复步骤(2)的做法得到)的做法得到D2,再,再由由D2出发重复上述步骤,直到所有样品聚为一个出发重复上述步骤,直到所有样品聚为一个大类为止。大类为止。(4)在合并过程中要记下合并样品的编号及两类合)在合并过程中要记下合并样品的编号及两类合并时的水平,并绘制聚类谱系图。并时的水平,并绘制聚类谱系图。例例1.为了研究辽宁、浙江、河南、甘
33、肃、青海为了研究辽宁、浙江、河南、甘肃、青海5省省1991年城镇居民生活消费规律,需要利用调查资料对年城镇居民生活消费规律,需要利用调查资料对五个省进行分类,指标变量共五个省进行分类,指标变量共8个,意义如下:个,意义如下:x1:人人均粮食支出,均粮食支出,x2:人均副食支出人均副食支出;x3:人均烟酒茶支出,人均烟酒茶支出,x4:人均其他副食支出人均其他副食支出,x5:人均衣着商品支出人均衣着商品支出,x6:人均人均日用品支出,日用品支出,x7:人均燃料支出,人均燃料支出,x8人均非商品支出人均非商品支出X X1 1X X2 2X X3 3X X4 4X X5 5X X6 6X X7 7X
34、X8 8辽宁辽宁7.97.939.7739.778.498.4912.9412.9419.2719.2711.0511.052.042.0413.2913.29浙江浙江7.687.6850.3750.3711.3511.3513.313.319.2519.2514.5914.592.752.7514.8714.87河南河南9.429.4227.9327.938.28.28.148.1416.1716.179.429.421.551.559.769.76甘肃甘肃9.169.1627.9827.989.019.019.329.3215.9915.999.19.11.821.8211.3511.35
35、青海青海10.0610.0628.6428.6410.5210.5210.0510.0516.1816.188.398.391.961.9610.8110.81表表1 1991年五省城镇居民生活月均消费(元年五省城镇居民生活月均消费(元/人)人)例例3. 从例从例1算得的样品间的欧氏距离矩阵出发,用算得的样品间的欧氏距离矩阵出发,用下列方法进行谱系聚类。下列方法进行谱系聚类。(1)最短距离,()最短距离,(2)最长距离)最长距离解:我们用解:我们用1,2,3,4,5分别表示辽宁、浙江、河分别表示辽宁、浙江、河南、甘肃和青海,将距离矩阵记为南、甘肃和青海,将距离矩阵记为D054321D01234
36、5011.67013.8024.63013.1224.06012.8023.543.512.22.2010(1)最短距离法:将各省看成一类,即)最短距离法:将各省看成一类,即Gi=i i=1,5,从从D0可以看出各类中距离最短的是可以看出各类中距离最短的是d43=2.20,因此将因此将G3,G4在在2.20水平上合成一个新类水平上合成一个新类G6=3,4,计算计算G6和和G1,G2,G5之间的最短距离之间的最短距离 ,得,得 212ddminD0624ddminD1213ddminD453565423262413161.,.,.,将计算结果作为第一列,从将计算结果作为第一列,从D0中去掉第中去
37、掉第3、4行与行与3、4列,剩余元素作为其余各列得到列,剩余元素作为其余各列得到D11D,521433,4125013.12024.06 11.67012.80232.21.540从从D1可以看出可以看出G6与与G5的距离最小,因此在的距离最小,因此在2.21的水的水平上将平上将G6与与G5合成一类合成一类G7,即,即G7=3,4,5计算计算G7与与G1,G2之间的最短距离,得之间的最短距离,得542354230624minDDminD801280121213minDDminD526262516171.,.,.,.,将计算结果作为第一列,从将计算结果作为第一列,从D1中划掉中划掉3,4与与5所
38、在的行与列,剩余元素作为其他列得所在的行与列,剩余元素作为其他列得213,4,5D23,4,512012.8023.5411.670从从D2可以看出可以看出G1,G2最接近,在最接近,在11.67的水平上合并的水平上合并成一类成一类G8,至此只剩下,至此只剩下G7,G8两类,他们之间的距两类,他们之间的距离为:离为:12.8,故在此水平上将合成一类,包含了全,故在此水平上将合成一类,包含了全部的五个省份。部的五个省份。最后,我们作出谱系聚类图:最后,我们作出谱系聚类图: 图1 最短距离聚类图最长距离聚类方法,同学练习最长距离聚类方法,同学练习系统聚类分析用到的函数:函 数功 能pdist计算观
39、测量两两之间的距离 squareform 将距离矩阵从上三角形式转换为方形形式,或从方形形式转换为上三角形式 linkage 创建系统聚类树 dendrogram 输出冰柱图 cophenet 计算Cophenetic相关系数 cluster 根据linkage函数的输出创建分类 clusterdata 根据数据创建分类 inconsistent 计算聚类树的不连续系数 Matlab实现聚类实现聚类: Matlab提供了两种方法进行聚类分析。提供了两种方法进行聚类分析。 一种是利用一种是利用 clusterdata函数函数对样本数据进行一对样本数据进行一次聚类,其缺点为可供用户选择的面较窄,不
40、次聚类,其缺点为可供用户选择的面较窄,不能更改距离的计算方法;能更改距离的计算方法; 另一种是另一种是分步聚类分步聚类:(:(1)找到数据集合中变)找到数据集合中变量两两之间的相似性和非相似性,用量两两之间的相似性和非相似性,用pdist函数函数计算变量之间的距离;(计算变量之间的距离;(2)用)用 linkage函数定函数定义变量之间的连接;(义变量之间的连接;(3)用)用 cophenetic函数函数评价聚类信息;(评价聚类信息;(4)用)用cluster函数创建聚类。函数创建聚类。3.2.4 谱系聚类的谱系聚类的MATLAB实现:实现: 谱系聚类的谱系聚类的MATLAB实现实现(1)输入
41、数据矩阵)输入数据矩阵X,注意行与列的实际意义;,注意行与列的实际意义;(2)计算各样品之间的距离(行)计算各样品之间的距离(行)调用格式:调用格式:Y=pdist(X,metric)X*=zscore(X); %标准化数据标准化数据 说明说明:用:用 metric指定的方法计算指定的方法计算 X 数据矩阵数据矩阵中对象之间的距离。中对象之间的距离。 X:一个:一个nm的矩阵,它是由的矩阵,它是由n个对象组成的数个对象组成的数据集,每个对象的大小为据集,每个对象的大小为m。 euclidean:欧氏距离(默认);:欧氏距离(默认); seuclidean:标准化欧氏距离;:标准化欧氏距离; m
42、ahalanobis:马氏距离;:马氏距离; cityblock:绝对值距离;:绝对值距离; minkowski,r:明可夫斯基距离;:明可夫斯基距离; cosine: correlation: hamming: jaccard: chebychev:Chebychev距离。距离。注意注意:以上命令输出的结果是一个行向量,:以上命令输出的结果是一个行向量,如果要得到距离矩阵,可以用命令:如果要得到距离矩阵,可以用命令: D= squareform(d),若得到三角阵,可以用命令:若得到三角阵,可以用命令: D= tril(squareform(d1)(3) 选择不同的类间距离进行聚类选择不同的
43、类间距离进行聚类 调用格式:调用格式:Z=linkage(Y,method) 说明说明:用:用method参数指定的算法计算系统聚类参数指定的算法计算系统聚类树。树。 Y:pdist函数返回的距离向量;函数返回的距离向量; method:可取值如下:可取值如下: single:最短距离法(默认);:最短距离法(默认); complete:最长距离法;:最长距离法; average:未加权平均距离法;:未加权平均距离法; weighted:加权平均法;:加权平均法; centroid: 质心距离法;质心距离法; median:加权质心距离法;:加权质心距离法; ward:内平方距离法(最小方差算
44、法):内平方距离法(最小方差算法) 返回:返回:Z为一个包含聚类树信息的(为一个包含聚类树信息的(n-1)3的矩的矩阵阵,每一行表示在某水平上合并为一类的序号每一行表示在某水平上合并为一类的序号.(4)作出谱系聚类图)作出谱系聚类图H=dendrogram(z,p) % 注意若样本少注意若样本少于于30,可以省去,可以省去p,否则必须填写否则必须填写.调用格式:调用格式:H,T,=dendrogram(Z,p,)说明说明:生成只有顶部:生成只有顶部p个节点的冰柱图(谱系图)。个节点的冰柱图(谱系图)。 (5)根据分类数目,输出聚类结果)根据分类数目,输出聚类结果T=cluster(z,k) %
45、 注意注意k是分类数目,是分类数目,z是(是(3)中的结果中的结果Find(T=k0) % 找出属于第找出属于第k0类的样品编号类的样品编号调用格式:调用格式:T=cluster(Z,)说明说明:根据:根据linkage函数的输出函数的输出Z 创建分类。创建分类。 (6) cophenet函数函数 调用格式:调用格式:c=cophenet(Z,Y) 说明:利用说明:利用pdist函数生成的函数生成的Y和和linkage函数生成的函数生成的Z计算计算cophenet相关系数。相关系数。 (7) clusterdata函数函数 调用格式:调用格式:T=clusterdata(X,) 说明:根据数据
46、创建分类。说明:根据数据创建分类。 T=clusterdata(X,cutoff)与下面的一组命令等价:与下面的一组命令等价: Y=pdist(X,euclid); Z=linkage(Y,single); T=cluster(Z,cutoff);例例1.为了研究辽宁、浙江、河南、甘肃、青海为了研究辽宁、浙江、河南、甘肃、青海5省省1991年城镇居民生活消费规律,需要利用调查资料对年城镇居民生活消费规律,需要利用调查资料对五个省进行分类,指标变量共五个省进行分类,指标变量共8个,意义如下:个,意义如下:x1:人人均粮食支出,均粮食支出,x2:人均副食支出人均副食支出;x3:人均烟酒茶支出,人均
47、烟酒茶支出,x4:人均其他副食支出人均其他副食支出,x5:人均衣着商品支出人均衣着商品支出,x6:人均人均日用品支出,日用品支出,x7:人均燃料支出,人均燃料支出,x8人均非商品支出人均非商品支出X X1 1X X2 2X X3 3X X4 4X X5 5X X6 6X X7 7X X8 8辽宁辽宁7.97.939.7739.778.498.4912.9412.9419.2719.2711.0511.052.042.0413.2913.29浙江浙江7.687.6850.3750.3711.3511.3513.313.319.2519.2514.5914.592.752.7514.8714.87
48、河南河南9.429.4227.9327.938.28.28.148.1416.1716.179.429.421.551.559.769.76甘肃甘肃9.169.1627.9827.989.019.019.329.3215.9915.999.19.11.821.8211.3511.35青海青海10.0610.0628.6428.6410.5210.5210.0510.0516.1816.188.398.391.961.9610.8110.81表表1 1991年五省城镇居民生活月均消费(元年五省城镇居民生活月均消费(元/人)人)解:解:x=7.939.77 8.4912.94 19.27 11.0
49、52.0413.297.6850.37 11.3513.319.25 14.59 2.7514.879.4227.93 8.28.1416.17 9.421.559.769.1627.98 9.019.3215.99 9.11.8211.3510.06 28.64 10.52 10.05 16.18 8.391.9610.81;欧氏距离:欧氏距离:d1=pdist(x); %x中每行之间距离中每行之间距离% 五种类间距离聚类五种类间距离聚类z1=linkage(d1); z2=linkage(d1,complete);z3=linkage(d1,average);z4=linkage(d1,c
50、entroid);z5=linkage(d1,ward);其中其中z1输出结果为:输出结果为:z1 = 3.0000 4.0000 2.2033 6.0000 5.0000 2.2159 1.0000 2.0000 11.6726 8.0000 7.0000 12.7983 % 在在2.2033的水平,的水平,G3,G4合成一类为合成一类为G6% 在在2.2159的水平,的水平,G6,G5合成一类为合成一类为G7% 在在11.6726的水平,的水平,G1,G2合成一类为合成一类为G8 % 在在12.7983的水平,的水平,G7,G8合成一类合成一类 作谱系聚类图:作谱系聚类图:H= dendr
51、ogram(z1)% 输出分类结果输出分类结果T=cluster(z1,3)T 1 2 3 3 3 图图1.最短距离聚类图最短距离聚类图结果表明:若分为结果表明:若分为三类,则辽宁是一三类,则辽宁是一类,浙江是一类,类,浙江是一类,河南、青海和甘肃河南、青海和甘肃是另一类。是另一类。 以上是样品之间是欧氏距离,类间距离以上是样品之间是欧氏距离,类间距离是最短距离聚类的结果,实际上,对样品之是最短距离聚类的结果,实际上,对样品之间的每一种距离,可以由五种不同的类间距间的每一种距离,可以由五种不同的类间距离进行聚类。那么哪一种最好呢?为此我们离进行聚类。那么哪一种最好呢?为此我们可以计算复合相关系
52、数,若该系数越接近于可以计算复合相关系数,若该系数越接近于1则该聚类越理想。在则该聚类越理想。在MATLAB中计算复合相中计算复合相关系数的命令如下:关系数的命令如下:R=cophenet(z,d)其中其中,z 是用某种类间距离是用某种类间距离linkage后的结果,后的结果,d是样品之间的某种距离,是样品之间的某种距离, 想了解利用欧氏距离聚类,那种类间距离最想了解利用欧氏距离聚类,那种类间距离最好,可以计算五个复合相关系数:好,可以计算五个复合相关系数: R=cophenet(z1,d1),cophenet(z2,d1),cophenet(z3,d1),cophenet(z4,d1),co
53、phenet(z5,d1)结果为:结果为:0.8413 0.8571 0.8623 0.8622 0.8532 由于由于0.8623 最大,故认为若样品之间采用欧最大,故认为若样品之间采用欧氏距离,则类间距离以中间距离最好,如果我氏距离,则类间距离以中间距离最好,如果我们要找到最理想的分类方法,可以对每一种样们要找到最理想的分类方法,可以对每一种样品之间的距离,都计算上述的复合相关系数,品之间的距离,都计算上述的复合相关系数,这样就可以找到最理想的样品距离与对应的类这样就可以找到最理想的样品距离与对应的类间距离。间距离。类的个数的确定:类的个数的确定: 由适当的阈值确定由适当的阈值确定; 根据
54、数据点的散布直观地确定类的个数;根据数据点的散布直观地确定类的个数; 根据统计量确定分类个数;根据统计量确定分类个数; 根据谱系图确定分类个数的准则根据谱系图确定分类个数的准则: 各类重心间的距离必须很大;各类重心间的距离必须很大; 类中保包含的元素不要太多;类中保包含的元素不要太多; 类的个数必须符合实际应用;类的个数必须符合实际应用; 如果采用几种不同的聚类方法处理,则在各如果采用几种不同的聚类方法处理,则在各种聚类图中应该发现相同的类。种聚类图中应该发现相同的类。3.3 快速聚类法快速聚类法 快速聚类法又称为快速聚类法又称为动态聚类法动态聚类法,该方法首先将样,该方法首先将样品进行粗糙分类,然后依据样品间的距离按一定规品进行粗糙分类,然后依据样品间的距离按一定规则进行调整,直至不能调整为止则进行调整,直至不能调整为止.该方法适用于样品该方法适用于样品数量较大的数据集的聚类分析,但是需要事先给定数量较大的数据集的聚类分析,但是需要事先给定聚类数目,此数目对最终聚类结果有很大影响,实聚类数目,此数目对最终聚类结果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中总务处一周工作计划
- 产教融合、医教协同下师资队伍建设的困境及优化路径
- 设备维修管理制度(完整版)
- 下月工作计划怎么写7篇
- 山东省滕州市2023-2024学年高三物理上学期期中试题含解析
- 中职体育教师教学工作心得范文5篇
- 七年级语文上册 8《世说新语》两则第1课时教学实录 新人教版
- 云南省个旧市第十中学九年级化学下册 第十单元 课题1 常见的酸和碱教学实录 新人教版
- 《美人鱼》观后感(集合15篇)
- 个人自我鉴定(集合15篇)
- HSE基础知识培训
- 管道巡护管理
- 2024年度托管班二人合伙协议书3篇
- 2024-2024年高考全国卷英语语法填空
- 第17课《猫》课件+【知识精研】统编版语文七年级上册
- 山东中医药大学中西医临床(专升本)学士学位考试复习题
- 服装行业智能工厂整体解决方案
- 提捞采油操作规程
- 某物业管理有限公司人员招聘入职流程图
- 设备研发项目进度表
- 地下车库建筑结构设计土木工程毕业设计
评论
0/150
提交评论