第十章SPSS聚类分析本章内容•10.1聚类分析的一般问题•10.2层次聚类•10.3K-Means聚类10.1聚类分析的一般问题•10.1.1聚类分析的意义聚类分析是统计学中研究“物以类聚”问题的多元统计分析方法。聚类分析是一种建立分类的多元统计分析方法,它能够将一批样本(或变量)数据根据其诸多特征,按照在性质上的亲疏程度(各变量取值上的总体差异程度)在没有先验知识(没有事先指定的分类标准)的情况下进行自动分类,产生多个分类结果。类内部的个体在特征上具有相似性,不同类间个体特征的差异性较大。例如,学校里有些同学经常在一起,关系比较密切,而他们与另一些同学却很少来往,关系比较疏远。究其原因可能会发现,经常在一起的同学的家庭情况、性格、学习成绩、课余爱好等方面有许多共同之处,而关系比较疏远的同学在这些方面有较大的差异性。为了研究家庭情况、性格、学习成绩、课余爱好等是否会成为划分学生小群体的主要决定因素,可以从有关这些方面的数据入手,进行客观分组,然后比较所得的分组是否与实际相吻合。对学生的客观分组就可采用聚类分析方法。•聚类分析中,个体之间的“亲疏程度”是极为重要的,它将直接影响最终的聚类结果。对“亲疏”程度的测度一般有两个角度:第一,个体间的相似程度;第二,个体间的差异程度。衡量个体间的相似程度通常可采用简单相关系数等,个体间的差异程度通常通过某种距离来测度。•为定义个体间的距离应先将每个样本数据看成k维空间的一个点,通常,点与点之间的距离越小,意味着他们越“亲密”,越有可能聚成一类,点与点之间的距离越大,意味着他们越“疏远”,越有可能分别属于不同的类。10.1.2聚类分析中“亲疏程度”的度量方法•例:下表是同一批客户对经常光顾的五座商场在购物环境和服务质量两方面的平均得分,现希望根据这批数据将五座商场分类。编号购物环境服务质量A商场7368B商场6664C商场8482D商场9188E商场94907.1.2聚类分析中“亲疏程度”的度量方法欧式距离(Euclideandistance)平方欧式距离(SquaredEuclideandistance)切比雪夫(Chebychev)距离Block距离k222iii1(xy)(7366)(6864)iimaxxymax(7366,6864)kiii1xy736668641、定距型变量个体间距离的计算方式2、计数变量个体间距离的计算方式卡方(Chi-Squaremeasure)距离Phi方(Phi-Squaremeasure)距离3、二值(Binary)变量个体间距离的计算方式简单匹配系数(SimpleMatching)雅科比系数(Jaccard)注:聚类分析的几点说明所选择的变量应符合聚类的要求:所选变量应能够从不同的侧面反映我们研究的目的;各变量的变量值不应有数量级上的差异(对数据进行标准化处理):聚类分析是以各种距离来度量个体间的“亲疏”程度的,从上述各种距离的定义看,数量级将对距离产生较大的影响,并影响最终的聚类结果。各变量间不应有较强的线性相关关系学校参加科研人数(人)投入经费(元)立项课题数(项)1410438000019233617300002134902200008元十万元(1,2)26500074.07(1,3)41600080.86(2,3)151000154.56样本的欧氏距离10.2层次聚类•10.2.1层次聚类的两种类型和两种方式层次聚类又称系统聚类,简单地讲是指聚类过程是按照一定层次进行的。层次聚类有两种类型,分别是Q型聚类和R型聚类;层次聚类的聚类方式又有两种,分别是凝聚方式聚类和分解方式聚类。Q型聚类:对样本进行聚类,使具有相似特征的样本聚集在一起,差异性大的样本分离开来。R型聚类:对变量进行聚类,使具有相似性的变量聚集在一起,差异性大的变量分离开来,可在相似变量中选择少数具有代表性的变量参与其他分析,实现减少变量个数,达到变量降维的目的。凝聚方式聚类:其过程是,首先,每个个体自成一类;然后,按照某种方法度量所有个体间的亲疏程度,并将其中最“亲密”的个体聚成一小类,形成n-1个类;接下来,再次度量剩余个体和小类间的亲疏程度,并将当前最亲密的个体或小类再聚到一类;重复上述过程,直到所有个体聚成一个大类为止。可见,这种聚类方式对n个个体通过n-1步可凝聚成一大类。分解方式聚类:其过程是,首先,所有个体都属一大类;然后,按照某种方法度量所有个体间的亲疏程度,将大类中彼此间最“疏远”的个体分离出去,形成两类;接下来,再次度量类中剩余个体间的亲疏程度,并将最疏远的个体再分离出去;重复上述过程,不断进行类分解,直到所有个体自成一类为止。可见,这种聚类方式对包含n个个体的大类通过n-1步可分解成n个个体。•10.2.2个体与小类、小类与小类间“亲疏程度”的度量方法SPSS中提供了多种度量个体与小类、小类与小类间“亲疏程度”的方法。与个体间“亲疏程度”的测度方法类似,应首先定义个体与小类、小类与小类的距离。距离小的关系亲密,距离大的关系疏远。这里的距离是在个体间距离的基础上定义的,常见的距离有:最近邻居(NearestNeighbor)距离:个体与小类中每个个体距离的最小值。最远邻居(FurthestNeighbor)距离:个体与小类中每个个体距离的最大值。组间平均链锁(Between-groupslinkage)距离:个体与小类中每个个体距离的平均值。组内平均链锁(Within-groupslinkage)距离:个体与小类中每个个体距离以及小类内各个体间距离的平均值。重心(Centroidclustering)距离:个体与小类的重心点的距离。重心点通常是由小类中所有样本在各变量上的均值所确定的点。离差平方和法(Ward’smethod):聚类过程中使小类内离差平方和增加最小的两小类应首先合并为一类。五座商场两两个体欧氏距离的矩阵ProximityMatrix.0008.06217.80426.90730.4148.062.00025.45634.65538.21017.80425.456.0009.22012.80626.90734.6559.220.0003.60630.41438.21012.8063.606.000Case1:A商厦2:B商厦3:C商厦4:D商厦5:E商厦1:A商厦2:B商厦3:C商厦4:D商厦5:E商厦EuclideanDistanceThisisadissimilaritymatrix•10.2.3层次聚类的基本操作1、选择菜单Analyze-Classify-HierarchicalCluster,出现窗口:2、把参与层次聚类分析的变量选到Variable(s)框中。3、把一个字符型变量作为标记变量选到LabelCasesby框中,它将大大增强聚类分析结果的可读性。4、在Cluster框中选择聚类类型。其中Cases表示进行Q型聚类(默认类型);Variables表示进行R型聚类。5、在Display框中选择输出内容。其中Statistics表示输出聚类分析的相关统计量;Plot表示输出聚类分析的相关图形。6、单击Method按钮指定距离的计算方法。Measure框中给出的是不同变量类型下的个体距离的计算方法。其中Interval框中的方法适用于连续型定距变量;Counts框中的方法适用于品质型变量;Binary框中的方法适用于二值变量。ClusterMethod框中给出的是计算个体与小类、小类与小类间距离的方法。7、如果参与聚类分析的变量存在数量级上的差异,应在TransformValues框中的Standardize选项中选择消除数量级差的方法。并指定处理是针对变量的还是针对样本的。Byvariable表示针对变量,适于Q型聚类分析;Bycase表示针对样本,适于R型聚类分析。8、单击Statistics按钮指定输出哪些统计量Agglomerationschedule表示输出聚类分析的凝聚状态表;Proximitymatrix表示输出个体间的距离矩阵;ClusterMembership框中,None表示不输出样本所属类,SingleSolution表示指定输出当分成n类时各样本所属类,是单一解。Rangeofsolution表示指定输出当分成m至n类(m小于等于n)时各样本所属类,是多个解。层次聚类中的凝聚状态表AgglomerationSchedule453.606003128.0620043411.0130141328.908230Stage1234Cluster1Cluster2ClusterCombinedCoefficientsCluster1Cluster2StageClusterFirstAppearsNextStage上表中,第一列表示聚类分析的第几步;第二、三列表示本步聚类中哪两个样本或小类聚成一类;第四列式个体距离或小类距离;第五、六列表示本步聚类中参与聚类的是个体还是小类,0表示样本,非0表示由第n步聚类生成的小类参与本步聚类;第七列表示本步聚类的结果将在以下第几步中用到。层次聚类中的类成员ClusterMembership1111223232Case1:A商厦2:B商厦3:C商厦4:D商厦5:E商厦3Clusters2Clusters9、单击Plot按钮指定输出哪种聚类分析图。Dendrogram选项表示输出聚类分析树形图;在Icicle框中指定输出冰挂图,其中,Allclusters表示输出聚类分析每个阶段的冰挂图,Specifiedrangeofclusters表示只输出某个阶段的冰挂图,输入从第几步开始,到第几步结束,中间间隔几步;在Orientation框中指定如何显示冰挂图,其中,Vertical表示纵向显示,Horizontal表示横向水平显示。树形图以躺倒树的形式展现了聚类分析中的每一次类合并的情况。SPSS自动将各类间的距离映射到0~25之间,并将凝聚过程近似地表示在图上。层次聚类的冰挂图VerticalIcicleXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNumberofclusters12345:E商厦4:D商厦3:C商厦2:B商厦1:A商厦Case10、单击Save按钮可以将聚类分析的结果以变量的形式保存到数据编辑窗口中。生成的变量名为clun_m(如clu2_1),其中n表示类数(如2),m表示是第m次分析(如1)。由于不同的距离计算方法会产生不同的聚类分析结果,即使聚成n类,同一样本的类归属也会因计算方法的不同而不同。因此实际分析中应反复尝试以最终得到符合实际的合理解,并保存于SPSS变量中。•10.2.4层次聚类的应用举例1、利用31个省市自治区小康和现代化指数数据进行层次聚类分析。利用SPSS层次聚类Q型聚类对31个省市自治区进行分类分析。其中个体距离采用平方欧式距离,类间距离采用平均组间链锁距离,由于数据不存在数量级上的差异,因此无需进行进行标准化处理。•2、利用裁判打分数据进行聚类分析。10.3K-Means聚类•10.3.1K-Means聚类分析的核心步骤K-Means聚类也称快速聚类,仍将数据看成k维空间上的点,仍以距离作为测度个体“亲疏程度”的指标,并通过牺牲多个解为代价换得高的执行效率,其核心步骤是:•第一,指定聚类数目K•第二,确定K个初始类中心SPSS中初始类中心的指定方式有两种:一是用户指定方式;二是系统指定方式。•第三,根据距离最近原则进行分类依次计算每个样本数据点到K个类中心点的欧式距离,并按距K个类中心点距离最短的原则将所有样本分成K类。•第四,重新确定K个类中心中心点的确定原则是,依次计算各类中k个变量的均值,并以均值点作为K个类的中心点。•第五,判断是否已满足中止聚类分析的条件条件有两个:一是迭代次数(SPSS默认为10);二是类中心点偏移程度,即新确定的类中心点距上个类中心点的最大偏移量小于指定的量(SPSS默认为0.02)时中止聚类。•10.3.2K-Means聚类分析的