当前位置:文档之家› 第10章 聚类分析

第10章 聚类分析

第 10 章 聚类分析“物以类聚,人以群分”。

对事物进行分类,是人们认识事物的出发点,也是人们认识世界的一种重要方法。

因此,分类学已成为人们认识世界的一门基础科学。

在生物、经济、社会、人口等领域的研究中,存在着大量量化分类研究。

例如:在生物学中,为了研究生物的演变,生物学家需要根据各种生物不同的特征对生物进行分类。

在经济研究中,为了研究不同地区城镇居民生活中的收入和消费情况,往往需要划分不同的类型去研究。

在地质学中,为了研究矿物勘探,需要根据各种矿石的化学和物理性质和所含化学成分把它们归于不同的矿石类。

在人口学研究中,需要构造人口生育分类模式、人口死亡分类状况,以此来研究人口的生育和死亡规律。

但历史上这些分类方法多半是人们主要依靠经验作定性分类,致使许多分类带有主观性和任意性,不能很好地揭示客观事物内在的本质差别与联系;特别是对于多因素、多指标的分类问题,定性分类的准确性不好把握。

为了克服定性分类存在的不足,人们把数学方法引入分类中,形成了数值分类学。

后来随着多元统计分析的发展,从数值分类学中逐渐分离出了聚类分析方法。

随着计算机技术的不断发展,利用数学方法研究分类不仅非常必要而且完全可能,因此近年来,聚类分析的理论和应用得到了迅速的发展。

聚类分析就是分析如何对样品(或变量)进行量化分类的问题。

根据聚类对象的不同,聚类分析分为Q 型聚类和R 型聚类。

Q 型聚类是对样品进行分类处理,R 型聚类是对变量进行分类处理。

根据聚类方法的不同,聚类分析又可以分为系统聚类法、K -均值聚类法、有序样品聚类法、模糊聚类法等。

本书将仅针对系统聚类法和K -均值聚类法进行介绍。

10.1 系统聚类法的理论与方法10.1.1 系统聚类的基本思想系统聚类的基本思想是:距离相近的样品(或变量)先聚成类,距离相远的后聚成类,过程一直进行下去,每个样品(或变量)总能聚到合适的类中。

系统聚类过程是:假设总共有个样品(或变量),第一步将每个样品(或变量)独自聚成一类,共有类;第二步根据所确定的样品(或变量)“距离”公式,把距离较近的两个样品(或变量)聚合为一类,其它的样品(或变量)仍各自聚为一类,这样,形成1n n n −类;第三步1− 个类中“距离”最近的两个类进一步聚成一类,这样,形2n 将n 成−类;……。

以上步骤一直进行下去,最后将所有的样品(或变量)全聚成一类。

为了直观地反映以上的系统聚类过程,可以把整个分类系统画成一张谱系图,所以,系统聚类有时也称为谱系分析。

10.1.2 个体之间距离的度量方法进行聚类分析首先要建立在各个样品(或变量)之间“距离”的精确度量的基础之上。

根据变量类型的不同,“距离”的度量方式也不相同,下面分别叙述:1. 针对连续变量的距离测度欧氏距离(Euclidean distance ): 两个体p 个变量值之差平方和的平方根(,)EUCLID x y =欧氏距离平方(Squared Euclidean distance ):两个体p 个变量值之差的平方和21(,)()p i i i SEUCLID x y x y ==−∑切比雪夫距离(Chebychev ):两个体p 个变量值绝对差的最大值1(,)max i i i pChebychev x y x y ≤≤=− 布洛克距离(Block ):两个体p 个变量值绝对差的总和1(,)p i i i Block x y x y ==−∑明可夫斯基距离(Minkowski ):两个体p 个变量值绝对差k 次幂总和的k 次方根(,)Minkowski x y =其中,k 可以任意指定。

容易看出,欧氏距离、切比雪夫距离和布洛克距离分别是明可夫斯基距离当、和2k =k →∞1k =时候的特例。

自定义距离(Customized ):两个体p 个变量值绝对差r 次幂总和的k 次方根(,)Customized x y =其中,和都可以任意指定。

容易看出,上面给出的所有距离都可以通过赋予和特定的值而得到。

k r k r 夹角余弦(Cosine ):2()(,)p i ix y Cosine x y =∑ 皮尔逊相关系数(Pearson correlation ):()()(,)pi i i ix x y y r x y −−=∑夹角余弦和皮尔逊相关系数其实是描述个体之间相似性的指标,所以,它们的值越大,表明个体之间距离越小。

2. 针对计数变量的距离测度所谓计数变量,是指个体在某个分类变量上的频数。

针对计数变量的距离测度方法主要有卡方距离和Phi 方距离。

卡方距离(Chi-square measure ):利用列联表分析的方法得到一个卡方统计量来衡量两个体之间的差异性(关于列联表分析的详细内容,参见8.1.3节)2(,)x y χ=其中,的第个变量的取值(在第类上的频数),是个体i i ()i E x x i x 是个体x 在第类上的期望频数;i i y 是个体y 的第个变量的取值,是个体 表 10-1给出了某市各企业职工文化程度的数据资料,可以计算甲乙两企业之间的卡方距离如下i ()i E y y 在第i 类上的期望频数。

