1、第第七七章章 聚类分析聚类分析第一节第一节 引言引言 第二节第二节 相似性的量度相似性的量度 第三节第三节 系统聚类分析法系统聚类分析法 第四节第四节 K均值聚类分析均值聚类分析 第第五五节节 两步两步聚类分析聚类分析 2什么是聚类分析?什么是聚类分析?v聚类分析是根据聚类分析是根据“物以类聚物以类聚”的道理,对样本或指的道理,对样本或指标进行分类的一种多元统计分析方法,它们讨论的标进行分类的一种多元统计分析方法,它们讨论的对象是大量的样本,要求能合理地按各自的特性进对象是大量的样本,要求能合理地按各自的特性进行合理的分类,没有任何模式可供参考或依循,即行合理的分类,没有任何模式可供参考或依循
2、,即在没有先验知识的情况下进行的。在没有先验知识的情况下进行的。第一节第一节 引言引言4聚类分析无处不在聚类分析无处不在v谁经常光顾商店,谁买什么东西,买多少?谁经常光顾商店,谁买什么东西,买多少?v按会员卡记录的光临次数、光临时间、性别、年龄、按会员卡记录的光临次数、光临时间、性别、年龄、职业、购物种类、金额等变量分类职业、购物种类、金额等变量分类v这样商店可以这样商店可以v识别顾客购买模式(如喜欢一大早来买酸奶和鲜肉,识别顾客购买模式(如喜欢一大早来买酸奶和鲜肉,习惯周末时一次性大采购)习惯周末时一次性大采购)v刻画不同的客户群的特征刻画不同的客户群的特征5聚类分析无处不在聚类分析无处不在
3、v挖掘有价值的客户,并制定相应的促销策略:挖掘有价值的客户,并制定相应的促销策略:如,对经常购买酸奶的客户如,对经常购买酸奶的客户对累计消费达到对累计消费达到12个月的老客户个月的老客户v针对潜在客户派发广告,比在大街上乱发传针对潜在客户派发广告,比在大街上乱发传单命中率更高,成本更低!单命中率更高,成本更低!6聚类分析无处不在聚类分析无处不在v谁是银行信用卡的黄金客户?谁是银行信用卡的黄金客户?利用储蓄额、刷卡消费金额、诚信度等变量对客户分类,利用储蓄额、刷卡消费金额、诚信度等变量对客户分类,找出找出“黄金客户黄金客户”!这样银行可以这样银行可以制定更具吸引力的服务,留住客户!比如:制定更具
4、吸引力的服务,留住客户!比如:v一定额度和期限的免息透支服务!一定额度和期限的免息透支服务!v赠送百盛的贵宾打折卡!赠送百盛的贵宾打折卡!v在他或她生日的时候送上一个小蛋糕!在他或她生日的时候送上一个小蛋糕!7聚类的应用领域聚类的应用领域v经济领域:经济领域:帮助市场分析人员从客户数据库中发现不同的客户群,并且用购买帮助市场分析人员从客户数据库中发现不同的客户群,并且用购买模式来刻画不同的客户群的特征。模式来刻画不同的客户群的特征。谁喜欢打国际长途,在什么时间,打到那里?谁喜欢打国际长途,在什么时间,打到那里?对住宅区进行聚类,确定自动提款机对住宅区进行聚类,确定自动提款机ATM的安放位置的安
5、放位置股票市场板块分析,找出最具活力的板块龙头股股票市场板块分析,找出最具活力的板块龙头股企业信用等级分类企业信用等级分类v生物学领域生物学领域推导植物和动物的分类;推导植物和动物的分类;对基因分类,获得对种群的认识对基因分类,获得对种群的认识v数据挖掘领域数据挖掘领域作为其他数学算法的预处理步骤,获得数据分布状况,集中对特定作为其他数学算法的预处理步骤,获得数据分布状况,集中对特定的类做进一步的研究的类做进一步的研究8 例例 对对10位应聘者做智能检验。位应聘者做智能检验。3项指标项指标X,Y和和Z分别表示数学推理能力、空间想象能力和语言理分别表示数学推理能力、空间想象能力和语言理解能力。得
6、分如下,选择合适的统计方法对应聘解能力。得分如下,选择合适的统计方法对应聘者进行分类。者进行分类。应聘者12345678910X28181121262016142422Y29232223292322232927Z2818162226222224242491011 聚类分析根据一批样本的许多观聚类分析根据一批样本的许多观测指标,按照一定的数学公式具体地测指标,按照一定的数学公式具体地计算一些样本或一些指标的相似程度,计算一些样本或一些指标的相似程度,把相似的样本或指标归为一类,把不把相似的样本或指标归为一类,把不相似的归为一类。相似的归为一类。第二节第二节 相似性的量度相似性的量度 一一 样品相
7、似性的度量样品相似性的度量 二二 变量相似性的度量变量相似性的度量 一、样品相似性的度量一、样品相似性的度量v在聚类之前,要首先分析样品间的相似性。在聚类之前,要首先分析样品间的相似性。Q型聚类分析,型聚类分析,常用距离来测度样品之间的相似程度。每个样品有常用距离来测度样品之间的相似程度。每个样品有p个指标个指标(变量)从不同方面描述其性质,形成一个(变量)从不同方面描述其性质,形成一个p维的向量。如维的向量。如果把果把n个样品看成个样品看成p维空间中的维空间中的n个点,则两个样品间相似程个点,则两个样品间相似程度就可用度就可用p维空间中的两点距离公式来度量。两点距离公式维空间中的两点距离公式
8、来度量。两点距离公式可以从不同角度进行定义,令可以从不同角度进行定义,令dij 表示样品表示样品Xi与与Xj的距离,存的距离,存在以下的距离公式:在以下的距离公式:1明考夫斯基距离明考夫斯基距离 (7.1)明考夫斯基距离简称明氏距离明考夫斯基距离简称明氏距离。按按q的取值不同又可分成的取值不同又可分成下面的几个式子下面的几个式子v欧氏距离是常用的距离,大家都比较熟悉欧氏距离是常用的距离,大家都比较熟悉。但是在解决多元但是在解决多元数据的分析问题时,欧氏距离就显示出了它的不足之处。一数据的分析问题时,欧氏距离就显示出了它的不足之处。一是它没有考虑到总体的变异对是它没有考虑到总体的变异对“距离距离
9、”远近的影响,显然一远近的影响,显然一个变异程度大的总体可能与更多样品近些,既使它们的欧氏个变异程度大的总体可能与更多样品近些,既使它们的欧氏距离不一定最近;另外,欧氏距离受变量的量纲影响,这对距离不一定最近;另外,欧氏距离受变量的量纲影响,这对多元数据的处理是不利的。为了克服这方面的不足,可用多元数据的处理是不利的。为了克服这方面的不足,可用“马氏距离马氏距离”的概念。的概念。2马氏距离马氏距离 设设Xi与与Xj是来自均值向量为是来自均值向量为 ,协方差为,协方差为 的总体的总体G中的中的p维样品,则两个样品间的马氏距离为维样品,则两个样品间的马氏距离为 (7.5)马氏距离又称为广义欧氏距离
10、。显然,马氏距离与上述各种马氏距离又称为广义欧氏距离。显然,马氏距离与上述各种距离的主要不同就是它考虑了观测变量之间的相关性。马氏距离的主要不同就是它考虑了观测变量之间的相关性。马氏距离还考虑了观测变量之间的变异性,不再受各指标量纲的距离还考虑了观测变量之间的变异性,不再受各指标量纲的影响。将原始数据作线性变换后,马氏距离不变。影响。将原始数据作线性变换后,马氏距离不变。3兰氏距离兰氏距离 (7.6)它仅适用于一切它仅适用于一切Xij0的情况,这个距离也可以克服各个指标的情况,这个距离也可以克服各个指标之间量纲的影响。这是一个自身标准化的量,由于它对大的之间量纲的影响。这是一个自身标准化的量,
11、由于它对大的奇异值不敏感,它特别适合于高度偏倚的数据。虽然这个距奇异值不敏感,它特别适合于高度偏倚的数据。虽然这个距离有助于克服明氏距离的第一个缺点,但它也没有考虑指标离有助于克服明氏距离的第一个缺点,但它也没有考虑指标之间的相关性。之间的相关性。4距离选择的原则距离选择的原则v 一般说来,同一批数据采用不同的距离公式,会一般说来,同一批数据采用不同的距离公式,会得到不同的分类结果。产生不同结果的原因,主得到不同的分类结果。产生不同结果的原因,主要是由于不同的距离公式的侧重点和实际意义都要是由于不同的距离公式的侧重点和实际意义都有不同。因此我们在进行聚类分析时,应注意距有不同。因此我们在进行聚
12、类分析时,应注意距离公式的选择。离公式的选择。通常选择距离公式应注意遵循以下的基本原通常选择距离公式应注意遵循以下的基本原则:则:(1)要考虑所选择的距离公式在实际应用中有明确的意)要考虑所选择的距离公式在实际应用中有明确的意义。如欧氏距离就有非常明确的空间距离概念。马氏距义。如欧氏距离就有非常明确的空间距离概念。马氏距离有消除量纲影响的作用。离有消除量纲影响的作用。(2)要综合考虑对样本观测数据的预处理和将要采用的)要综合考虑对样本观测数据的预处理和将要采用的聚类分析方法。如在进行聚类分析之前已经对变量作了聚类分析方法。如在进行聚类分析之前已经对变量作了标准化处理,则通常就可采用欧氏距离。标
13、准化处理,则通常就可采用欧氏距离。(3)要考虑研究对象的特点和计算量的大小。)要考虑研究对象的特点和计算量的大小。样品间距样品间距离公式的选择是一个比较复杂且带有一定主观性的问题离公式的选择是一个比较复杂且带有一定主观性的问题,我们应根据研究对象的特点不同做出具体分折。实际,我们应根据研究对象的特点不同做出具体分折。实际中,聚类分析前不妨试探性地多选择几个距离公式分别中,聚类分析前不妨试探性地多选择几个距离公式分别进行聚类,然后对聚类分析的结果进行对比分析,以确进行聚类,然后对聚类分析的结果进行对比分析,以确定最合适的距离测度方法。定最合适的距离测度方法。二、变量相似性的度量二、变量相似性的度
14、量v 多元数据中的变量表现为向量形式,在几何上可用多维空多元数据中的变量表现为向量形式,在几何上可用多维空间中的一个有向线段表示。在对多元数据进行分析时,相对间中的一个有向线段表示。在对多元数据进行分析时,相对于数据的大小,我们更多地对变量的变化趋势或方向感兴趣于数据的大小,我们更多地对变量的变化趋势或方向感兴趣。因此,变量间的相似性,我们可以从它们的方向趋同性或。因此,变量间的相似性,我们可以从它们的方向趋同性或“相关性相关性”进行考察,从而得到进行考察,从而得到“夹角余弦法夹角余弦法”和和“相关系相关系数数”两种度量方法。两种度量方法。1、夹角余弦、夹角余弦两变量两变量Xi与与Xj看作看作
15、p维空间的两个向量,这两个向量间的夹维空间的两个向量,这两个向量间的夹角余弦可用下式进行计算角余弦可用下式进行计算 (7.7)显然,显然,cos ij 1。2相关系数相关系数相关系数经常用来度量变量间的相似性。变量相关系数经常用来度量变量间的相似性。变量Xi与与Xj的相关的相关系数定义为系数定义为 (7.8)显然也有,显然也有,rij 1。v无论是夹角余弦还是相关系数,它们的绝对值都小于无论是夹角余弦还是相关系数,它们的绝对值都小于1,作为,作为变量近似性的度量工具,我们把它们统记为变量近似性的度量工具,我们把它们统记为cij。当。当 cij =1时,说明变量时,说明变量Xi与与Xj完全相似;
16、当完全相似;当 cij 近似于近似于1时,说时,说明变量明变量Xi与与Xj非常密切;当非常密切;当 cij =0时,说明变量时,说明变量Xi与与Xj完完全不一样;当全不一样;当 cij 近似于近似于0时,说明变量时,说明变量Xi与与Xj差别很大。差别很大。据此,我们把比较相似的变量聚为一类,把不太相似的变量据此,我们把比较相似的变量聚为一类,把不太相似的变量归到不同的类内。归到不同的类内。v在实际聚类过程中,为了计算方便,我们把变量间相似性的在实际聚类过程中,为了计算方便,我们把变量间相似性的度量公式作一个变换为度量公式作一个变换为 dij=1 cij (7.9)或者或者 dij2=1 cij
17、2 (7.10)用表示变量间的距离远近,小用表示变量间的距离远近,小的的则则应应先聚成一类,这比较符先聚成一类,这比较符合人们的一般思维习惯。合人们的一般思维习惯。第三节第三节 系统聚类分析法系统聚类分析法 一一 系统聚类的基本思想系统聚类的基本思想 二二 类间距离与系统聚类法类间距离与系统聚类法 一、系统聚类的基本思想一、系统聚类的基本思想v系统聚类的基本思想是:距离相近的样品(或变量)先聚成系统聚类的基本思想是:距离相近的样品(或变量)先聚成类,距离相远的后聚成类,过程一直进行下去,每个样品(类,距离相远的后聚成类,过程一直进行下去,每个样品(或变量)总能聚到合适的类中。系统聚类过程是:假
18、设总共或变量)总能聚到合适的类中。系统聚类过程是:假设总共有有n个样品(或变量),第一步将每个样品(或变量)独自个样品(或变量),第一步将每个样品(或变量)独自聚成一类,共有聚成一类,共有n类;第二步根据所确定的样品(或变量)类;第二步根据所确定的样品(或变量)“距离距离”公式,把距离较近的两个样品(或变量)聚合为一公式,把距离较近的两个样品(或变量)聚合为一类,其它的样品(或变量)仍各自聚为一类,共聚成类,其它的样品(或变量)仍各自聚为一类,共聚成n 1类类;第三步将;第三步将“距离距离”最近的两个类进一步聚成一类,共聚成最近的两个类进一步聚成一类,共聚成n 2类;类;,以上步骤一直进行下去
19、,最后将所有的样品,以上步骤一直进行下去,最后将所有的样品(或变量)全聚成一类。为了直观地反映以上的系统聚类过(或变量)全聚成一类。为了直观地反映以上的系统聚类过程,可以把整个分类系统画成一张谱系图。所以有时系统聚程,可以把整个分类系统画成一张谱系图。所以有时系统聚类也称为谱系分析。除系统聚类法外,还有有序聚类法、动类也称为谱系分析。除系统聚类法外,还有有序聚类法、动态聚类法、图论聚类法、模糊聚类法等。态聚类法、图论聚类法、模糊聚类法等。二、类间距离与系统聚类法二、类间距离与系统聚类法v在进行系统聚类之前,我们首先要定义类与类之间的距离,在进行系统聚类之前,我们首先要定义类与类之间的距离,由类
20、间距离定义的不同产生了不同的系统聚类法。常用的类由类间距离定义的不同产生了不同的系统聚类法。常用的类间距离定义有间距离定义有8种之多,与之相应的系统聚类法也有种之多,与之相应的系统聚类法也有8种,分种,分别为最短距离法、最长距离法、中间距离法、重心法、类平别为最短距离法、最长距离法、中间距离法、重心法、类平均法、可变类平均法、可变法和离差平方和法。它们的归类均法、可变类平均法、可变法和离差平方和法。它们的归类步骤基本上是一致的,主要差异是类间距离的计算方法不同步骤基本上是一致的,主要差异是类间距离的计算方法不同。以下用。以下用dij表示样品表示样品Xi与与Xj之间距离,用之间距离,用Dij表示
21、类表示类Gi与与Gj之间的距离。之间的距离。1.最短距离法最短距离法定义类与之间的距离为两类最近样品的距离,即为定义类与之间的距离为两类最近样品的距离,即为 (5.11)设类设类Gp与类与类Gq合并成一个新类记为合并成一个新类记为Gr,则任一类,则任一类Gk与与Gr的的距离为距离为 (5.12)27x21x12x22x1112dv最短距离法进行聚类分析的步骤如下:最短距离法进行聚类分析的步骤如下:(1)定义样品之间距离,计算样品的两两距离,得一距离)定义样品之间距离,计算样品的两两距离,得一距离 阵记为阵记为D(0),开始每个样品自成一类,显然这时,开始每个样品自成一类,显然这时Dij=dij
22、。(2)找出距离最小元素,设为)找出距离最小元素,设为Dpq,则将,则将Gp和和Gq合并成一合并成一 个新类,记为个新类,记为Gr,即,即Gr=Gp,Gq。(3)按()按(7.12)计算新类与其它类的距离。)计算新类与其它类的距离。(4)重复()重复(2)、()、(3)两步,直到所有元素并成一类为)两步,直到所有元素并成一类为 止。如果某一步距离最小的元素不止一个,则对应这些止。如果某一步距离最小的元素不止一个,则对应这些 最小元素的类可以同时合并。最小元素的类可以同时合并。v【例例】设有六个样品,每个只测量一个指标,分别是设有六个样品,每个只测量一个指标,分别是1,2,5,7,9,10,试用
23、最短距离法将它们分类。,试用最短距离法将它们分类。(1)样品采用绝对值距离,计算样品间的距离阵)样品采用绝对值距离,计算样品间的距离阵D(0),见,见表表7.1表表7.1(2)D(0)中最小的元素是中最小的元素是D12D561,于是将,于是将G1和和G2合合并成并成G7,G5和和G6合并成合并成G8,并利用(,并利用(7.12)式计算新类与)式计算新类与其其它类的距离它类的距离D(1),见表,见表7.2表表7.2 (3)在)在D(1)中最小值是中最小值是D34D482,由于,由于G4与与G3合并,合并,又与又与G8合并,因此合并,因此G3、G4、G8合并成一合并成一个新类个新类G9,其与其它类
24、的距离,其与其它类的距离D(2),见表,见表7.3表表 7.3(4)最后将)最后将G7和和G9合并成合并成G10,这时所有的六个样品聚为一,这时所有的六个样品聚为一类,其过程终止。类,其过程终止。上述聚类的可视化过程见图上述聚类的可视化过程见图7.1所示,横坐标的刻度表示所示,横坐标的刻度表示并类的距离。这里我们应该注意,聚类的个数要以实际情况所并类的距离。这里我们应该注意,聚类的个数要以实际情况所定,其详细内容将在后面讨论。定,其详细内容将在后面讨论。图图7.1 最短距离聚类法的过程最短距离聚类法的过程33最长距离法最长距离法(Further Neighbor)v以两类中距离最远的两个个体之
25、间的距离作以两类中距离最远的两个个体之间的距离作为类间距离。为类间距离。34x11x2112d35组间平均连接法组间平均连接法(Between-group linkage)v以两类个体两两之间距离的平均数作为类间以两类个体两两之间距离的平均数作为类间距离。距离。361299ddd组间平均连接法(Between-group Linkage)37组内平均连接法组内平均连接法(Within-group linkage)v将两类个体合并为一类后,以合并后类中所将两类个体合并为一类后,以合并后类中所有个体之间的平均距离作为类间距离。有个体之间的平均距离作为类间距离。38 组内平均连接法(组内平均连接法(
26、Within-group Linkage)1234566ddddddx21x12x22x1139重心法重心法(Centroid clustering)v以两类变量均值(重心)之间的距离作为类以两类变量均值(重心)之间的距离作为类间距离。间距离。40重心距离:均值点的距离重心距离:均值点的距离11,x y22,xy41中位数法中位数法(Median clustering)v以两类变量中位数之间的距离作为类间距离。以两类变量中位数之间的距离作为类间距离。在在SPSS中利用系统聚类法进行聚类分析中利用系统聚类法进行聚类分析v设有设有20个土壤样品分别对个土壤样品分别对5个变量的观测数据如表所示,试个
27、变量的观测数据如表所示,试利用系统聚类法对其进行样品聚类分析。利用系统聚类法对其进行样品聚类分析。表表 土壤样本的观测数据土壤样本的观测数据(一)操作步骤(一)操作步骤1.在在SPSS窗口中选择窗口中选择AnalyzeClassifyHierachical Cluster,调出系统聚类分析主界面,并将变量,调出系统聚类分析主界面,并将变量X1X5移入移入Variables框中。在框中。在Cluster栏中选择栏中选择Cases单选按钮,即对单选按钮,即对样品进行聚类(若选择样品进行聚类(若选择Variables,则对变量进行聚类)。,则对变量进行聚类)。在在Display栏中选择栏中选择Sta
28、tistics和和Plots复选框,这样在结果复选框,这样在结果输出窗口中可以同时得到聚类结果统计量和统计图。输出窗口中可以同时得到聚类结果统计量和统计图。图图 系统聚类法主界面系统聚类法主界面 v2.点击Statistics按钮,设置在结果输出窗口中给出的聚类分析统计量。这里我们选择系统默认值,点击Continue按钮,返回主界面。v3.点击Plots按钮,设置结果输出窗口中给出的聚类分析统计图。选中Dendrogram复选框和Icicle栏中的None单选按钮,即只给出聚类树形图,而不给出冰柱图。单击Continue按钮,返回主界面。图 Plots子对话框 v4.点击点击Method按钮,
29、设置系统聚类的方法选项。按钮,设置系统聚类的方法选项。Cluster Method下拉列表用于指定聚类的方法,包下拉列表用于指定聚类的方法,包括组间连接法、组内连接法、最近距离法、最远距括组间连接法、组内连接法、最近距离法、最远距离法等;离法等;Measure栏用于选择对距离和相似性的测栏用于选择对距离和相似性的测度方法;剩下的度方法;剩下的Transform Values和和Transform Measures栏用于选择对原始数据进行标准化的方栏用于选择对原始数据进行标准化的方法。这里我们仍然均沿用系统默认选项。单击法。这里我们仍然均沿用系统默认选项。单击Continue按钮,返回主界面。按
30、钮,返回主界面。图图 Method子对话框子对话框 v5.点击点击Save按钮,指定保存在数据文件中的用于按钮,指定保存在数据文件中的用于表明聚类结果的新变量。表明聚类结果的新变量。None表示不保存任何新表示不保存任何新变量;变量;Single solution表示生成一个分类变量,在表示生成一个分类变量,在其后的矩形框中输入要分成的类数;其后的矩形框中输入要分成的类数;Range of solutions表示生成多个分类变量。这里我们选择表示生成多个分类变量。这里我们选择Range of solutions,并在后面的两个矩形框中分,并在后面的两个矩形框中分别输入别输入2和和4,即生成三个
31、新的分类变量,分别表明,即生成三个新的分类变量,分别表明将样品分为将样品分为2类、类、3类和类和4类时的聚类结果。点击类时的聚类结果。点击Continue,返回主界面。,返回主界面。图图 Save子对话框子对话框 v(二)主要运行结果解释(二)主要运行结果解释v1.在结果输出窗口中我们可以看到聚类树形在结果输出窗口中我们可以看到聚类树形图(图(Dendrogram)。)。v从树形图从树形图中中可以清楚地看到,若将可以清楚地看到,若将20个样品个样品分为两类,分为两类,则样品则样品2、6、19、7、和样品、和样品1为为一类,其余的为另一类;若将样品分为三类一类,其余的为另一类;若将样品分为三类,
32、则样品,则样品8、9、4从第二类中分离出来,自从第二类中分离出来,自成一类;依此类推。成一类;依此类推。2 6 19 7 18 1 8 9 4 3 5 12 20 16 14 10 11 15 17 13 CASE Label Num 0 5 10 15 20 25 Rescaled Distance Cluster Combine 图图 系统聚类法树形图系统聚类法树形图 v2.由于我们已经在由于我们已经在Save子对话框中设置了在数据文件中生子对话框中设置了在数据文件中生成新的分类变量,所以,在数据编辑窗口中,我们可以看到成新的分类变量,所以,在数据编辑窗口中,我们可以看到生成的三个表示分类
33、结果的新变量。变量名为生成的三个表示分类结果的新变量。变量名为clu4_1、clu3_1和和clu2-1的三个分类变量分别表明了把样品分成的三个分类变量分别表明了把样品分成4类类、3类和类和2类的分类情况。类的分类情况。图 生成三个新的分类变量第四节第四节 K均值聚类分析均值聚类分析 v系统聚类法需要计算出不同样品或变量的距离,还系统聚类法需要计算出不同样品或变量的距离,还要在聚类的每一步都要计算要在聚类的每一步都要计算“类间距离类间距离”,相应的,相应的计算量自然比较大;特别是当样本的容量很大时,计算量自然比较大;特别是当样本的容量很大时,需要占据非常大的计算机内存空间,这给应用带来需要占据
34、非常大的计算机内存空间,这给应用带来一定的困难。而一定的困难。而K均值法是一种快速聚类法,采均值法是一种快速聚类法,采用该方法得到的结果比较简单易懂,对计算机的性用该方法得到的结果比较简单易懂,对计算机的性能要求不高,因此应用也比较广泛。能要求不高,因此应用也比较广泛。vK均值法是麦奎因(均值法是麦奎因(MacQueen,1967)提出的,)提出的,这种算法的基本思想是将每一个样品分配给最近中这种算法的基本思想是将每一个样品分配给最近中心(均值)的类中,具体的算法至少包括以下三个心(均值)的类中,具体的算法至少包括以下三个步骤:步骤:1将所有的样品分成将所有的样品分成K个初始类;个初始类;2通
35、过欧氏距离将某个样品划入离中心最近的类通过欧氏距离将某个样品划入离中心最近的类中,并对获得样品与失去样品的类,重新计算中心中,并对获得样品与失去样品的类,重新计算中心坐标;坐标;3重复步骤重复步骤2,直到所有的样品都不能再分配时为,直到所有的样品都不能再分配时为止。止。55vK均值法和系统聚类法一样,都是以距离的远近亲疏为标准均值法和系统聚类法一样,都是以距离的远近亲疏为标准进行聚类的,但是两者的不同之处也是明显的:系统聚类对进行聚类的,但是两者的不同之处也是明显的:系统聚类对不同的类数产生一系列的聚类结果,而不同的类数产生一系列的聚类结果,而K均值法只能产生均值法只能产生指定类数的聚类结果。
36、具体类数的确定,离不开实践经验的指定类数的聚类结果。具体类数的确定,离不开实践经验的积累;有时也可以借助系统聚类法以一部分样品为对象进行积累;有时也可以借助系统聚类法以一部分样品为对象进行聚类,其结果作为聚类,其结果作为K均值法确定类数的参考。均值法确定类数的参考。v下面通过一个具体问题说明下面通过一个具体问题说明K均值法的计算过程。均值法的计算过程。v【例例】假定我们对假定我们对A、B、C、D四个样品分别测量两个变量四个样品分别测量两个变量和得到结果见和得到结果见下下表。表。试将以上的样品聚成两类。试将以上的样品聚成两类。表表 样品测量结果样品测量结果第一步:按要求取第一步:按要求取K=2,
37、为了实施均值法聚类,我们将这些,为了实施均值法聚类,我们将这些样品随意分成两类,比如(样品随意分成两类,比如(A、B)和()和(C、D),然后计算),然后计算这两个聚类的中心坐标,见表所示。这两个聚类的中心坐标,见表所示。表中的中心坐标是通过原始数据计算得来的,比如表中的中心坐标是通过原始数据计算得来的,比如(A、B)类的,)类的,等等。等等。表表 中心坐标中心坐标15(1)22X 第二步:计算某个样品到各类中心的欧氏平方距离,然后将第二步:计算某个样品到各类中心的欧氏平方距离,然后将该样品分配给最近的一类。对于样品有变动的类,重新计算该样品分配给最近的一类。对于样品有变动的类,重新计算它们的
38、中心坐标,为下一步聚类做准备。先计算它们的中心坐标,为下一步聚类做准备。先计算A到两个类到两个类的平方距离:的平方距离:由于由于A到(到(A、B)的距离小于到()的距离小于到(C、D)的距离,因此)的距离,因此A不用重新分配。计算不用重新分配。计算B到两类的平方距离:到两类的平方距离:v由于由于B到(到(A、B)的距离大于到()的距离大于到(C、D)的距离,因此)的距离,因此B要分配给(要分配给(C、D)类,得到新的聚类是()类,得到新的聚类是(A)和()和(B、C、D)。更新中心坐标如表所示。)。更新中心坐标如表所示。表表 更新后的中心坐标更新后的中心坐标 第三步:再次检查每个样品,以决定是
39、否需要重新分类。第三步:再次检查每个样品,以决定是否需要重新分类。计算各样品到各中心的距离平方,得结果。计算各样品到各中心的距离平方,得结果。v到现在为止,每个样品都已经分配给距离中心最近的类,因到现在为止,每个样品都已经分配给距离中心最近的类,因此聚类过程到此结束。最终得到此聚类过程到此结束。最终得到K=2的聚类结果是的聚类结果是A独自成独自成一类,一类,B、C、D聚成一类。聚成一类。表表 样品聚类结果样品聚类结果二、在SPSS中利用K均值法进行聚类分析 v我国各地区我国各地区2003年三次年三次产业产值如产业产值如表表5.17所示所示,试根据三,试根据三次产业产值次产业产值利用利用K均值均
40、值法对我国法对我国31个省、自治个省、自治区和直辖市区和直辖市进行聚类分进行聚类分析。析。v当要聚成的类数确定时,使用当要聚成的类数确定时,使用K均值法可以很快将观测量分均值法可以很快将观测量分到各类中去,而且该方法处理速度快,占用内存少,尤其适到各类中去,而且该方法处理速度快,占用内存少,尤其适用于大样本的聚类分析。用于大样本的聚类分析。v(一)操作步骤(一)操作步骤v1.在在SPSS窗口中选择窗口中选择AnalyzeClassifyK-Means Cluster,调出,调出K均值聚类分析主界面,并将变量均值聚类分析主界面,并将变量移入移入Variables框中,将标志变量框中,将标志变量R
41、egion移入移入Label Case by框框中。在中。在Method框中选择框中选择Iterate classify,即使用,即使用K-means算法不断计算新的类中心,并替换旧的类中心(若选择算法不断计算新的类中心,并替换旧的类中心(若选择Classify only,则根据初始类中心进行聚类,在聚类过程中,则根据初始类中心进行聚类,在聚类过程中不改变类中心)。在不改变类中心)。在Number of Cluster后面的矩形框中输后面的矩形框中输入想要把样品聚成的类数,这里我们输入入想要把样品聚成的类数,这里我们输入3,即将,即将31个地区个地区分为分为3类。至于类。至于Centers按钮
42、,则用于设置迭代的初始类中按钮,则用于设置迭代的初始类中心。如果不手工设置,则系统会自动设置初始类中心,这里心。如果不手工设置,则系统会自动设置初始类中心,这里我们不作设置。我们不作设置。图图 K-均值聚类分析主界面均值聚类分析主界面2.点击点击Iterate按钮,对迭代参数进行设置。按钮,对迭代参数进行设置。Maximum Iterations参数框用于设定参数框用于设定K-means算法迭代的最大次数,算法迭代的最大次数,Convergence Criterion参数框用于设定算法的收敛判据,参数框用于设定算法的收敛判据,其值应该介于其值应该介于0和和1之间。例如判据设置为之间。例如判据设
43、置为0.02,则当一次完,则当一次完整的迭代不能使任何一个类中心距离的变动与原始类中心距整的迭代不能使任何一个类中心距离的变动与原始类中心距离的比小于离的比小于2时,迭代停止。设置完这两个参数之后,只要时,迭代停止。设置完这两个参数之后,只要在迭代的过程中先满足了其中的参数,则迭代过程就停止。在迭代的过程中先满足了其中的参数,则迭代过程就停止。这里我们选择系统默认的标准。单击这里我们选择系统默认的标准。单击Continue,返回主界,返回主界面。面。图5.16 Iterate子对话框3.点击点击Save按钮,设置保存在数据文件中的表明聚类结果按钮,设置保存在数据文件中的表明聚类结果的新变量。其
44、中的新变量。其中Cluster membership选项用于建立一个代选项用于建立一个代表聚类结果的变量,默认变量名为表聚类结果的变量,默认变量名为qcl_1;Distance from cluster center选项建立一个新变量,代表各观测量与其所选项建立一个新变量,代表各观测量与其所属类中心的欧氏距离。我们将两个复选框都选中,单击属类中心的欧氏距离。我们将两个复选框都选中,单击Continue按钮返回。按钮返回。图图 Save子对话框子对话框4.点击点击Options按钮,指定要计算的统计量。选中按钮,指定要计算的统计量。选中Initial cluster centers和和Clust
45、er information for each case复选复选框。这样,在输出窗口中将给出聚类的初始类中心和每个观框。这样,在输出窗口中将给出聚类的初始类中心和每个观测量的分类信息,包括分配到哪一类和该观测量距所属类中测量的分类信息,包括分配到哪一类和该观测量距所属类中心的距离。单击心的距离。单击Continue返回。返回。5.点击点击OK按钮,运行按钮,运行K均值聚类分析程序。均值聚类分析程序。图图 Options子对话框子对话框(二)主要运行结果解释(二)主要运行结果解释1.Initial Cluster Centers(给出初始类中心)(给出初始类中心)2.Iteration Hist
46、ory(给出每次迭代结束后类中心的变动)(给出每次迭代结束后类中心的变动)从表中可以看到本次聚类过程共经历了三次迭代。由于我们从表中可以看到本次聚类过程共经历了三次迭代。由于我们在在Iterate子对话框中使用系统默认的选项(最大迭代次数为子对话框中使用系统默认的选项(最大迭代次数为10和收敛判据为和收敛判据为0),所以在第三次迭代后,类中心的变化),所以在第三次迭代后,类中心的变化为为0,从而迭代停止。,从而迭代停止。3.Cluster Membership(给出各观测量所属的类及与所属类(给出各观测量所属的类及与所属类中心的距离)中心的距离)下下表中表中Cluster列给出了观测量所属的类
47、别,列给出了观测量所属的类别,Distance列给列给出了观测量与所属类中心的距离。(出于排版要求,此表经出了观测量与所属类中心的距离。(出于排版要求,此表经过加工,因此与原始输出表形态有一定差异)。过加工,因此与原始输出表形态有一定差异)。表表 迭代过程中类中心的变化量迭代过程中类中心的变化量表表 各观测量所属类成员表各观测量所属类成员表4.Final Cluster Centers(给出聚类结果形成的类(给出聚类结果形成的类中心的各变量值)中心的各变量值)表表 最终的类中心表最终的类中心表v由此由此我们可以看出我们可以看出31个地区被分成个地区被分成3类。类。v第一类包括:江苏、浙江、山东
48、和广东第一类包括:江苏、浙江、山东和广东4个省。这一类的类个省。这一类的类中心三个产业的产值分别为中心三个产业的产值分别为1102.14亿元、亿元、6423.01亿元和亿元和4454.26亿元,属于三个产业都比较发达的地区。亿元,属于三个产业都比较发达的地区。v第二类包括:天津、山西、内蒙古、吉林、江西、广西、海第二类包括:天津、山西、内蒙古、吉林、江西、广西、海南、重庆、贵州、云南、西藏、陕西、甘肃、青海、宁夏和南、重庆、贵州、云南、西藏、陕西、甘肃、青海、宁夏和新疆新疆16个地区。这一类的类中心三个产业的产值分别为个地区。这一类的类中心三个产业的产值分别为307.61亿元、亿元、795.4
49、1亿元和亿元和673.63亿元,属于欠发达地区。亿元,属于欠发达地区。v剩下的剩下的11个地区为第三类。这一类的类中心三个产业的产值个地区为第三类。这一类的类中心三个产业的产值分别为分别为713.28亿元、亿元、2545.20亿元和亿元和212.87亿元,属于中等亿元,属于中等发达地区。发达地区。v5.由于我们已经在由于我们已经在Save子对话框中设置子对话框中设置了在数据文件中生成新的分类变量,所以,了在数据文件中生成新的分类变量,所以,在数据编辑窗口中,我们可以看到生成的两在数据编辑窗口中,我们可以看到生成的两个表示分类结果的新变量。变量个表示分类结果的新变量。变量qcl_1和变量和变量q
50、cl_2分别代表分类号和观测量距所属类中心分别代表分类号和观测量距所属类中心的距离。的距离。73第五节第五节 两步聚类两步聚类1 基本概念及统计原理基本概念及统计原理(1)基本概念)基本概念 二阶聚类(二阶聚类(TwoStep Cluster)(也称为两步聚类)是一个探)(也称为两步聚类)是一个探索性的分析工具(),为揭示自然的分类或分组而设计,是数据索性的分析工具(),为揭示自然的分类或分组而设计,是数据集内部的而不是外观上的分类。它是一种新型的分层聚类算法(集内部的而不是外观上的分类。它是一种新型的分层聚类算法(Hierarchical Algorithms),目前主要应用到数据挖掘(目前