实验九 SPSS聚类分析
本章内容 9.1 聚类分析的一般问题 9.2 层次聚类 9.3 K-Means聚类
9.1 聚类分析的一般问题 9.1.1 聚类分析的意义 聚类分析是统计学中研究“物以类聚”问题的多元统计分析方法。 聚类分析是一种建立分类的多元统计分析方法,它能够将一批样本(或变量)数据根据其诸多特征,按照在性质上的亲疏程度(各变量取值上的总体差异程度)在没有先验知识(没有事先指定的分类标准)的情况下进行自动分类,产生多个分类结果。类内部的个体在特征上具有相似性,不同类间个体特征的差异性较大。 3
例如,学校里有些同学经常在一起,关系比较密切,而他们与另一些同学却很少来往,关系比较疏远。究其原因可能会发现,经常在一起的同学的家庭情况、性格、学习成绩、课余爱好等方面有许多共同之处,而关系比较疏远的同学在这些方面有较大的差异性。为了研究家庭情况、性格、学习成绩、课余爱好等是否会成为划分学生小群体的主要决定因素,可以从有关这些方面的数据入手,进行客观分组,然后比较所得的分组是否与实际相吻合。对学生的客观分组就可采用聚类分析方法。 4
9.1.2 聚类分析中“亲疏程度”的度量方法 聚类分析中,个体之间的“亲疏程度”是极为重要的,它将直接影响最终的聚类结果。对“亲疏”程度的测度一般有两个角度:第一,个体间的相似程度;第二,个体间的差异程度。衡量个体间的相似程度通常可采用简单相关系数等,个体间的差异程度通常通过某种距离来测度。 为定义个体间的距离应先将每个样本数据看成k维空间的一个点,通常,点与点之间的距离越小,意味着他们越“亲密”,越有可能聚成一类,点与点之间的距离越大,意味着他们越“疏远”,越有可能分别属于不同的类。
例:下表是同一批客户对经常光顾的五座商场在购物环境和服务质量两方面的平均得分,现希望根据这批数据将五座商场分类。
7.1.2 聚类分析中“亲疏程度”的度量方法 欧式距离(Euclidean distance) 1、定距型变量个体间距离的计算方式 欧式距离(Euclidean distance) 平方欧式距离(Squared Euclidean distance ) 切比雪夫(Chebychev)距离 Block距离 7
3、二值(Binary)变量个体间距离的计算方式 2、计数变量个体间距离的计算方式 卡方(Chi-Square measure)距离 Phi方(Phi-Square measure)距离 3、二值(Binary)变量个体间距离的计算方式 简单匹配系数(Simple Matching) 雅科比系数(Jaccard)
注:聚类分析的几点说明 所选择的变量应符合聚类的要求:所选变量应能够从不同的侧面反映我们研究的目的; 各变量的变量值不应有数量级上的差异(对数据进行标准化处理):聚类分析是以各种距离来度量个体间的“亲疏”程度的,从上述各种距离的定义看,数量级将对距离产生较大的影响,并影响最终的聚类结果。 各变量间不应有较强的线性相关关系 9
9.2 层次聚类 9.2.1 层次聚类的两种类型和两种方式 层次聚类又称系统聚类,简单地讲是指聚类过程是按照一定层次进行的。层次聚类有两种类型,分别是Q型聚类和R型聚类;层次聚类的聚类方式又有两种,分别是凝聚方式聚类和分解方式聚类。 Q型聚类:对样本进行聚类,使具有相似特征的样本聚集在一起,差异性大的样本分离开来。 R型聚类:对变量进行聚类,使具有相似性的变量聚集在一起,差异性大的变量分离开来,可在相似变量中选择少数具有代表性的变量参与其他分析,实现减少变量个数,达到变量降维的目的。 10
凝聚方式聚类:其过程是,首先,每个个体自成一类;然后,按照某种方法度量所有个体间的亲疏程度,并将其中最“亲密”的个体聚成一小类,形成n-1个类;接下来,再次度量剩余个体和小类间的亲疏程度,并将当前最亲密的个体或小类再聚到一类;重复上述过程,直到所有个体聚成一个大类为止。可见,这种聚类方式对n个个体通过n-1步可凝聚成一大类。 分解方式聚类:其过程是,首先,所有个体都属一大类;然后,按照某种方法度量所有个体间的亲疏程度,将大类中彼此间最“疏远”的个体分离出去,形成两类;接下来,再次度量类中剩余个体间的亲疏程度,并将最疏远的个体再分离出去;重复上述过程,不断进行类分解,直到所有个体自成一类为止。可见,这种聚类方式对包含n个个体的大类通过n-1步可分解成n个个体。 11
9.2.2 个体与小类、小类与小类间“亲疏程度”的度量方法 SPSS中提供了多种度量个体与小类、小类与小类间“亲疏程度”的方法。与个体间“亲疏程度”的测度方法类似,应首先定义个体与小类、小类与小类的距离。距离小的关系亲密,距离大的关系疏远。这里的距离是在个体间距离的基础上定义的,常见的距离有: 12
最近邻居(Nearest Neighbor)距离:个体与小类中每个个体距离的最小值。 最远邻居(Furthest Neighbor )距离:个体与小类中每个个体距离的最大值。 组间平均链锁(Between-groups linkage)距离:个体与小类中每个个体距离的平均值。 组内平均链锁(Within-groups linkage)距离:个体与小类中每个个体距离以及小类内各个体间距离的平均值。 重心(Centroid clustering)距离:个体与小类的重心点的距离。重心点通常是由小类中所有样本在各变量上的均值所确定的点。 离差平方和法(Ward’s method):聚类过程中使小类内离差平方和增加最小的两小类应首先合并为一类。 13
1、选择菜单Analyze-Classify-Hierarchical Cluster,出现窗口: 9.2.3 层次聚类的基本操作 1、选择菜单Analyze-Classify-Hierarchical Cluster,出现窗口: 15
2、把参与层次聚类分析的变量选到Variable(s)框中。 3、把一个字符型变量作为标记变量选到Label Cases by框中,它将大大增强聚类分析结果的可读性。 4、在Cluster框中选择聚类类型。其中Cases表示进行Q型聚类(默认类型);Variables表示进行R型聚类。 5、在Display框中选择输出内容。其中Statistics表示输出聚类分析的相关统计量;Plot表示输出聚类分析的相关图形。 16
6、单击Method按钮指定距离的计算方法。 17
Measure框中给出的是不同变量类型下的个体距离的计算方法。其中Interval框中的方法适用于连续型定距变量;Counts框中的方法适用于品质型变量;Binary框中的方法适用于二值变量。Cluster Method框中给出的是计算个体与小类、小类与小类间距离的方法。 7、如果参与聚类分析的变量存在数量级上的差异,应在Transform Values框中的Standardize选项中选择消除数量级差的方法。并指定处理是针对变量的还是针对样本的。By variable表示针对变量,适于 Q 型聚类分析;By case 表示针对样本,适于R型聚类分析。 18
8、单击Statistics按钮指定输出哪些统计量 19
Agglomeration schedule表示输出聚类分析的凝聚状态表;Proximity matrix表示输出个体间的距离矩阵;Cluster Membership框中,None表示不输出样本所属类,Single Solution表示指定输出当分成n类时各样本所属类,是单一解。Range of solution表示指定输出当分成m至n类(m小于等于n)时各样本所属类,是多个解。 20
上表中,第一列表示聚类分析的第几步;第二、三列表示本步聚类中哪两个样本或小类聚成一类;第四列式个体距离或小类距离;第五、六列表示本步聚类中参与聚类的是个体还是小类,0表示样本,非0表示由第n步聚类生成的小类参与本步聚类;第七列表示本步聚类的结果将在以下第几步中用到。 21
9、单击Plot按钮指定输出哪种聚类分析图。 23
树形图以躺倒树的形式展现了聚类分析中的每一次类合并的情况。SPSS自动将各类间的距离映射到0~25之间,并将凝聚过程近似地表示在图上。 Dendrogram选项表示输出聚类分析树形图;在Icicle框中指定输出冰挂图,其中,All clusters表示输出聚类分析每个阶段的冰挂图,Specified range of clusters表示只输出某个阶段的冰挂图,输入从第几步开始,到第几步结束,中间间隔几步;在Orientation框中指定如何显示冰挂图,其中,Vertical表示纵向显示,Horizontal表示横向水平显示。 树形图以躺倒树的形式展现了聚类分析中的每一次类合并的情况。SPSS自动将各类间的距离映射到0~25之间,并将凝聚过程近似地表示在图上。 24
10、单击Save按钮可以将聚类分析的结果以变量的形式保存到数据编辑窗口中。生成的变量名为clun_m(如clu2_1),其中n表示类数(如2),m表示是第m次分析(如1)。 由于不同的距离计算方法会产生不同的聚类分析结果,即使聚成n类,同一样本的类归属也会因计算方法的不同而不同。因此实际分析中应反复尝试以最终得到符合实际的合理解,并保存于SPSS变量中。 26
1、利用31个省市自治区小康和现代化指数数据进行层次聚类分析。 9.2.4 层次聚类的应用举例 1、利用31个省市自治区小康和现代化指数数据进行层次聚类分析。 利用SPSS层次聚类Q型聚类对31个省市自治区进行分类分析。其中个体距离采用平方欧式距离,类间距离采用平均组间链锁距离,由于数据不存在数量级上的差异,因此无需进行进行标准化处理。 2、利用裁判打分数据进行聚类分析。 27
9.3 K-Means聚类 9.3.1 K-Means聚类分析的核心步骤 SPSS中初始类中心的指定方式有两种:一是用户指定方式;二是系统指定方式。
第三,根据距离最近原则进行分类 依次计算每个样本数据点到K个类中心点的欧式距离,并按距K个类中心点距离最短的原则将所有样本分成K类。 第四,重新确定K个类中心 中心点的确定原则是,依次计算各类中k个变量的均值,并以均值点作为K个类的中心点。 第五,判断是否已满足中止聚类分析的条件 条件有两个:一是迭代次数(SPSS默认为10);二是类中心点偏移程度,即新确定的类中心点距上个类中心点的最大偏移量小于指定的量(SPSS默认为0.02)时中止聚类。
9.3.2 K-Means聚类分析的操作步骤 1.选择选项Analyze-Classify-K-Means Cluster,打开主窗口。
2.选定参与K-Means聚类的变量放入Variables框中。 3.选择一个字符型变量作为标记变量放入Label Cases框中,增加分析结果的可读性。 4.在Number of Clusters框中输入聚类数目,该数应小于样本数。 5.如果用户自行指定初始类中心点,则单击Centers按钮,并在Read initial from框后给出存放初始类中心的SPSS数据文件名;否则本步可略去。
6.在Method框中指定聚类过程是否调整类中心点。其中,Iterate and classify表示在聚类分析的每一步都重新确定类中心点(SPSS默认);Classify only表示聚类分析过程中类中心点始终为初始类中心点,此时仅进行一次迭代。 7.单击Iterate按钮确定中止聚类的条件。在Maximum iterations框后输入最大迭代次数,在Convergence criterion框后输入类中心的偏移量。另外,Use running means选项,选中表示每当一个样本被分配到一类时便立即重新计算新的类中心点,此时类中心点与样本分配的前后顺序有关;不选该项表示只有当完成了所有样本的类分配后再计算类中心,该方式可节省运算时间,通常不选中该选项。
8.单击Save按钮将聚类分析的部分结果以SPSS变量的形式保存到数据编辑窗口中,其中Cluster membership表示保存样本所属类的类号;Distance from cluster center表示保存样本距各自类中心点的距离。 9.单击Option按钮确定输出哪些相关分析结果和缺失值的处理方式。Statistics框中,Initial cluster centers表示输出初始类中心点;ANOVA table表示以聚类分析产生的类为控制变量,以k个变量为观测变量进行单因素方差分析,并输出各个变量的方差分析表;Cluster information for each case表示输出样本分类信息及距所属类中心点的距离。 至此完成了K-Means聚类分析的全部操作。
9.3.3 K-Means聚类分析应用举例 用2001年全国31个省市自治区各类小康好人现代化指数的数据,对地区进行K-Means聚类分析,要求分成3类,初始类中心点由SPSS自行确定。
Thank you