:根据列联表分析的原理可以知道,卡方统计量越大表明个体的选择对变量的取值有显著影响职工文化程度,这也意味着两个体之间的差异越大。

表 10-1 不同企业的Phi 方距离(Phi-square measure )2(,)Phi x y =其中,为样本容量,其余符号的意义与卡方距离一样。

变量,则个体之间的距离测度将基于一个如表 10-2所示的n 3. 针对二值变量的距离测度如果个体的k 个变量都是二值2+2×的列联表。

该表是根据原始数据转换而来的两个体取值的交叉列联表。

表中,a b c d ++等于变量的总个数,a 为两个体取值都为1的变量个数,b 为个体x 取值为01的变量个数,c 为个体而个体y 取值为x 取值为1而个体y 取值为0的变量个数,d 为两个体取值都是0的变量个数。

显然,a d +的比重描述了两个体之间的相似程度,而b c +的0-2 2×2的列联表 比重反映了两个体之间的差异程度。

表 1个体x 1 0 个体y 1a b 0 c d几乎所有的针对二值变量的距离测度都是基于以上的2×2列联表,这里仅给出几例: 二值欧氏距离(Euclidean distance ):(,)EUCLID x y =二值欧氏距离平方(Squared Euclidean distance ):(,)SEUCLID x y b c =+不对称指数(Size difference ):2(,)()b c SD x y a b c d −=+++ 不相似性测度(Pattern difference ):2(,)()bc PD x y a b c d =+++ 方差(Variance ):(,)4()b c Var x y a b c d +=+++ 10.1.3 类之间距离的度量方法系统聚类法不仅需要度量个体与个体之间的距离,还要度量类与类之间的距离。

类间距离被度量出来之后,距离最小的两个小类将首先被合并成为一类。

由类间距离定义的不同产生了不同的系统聚类法。

SPSS 中提供了如下几种类间距离测度方法:组间平均连接距离(Between-group linkage ):以两类个体两两之间距离的平均数作为类间距离;组内平均连接距离(Within-group linkage ):将两类个体合并为一类后,以合并后类中所有个体之间的平均距离作为类间距离;最近邻距离(Nearest neighbor ):以两类中距离最近的两个个体之间的距离作为类间距离;最远邻距离(Furthest neighbor ):以两类中距离最远的两个个体之间的距离作为类间距离;重心距离(Centroid cluster ):以两类变量均值之间的距离作为类间距离;中位数距离(Median cluster ):以两类变量中位数之间的距离作为类间距离; 离差平方和法(Ward method): 该方法是Ward 提出来的,所以又称为Ward 法。

具体做法是先将n 个样品各自成一类,然后每次减少一类,随着类与类的不断聚合,类内的离差平方和必然不断增大,选择使离差平方和增加最小的两类合并,直到所有的样品归为一类为止。

10.2K-均值聚类法的理论与方法系统聚类法需要计算出不同样品或变量的距离,还要在聚类的每一步都要计算“类间距离”,相应的计算量自然比较大;特别是当样本的容量很大时,需要占据非常大的计算机内存空间,这给应用带来一定的困难。

而K—均值法是一种快速聚类法,采用该方法得到的结果比较简单易懂,对计算机的性能要求不高,因此应用也比较广泛。

K—均值法是麦奎因(MacQueen,1967)提出的,这种算法的基本思想是将每一个样品分配给最近中心(均值)的类中,具体的算法至少包括以下三个步骤:1.将所有的样品分成K个初始类,并计算各初始类的中心坐标;2.通过欧氏距离将所有的样品重新分类,分类的原则是将样品划入离中心最近的类中,然后重新计算中心坐标;3.重复步骤2,直到所有的样品都不能再分配时为止。

K—均值法和系统聚类法一样,都是以距离的远近亲疏为标准进行聚类的,但是两者的不同之处也是明显的:系统聚类对不同的类数产生一系列的聚类结果,而K—均值法只能产生指定类数的聚类结果。

具体类数的确定,离不开实践经验的积累;有时也可以借助系统聚类法以一部分样品为对象进行聚类,其结果作为K—均值法确定类数的参考。

10.3K-均值聚类法的实例根据我国各地区2003年三次产业的产值,利用K均值法对我国31个省、自治区和直辖市进行聚类分析。

10.3.1SPSS操作步骤1. 选择菜单项Analyze→Classify→K-Means Cluster,打开K-Means Cluster Analysis对话框,如图 10-1。

将原始变量x1—x3移入Variables列表框框中,将标志变量Region移入Label Case by列表框框中。

在Method选项栏中选择Iterate classify单选项,使用K-means算法不断计算新的类中心,并替换旧的类中心;若选择Classify only,则根据初始类中心进行聚类,在聚类过程中不改变类中心。

在Number of Cluster后面的输入框中输入想要把样品聚成的类数,这里我们输入3,即将31个地区分为3类。

至于Centers按钮,则用于设置迭代的初始类中心。

如果不手工设置,则系统会自动设置初始类中心,这里我们不作设置。

图 10-1 K-Means Cluster Analysis对话框2. 点击Iterate按钮,打开Iterate子对话框,如图 10-2,对迭代参数进行设置。

相关主题