第十一章SPSS的聚类分析 11.1聚类分析的一般问题 11.1.1聚类分析的意义 聚类分析是统计学中研究“物以类聚”问题的多元统计分析方法。聚类分析在统计分析的应用领域已经得到了极为广泛的应用。 理解聚类分析的关键是理解何谓“没有先验知识”以及“亲疏程度”。所谓“没有先验知识”是指没有事先指定分类标准;所谓“亲疏程度”是指在各变量(特征)取值上的总体差异程度。聚类分析正是基于此实现数据的自动分类的。
11.1.2聚类分析中“亲疏程度”的度量方法 聚类分析中,个体之间的“亲疏程度”是极为重要的,它将直接影响最终的聚类结果。对“亲疏程度”的测度一般有两个角度:第一,个体间的相似程度;第二,个体间的差异程度。衡量个体间的相似程度通常可采用简单相关系数或等级相关系数等。个体间差异程度通常通过某种距离来测度,这里将对此做重点讨论。 为定义个体间的距离应先将每个样本数据看成k维空间上的一个点。通常,点与点之间的距离越小,意味着它们越“亲密”,越有可能聚成一类。点与点之间的距离越大,意味着它们越“疏远”,越有可能分别属于不同的类。
11.1.2.1定距型变量个体间距离的计算方式 如果所涉及的k个变量都是定距型变量,那么个体间距离的定义通常有以下几种方式: 欧式距离(Euclidean distance) 切比雪夫(Chebychev)距离 明考斯基(Minkowski)距离 夹角余弦(Cosine)距离 用户自定义(Customized)距离
11.1.2.2计数变量个体间距离的计算方式 如果所涉及的k个变量都是计数(Count)的非连续变量,那么个体间距离的定义通常有以下几种方式: 卡方(Chi-Square measure)距离 两个体(x、y)间卡方距离的数学定义为
11.1.2.3二值变量个体间距离的计算方式 如果所涉及的k个变量都是二值(Binary)变量,那么个体间距离的定义通常有以下几种方式: 简单匹配系数(Simple Matching) 简单匹配系数是建立在两个体k个变量值同时为0(或1)和不同时为0(或1)的频数表基础之上的。
雅科比系数(Jaccard) 雅科比系数与简单匹配系数有相似之处,也是在简单匹配系数的频数表基础上定义的,其数学定义为
11.1.3聚类分析几点说明 应用聚类分析方法进行分析时应注意以下几点: 所选择的变量应符合聚类的要求 聚类分析是在所选变量的基础上对样本数据进行分类,因此分类结果是各个变量综合计量的结果。在选择参与聚类分析的变量时,应注意所选变量是否符合聚类的要求。 各变量的变量值不应有数量级上的差异 聚类分析是以各种距离来度量个体间的“亲疏”程度的。从上述各种距离的定义来看,数量级将对距离产生较大影响,并影响最终的聚类结果。 各变量间不应有较强的线性相关关系
11.2层次聚类 11.2.1层次聚类的两种类型和两种方式 层次聚类又称为系统聚类,简单地讲是指聚类过程是按照一定层次进行的。层次聚类有两种类型,分别是Q型聚类和R型聚类;层次聚类的聚类方式又分两种,分别是凝聚方式聚类和分解方式聚类。 Q型聚类 Q型聚类是对样本进行聚类,它使具有相似特征的样本聚集在一起,使差异性大的样本分离开来。 R型聚类 R型聚类是对变量进行聚类,它使具有相似性的变量聚集在一起,使差异性大的变量分离开来,可在相似性变量中选择少数具有代表性的变量参与其他分析,实现减少变量个数,达到变量降维的目的。
凝聚方式聚类 凝聚方式聚类的过程是,首先,每个个体自成一类;然后,按照某种方法度量所有个体间的亲疏程度,并将其中最“亲密”的个体聚成一小类,形成n-1个类;接下来,再次度量剩余个体和小类间的亲疏程度,并将当前最亲密的个体或小类再聚成一类;重复上述过程,不断将所有个体和小类聚集成越来越大的类,直到所有个体聚到一起,形成一个大类为止。可见,在凝聚方式聚类过程中,随着聚类的进行,类内的“亲密”程度在逐渐降低。对n个个体通过n-1步可凝聚成一大类。
聚类分析是以各种距离来度量个体间的“亲疏”程度的。从各种距离的定义来看,所选择的每个变量都会在距离中做出“贡献”。如果所选变量之间存在较高的线性关系,能够互相替代,那么计算距离时同类变量将重复“贡献”,将在距离中有较高的权重,因而使最终的聚类结果偏向该类变量。
分解方式聚类 分解方式聚类的过程是,首先,所有个体都属一大类;然后,按照某种方法度量所有个体间的亲疏程度,并大类中彼此间最“疏远”的个体分离出去,形成两类(其中一类只有一个个体);接下来,再次度量剩余个体和小类间的亲疏程度,并将类中最“疏远”的个体再分离出去;重复上述过程,不断进行类分解,直到所有个体自成一类为止。可见,在分解方式聚类过程中,随着聚类的进行,类内的“亲密”程度在逐渐增强。对包含n个个体的大类通过n-1步可分解n个个体。
SPSS中的层次聚类采用的是凝聚方式 由此可见,层次聚类法中,度量数据之间的亲疏程度是极为关键的。那么,如果衡量数据间的亲疏程度呢?这涉及两个方面的问题,一是如何度量个体间的亲疏程度;二是如何度量个体与小类之间、小类与小类之间的亲疏程度。测度个体间亲疏程度的方法在前面已经讨论过,这里将重点讨论如何测度个体与小类、小类与小类间的亲疏程度。
11.2.2个体与小类、小类与小类间“亲疏程度”的度量方法 SPSS中提供了多种度量个体与小类、小类与小类间“亲疏程度”的度量方法。与个体间“亲疏程度”的测度方法类似,应首先定义个体与小类、小类与小类的距离。距离小的关系“亲密”,距离大的关系“疏远”。这里的距离是在个体间距离的基础上定义的,常见的距离有:
最近邻居(Nearest Neighbor)距离 个体与小类间的最近邻居距离是该个体与小类中每个个体距离的最小值。 最远邻居(Furthest Neighbor)距离 个体与小类间的最远邻居距离是该个体与小类中每个个体距离的最大值。 组间平均链锁(Between-groups linkage)距离 个体与小类间的组间平均链锁距离是该个体与小类中每个个体距离的平均值。
组间平均链锁法利用了个体与小类的所有距离的信息,克服了最近邻居距离或最远邻居距离中距离易受极端值影响的弱点。 组内平均链锁(Within-groups linkage)距离 个体与小类间的组内平均链锁距离是该个体与小类中每个个体距离以及小类内各个体间距离的平均值。 组内平均链锁法中的距离是所有距离的平均值。与组间平均链锁法相比较,它在聚类的每一步都考虑了小类内部相似性的变化。 重心(Centroid clustering)距离 个体与小类间的重心距离是该个体与小类的重心点的距离。小类的重心点通常是由小类中所有样本在各个变量上的均值所确定的数据点。
11.3 K-Means聚类 虽然层次聚类能够得到多个分类解,但其执行效率并不十分理想,K-Means聚类则能有效地解决该问题。 在指定了聚类数目K后,还需要指定这K个类的初始类中心点。
第三步,根据距离最近原则进行分类 依次计算每个样本数据点到K个类中心点的欧式距离,并按照距K个类中心点距离最短的原则将所有样本分派,形成K个分类。 第四步,重新确定K个类中心 中心点的确定原则是,依次计算各类中k个变量的均值,并以均值点作为K个类的中心点。 第五步,判断是否已满足终止聚类分析的条件 聚类分析终止的条件有两个:第一,迭代次数。第二,类中心点偏移程度。
11.4 判别分析 11.4.1什么是判别分析 判别分析产生于20世纪30年代,是利用已知类别的样本建立判别模型,为未知类别的样本判别的一种统计方法。近年来,判别分析在自然科学、社会学及经济管理学科中都有广泛的应用。判别分析的特点是根据已掌握的、历史上每个类别的若干样本的数据信息,总结出客观事物分类的规律性,建立判别公式和判别准则。当遇到新的样本点时,只要根据总结出来的判别公式和判别准则,就能判别该样本点所属的类别。判别分析按照判别的组数来区分,可以分为两组判别分析和多组判别分析。
11.5 案例分析一 聚类分析是将物理或者抽象对象的集合分成相似的对象类的过程。本次案例我将对同一批数据做两种不同的类型的聚类;它们分别是系统聚类和K-mean聚类。其中系统聚类的聚类方法也采用3种不同方法,来考察对比它们之间的优劣。由于没有样本数据,因此不能根据其数据做判别分析。评价标准主要是观察各聚类方法的所得到的类组间距离和组内聚类的大小。分析数据依然采用线性回归所使用的标准化后的能源消费数据data9-1。
11.5.1 系统聚类 本次实验的系统聚类都是凝聚系统聚类,为了控制变量,都采用平Euclidean距离。 11.5.1.1 最短距离聚类法 最短距离法聚类步骤如下: 1.规定样本间的距离,计算样本两两之间的距离,得到对称矩阵。开始每个样品自成一类。 2.选择对称矩阵中的最小非零元素。将两个样品之间最小距离记为D1,将这两个样品归并成为一类,记为G1。
3.计算G1与其他样品距离。重复以上过程直到所有样品合并为一类。 我们在SPSS中实现最短距离分析非常简单。单击【分析】【分类】【系统聚类】。将弹出如图11-1所示的对话框,设置相应的参数即可。
11.5.1.2 组间联接聚类
11.5.1.3 Ward法聚类 Ward即离差平方和法。它的思想是,同类离差平方和较小,类间偏差平方和较大。Ward方法并类时总是使得并类导致的类内离差平方和增量最小。 公式: 递推公式:
11.5.1.4 K-mean聚类 K-mean聚类是用户指定类别数的大样本资料的逐步聚类分析。所谓逐步聚类分析就是先把被聚对象进行初始分类,然后逐步调整,得到最终K个分类。K-mean法对离群点敏感容易扭曲数据分布。 单击【分析】→【分类】→【K-均值聚类】将弹出如图11-5所示的对话框,我们根据系统聚类法的经验将K选择为5。迭代次数和系统聚类一样选择25次。
11.5.1.5总结 本案例主要通过一批国内的能源消耗和产量数据,来实现回归分析和聚类分析。回归分析得到一个拟合度良好多元线性回归方程:Y=0.008+1.061x1+0.087x2+0.157 x3-0.365x4-0.105 x5-0.017x6 。该方程的残差分析也通过了。聚类分析通过比较三种不同的系统聚类方法,同时还比较了K-mean方法与系统聚类法的不同。在处理该批数据的四种聚类方法中,以ward法最为理想。Ward法所做的聚类得到组间距离最大,组内距离最小。
11.6案例分析二 利用全国30个省市自治区经济发展基本情况的八项指标数据(见数据集data11-1.),用系统聚类法对这30个省市自治区作一初步的分类,并说明各类地区经济发展的特点。
11.6.1 操作 【分析(Analyze)】→【分类(Classify)】→【系统聚类(Hierarchical Cluster)】打开系统聚类分析(Hierarchical Cluster Analysis)对话框 1.变量(Variable(s))列表框 设置分析变量。 2.标志个案(Label Cases by)框 设置分析对象的标志变量。 3.分群(Cluster)单选择框 设置聚类分析的类型。 4.输出(Display)复选择框 设置聚类分析的输出结果,统计量和图都是默认选项。
5.统计量(Statistics)按钮 设置输出的统计量。 合并进程表(Agglomeration schedule)默认选项,输出聚类分析的凝聚状态表; 相似性矩阵(Proximitymatrix)为复选项,输出各样品的距离矩阵。
6.Plots按钮 设置输出图形:树状图 冰状图
7.Method按钮 设置聚类分析的具体方法。 聚类方法: 组间连接:类间平均法 组内连接:类内平均法 最近临元素:最短距离法 最远临元素:最长距离法 质心聚类法:重心法 中位数聚类法:中位数法 Ward法:离差平方和法
8.Save按钮 设置需要保存的分析结果。 输出结果的统计分析 凝聚状态表:
成员表
水平冰柱图
树状图 Dendrogram using Ward Method Rescaled Distance Cluster Combine C A S E 0 5 10 15 20 25 Label Num +---------+---------+---------+---------+---------+ 山西 4 -+ 江西 14 -+-+ 内蒙 5 -+ +-------+ 吉林 7 -+ | | 黑龙江 8 -+-+ | 安徽 12 -+ +---------------+ 湖北 17 -+ | | 湖南 18 -+-----+ | | 四川 22 -+ +---+ | 河北 3 -+-+ | +---------------------+ 河南 16 -+ +---+ | | 辽宁 6 ---+ | | 青海 28 -+ | |
11.6.2 动态聚类法的SPSS实现 在SPSS中,凝聚点的指定不是必须的,系统会自动根据分类数目,结合样品情况来选取凝聚点。 形成初始分类的方法通常有两种,一是直接将每个样品按与其距离最近的凝聚点并类,二是先让每个凝聚点自成一类,将样品依此并入与其距离最近的凝聚点的一类,并计算该类的重心,以这个重心代替原来的凝聚点,再考虑下一个样品的并类,直至所有样品都归类为止。
操作: 【分析(Analyze)】→【 分类(Classify)】→【k-均值聚类(K–Means Cluster)】打开k-均值聚类分析(K–Means Cluster Analysis)对话框 变量列表框 : 聚类数(Number of Clusters)输入框输入指定的聚类数目。
1.迭代(Iterate)按钮 设置快速聚类的迭代终止条件。
2.保存(Save)按钮 设置需要保存的分析结果。
3.选项(Options)按钮 选择快速聚类的输出结果,并指定对缺失数据的处理方法。
输出结果的统计分析 凝聚点表
最后类中心表
类间距离表
分类表
每类中包含的样品数