查看文章 |
相关资源: SPSS聚类分析教程(有例子) 下载 聚类分析和判别分析原理 下载 基于SPSS的聚类分析的实用方法(层次聚类法和迭代聚类法) 层次聚类法和迭代聚类法的主要区别在于:层次聚类法的聚类结果受奇异值的影响非常大,且聚类过程是单方向的,一旦某个样本进入某一类,就不可能从该类出来,再归入其他的类;迭代聚类法的聚类结果受奇异值和不合适的聚类变量的影响较小,对于不合适的初始聚类可以进行反复调整,但其缺点是聚类结果对初始聚类非常敏感,而且它也只能得到局部最优解. (一)层次聚类 在“C1uster”组中选择聚类类型:要进行变量聚类选择指定“Vanables”;要进行观测量聚类指定“Cases”。 指定参与分析的变量,将选定的变量通过按钮箭头转移到箭头按钮右侧的“Variable[s]:”矩形框中;将标识变量通过下面一个箭头按钮转移到按钮右侧的“Label Cases by:”下面的矩形框中。 如果不使用系统默认值,或由于参与分析的变量量纲不一致需要指定选择项,则应该根据需要有选择性地执行下述某些步骤。 1.确定聚类方法 (1)聚类方法选择 Between-groups linkage组内连接 Nearest neighbor最近邻法 Centroid clustering重心聚类法 几种方法的具体情况见下面的英文文档 (2)对距离的测度方法选择 在Method中指定的是用哪两点间的距离的大小决定是否合并两类。距离的具体计算方法还根据参与距离的变量类型从以下三种对话框选择其一,展开选择菜单后再进行具体方法的选择。这三个对话框分别对应于等间隔测度的变量(一般为连续变量)、计数变量(一般为离散变量)和二值变量。这里只考虑连续变量的情况 “Interval”(系统默认) Euclidean distance:Euclidean距离,即两观察单位间的距离为其值差的平方和的平方根,该技术用于Q型聚类; Squared Euclidean distance:Euclidean距离平方,即两观察单位间的距离为其值差的平方和,该技术用于Q型聚类; Cosine:变量矢量的余弦,这是模型相似性的度量; Pearson correlation:相关系数距离,适用于R型聚类; Chebychev:Chebychev距离,即两观察单位间的距离为其任意变量的最大绝对差值,该技术用于Q型聚类; Block:City-Block或Manhattan距离,即两观察单位间的距离为其值差的绝对值和,适用于Q型聚类; Minkowski:距离是一个绝对幂的度量,即变量绝对值的第p次幂之和的平方根;p由用户指定 Customized:距离是一个绝对幂的度量,即变量绝对值的第p次幂之和的第r次根,p与r由用户指定。 (3)确定标准化的方法:“Transform Value” “Standardize” 下为标准化列表 对数据进行标准化的可选择的方法有: ① None 不进行标准化,是系统默认值。 ② Z scores 把数值标准化到Z分数。 ③ Range -1to l把数值标准化到-1到+l范围内。选择该项,对每个值用变量或观测量的值的范围去除。如果值范围是0,所有值保持不变。 ④ Maximum magnituds of 1 把数值标准化到最大值为1。该方法是把正在标准化的变量或观测量的值用最大值去除。如果最大值为0,则改用最小值去除,其商加1。 ⑤ Range 0 to 1 把数值标准化到0到1的范围内,对正在被标准化的变量或观测量的值剪去最小值,然后除以范围。如果范围是0,对变量或观测量的所有值都设置成0.5。 ⑥ Mean of 1 把数值标准化到一个均值的范围内,对正在被标准化的变量或观测量的值除以这些值的均值。如果均值是0,对变量或观测量的所有值都加1,使其均值为1。 ⑦ Standard deviation of 1 把数值标准化到单位标准差。该方法对正在被标准化的变量或观测量的值除以这些值的标准差,如果标准差为0,则这些值保持不变。 (4)测度的转换方法选择 对距离测度数值进行转换,在距离计算完成后进行。可选择的转换方法有三种,在“Methd”对话框右下角的标有“Transform Mearure”的框中选择。 ① Absolute Values 把距离值标准化。当数值符号表示相关方向,且只对负相关关系感兴趣时使用此方法进行变换。 ② Change sign 把相似性值变为不相似性值,或相反。用求反的方法使距离顺序颠倒。 ③ Rescale to 0-- 1 range 通过首先去掉最小值然后除以范围的方法使距离标准化。对于已经按某种换算方法标准化了的测度,一般不再使用此方法进行转换。 2.选择要求输出的统计量:Statistics对话框 Aggomeration schedule 输出聚合过程表 Proximity matrix:输出的是每个案例之间的欧氏距离平方表(Q型聚类)。 Cluster membership决定聚合的群数。试探性地做时就选none,做完后根据判断的合适的群数在输入确定的群数,这时会得出一个更多的结果cluster membership,即在此群数下,各案例所属的群。当然也可选择Range of solutions确定群数的范围。 3.选择统计图表: Plot Dendrogram 树形图; Icicle冰柱图: 例如,输入的结果是:Start: 3 Stop: 10 By:2 4.生成新变量的选择:save 聚类分析的结果可以用新变量保存在工作数据文件中。单击主对话框的“save”按钮,展开相应的对话框。可以看出只能生成一个表明参与聚类的个体最终被分配到哪一类的新变量。通过对话框可以选择是否建立新变量和建立的新变量含义。 None 不建立新变量。 Single solution:单一结果。生成一个新变量表明每个个体聚类最后所属的类。在该项后面的矩形框中指定类数。如果指定5 clusters,则新变量的值为1-- 5。 Range of solutions:指定范围内的结果。生成若干个新变量,表明聚为若干个类时,每个个体聚类后所属的类。在该项后商的矩形框中指定显示范围,即把表示从第几类显示到第几类的数字分别输入到From后面的矩形框和through后面的矩形框中。例如输入结果是“From 4 through 6”,在聚类结束后在数据窗中原变量后面增加了3个新变量分别表明分为4类时、分为5类时和分为6类时的聚类结果。即聚为4、5、6类时各观测量分别属于哪一类。 新变量选择完成后按“Continue”按钮,返回到主对话框。
(二)迭代聚类 Analyze--> C1assify--> K-Means Cluster “Methed”框,给出两个可选择的聚类方法: 1)Iterate and classify 选择初始类中心,在迭代过程中使用k-Means算法不断更换类中心,把观测量分派到与之最近的以类中心为标志的类中去; Number of clusters输入通过层次聚类或其他方式得出的聚类的合适的层数。 “Cluster Centers” 对话框有两项: save对话框中有两项: 1)选择Cluster Membership 建立一个新变量,系统默认变量名为那qc1_1。其值表示聚类结果,即各观测量被分配到哪一类。其值为1、2、3...的序号。该变量存人输入数据文件(New Data窗中)。 2)选择Distance from cluster center 建立一个新变量。系统默认变量名为那qc1_2。聚类结束后把各观测量距所属类中心间的欧氏距离存入输入数据文件(数据窗中)。 Iterate对话框: 设置迭代参数的对话框。如果选择了“Iterate and classify”方法进行聚类,还可以进一步选择迭代参数。 1)Maximum Iterations:限定K-Means算法中的迭代次数。改变后面框中的数字,则改变迭代次数。当达到限定的迭代次数时迭代停止。系统默认值为10。 2)Convergence Criterion:指定聚类判据。其值必须大于0,小于1。系统默认值为0.02。即当两次迭代计算的最小的类中心的变化距离小于初始类中心距离的百分之二时迭代停止。 3) Use Running means 选择此项,限定在每个观测量被分配到一类后即刻计算新的类中心。如果不选择此项,则在完成了所有观测量的一次分配后再计算各类的类中心。不选择此项会节省迭代时间。 Option对话框:输出统计量的选择项与缺失值处理 在Statitstacs组中可以选择要求计算和输出的统计量有: Initia1 c1uster centers初始类中心 ANOVA table 方差分析表 C1uster information for each case每个观测量的分类信息。如分配到哪一类和该观测量距所属类中心的距离。 以上三项可以选择其中几项,也可以全选。 在Missing Va1ues组中选择一种处理带有缺失值观测量的方法,共有两种选择: 1)Exclude cases listwise将带有缺失值的观测量从分析中剔除。 2)Exclude cases pairwise只有当一个观测量的全部聚类变量值缺失时才将其从分析中剔除。否则根据其它非缺失变量值把它分配到最近的一类中去。
其它有用的使用: 1)筛减cases: 因为聚类分析计算的速度相对比较慢,而且如果case太多,结果也难于解释。有时可以将庞大的样本中进行随机筛选,取出小样本,进行聚类分析。下面是一种方法: data-->select cases,选中random sample of cases,点击sample 复选框,弹出一个新的选框。Approximately( )% of all cases。在括号里填入从所有样本中选取的案例百分比。然后ok。 另外,在unselected cases are选框下有两种选择,filtered并不从原数据中将没有选中的case删除,只是“过滤”掉了; deleted则是删掉了,然后形成一个新的数据。 2)求“群重心”的步骤: 之前须先将聚类结果保存在了原数据中。这里设保存的结果列命名为“cluster-3”. Analyse-->compare means-->means Dependant list选入准备参与比较的聚类变量和非聚类变量。Independant list选入保存的聚类结果“cluster-3”。 Option复选框,cell statistics选入mean,然后continue,ok. 3)使用k-means 确定初始群重心时, centers-->initial from format选定,未知的在于file的格式。简介如下: 第一列:表示分成的群组数,如1、2、3… 以后各列为各聚类变量,注意与所在群组相对应。如果实在搞不定,可以先不选择initial from format,而选下面的write final as,呵呵,知道什么意思吗,先试一下,以确定正确的格式,再把数据替换一下就可以了。 |

