手把手教你spss聚类分析和主因子分析.docx
《手把手教你spss聚类分析和主因子分析.docx》由会员分享,可在线阅读,更多相关《手把手教你spss聚类分析和主因子分析.docx(13页珍藏版)》请在冰豆网上搜索。
![手把手教你spss聚类分析和主因子分析.docx](https://file1.bdocx.com/fileroot1/2022-12/11/6c005073-dbfa-458f-a93e-8319fd65c328/6c005073-dbfa-458f-a93e-8319fd65c3281.gif)
手把手教你spss聚类分析和主因子分析
1.主因子分析(刘红杰原创)QQ498236930
第一步:
矩阵标准化
出现如下对话框:
第二步:
对标准化过的矩阵分析
聚类分析
基于SPSS的聚类分析的实用方法(层次聚类法和迭代聚类法)
层次聚类法和迭代聚类法的主要区别在于:
层次聚类法的聚类结果受奇异值的影响非常大,且聚类过程是单方向的,一旦某个样本进入某一类,就不可能从该类出来,再归入其他的类;迭代聚类法的聚类结果受奇异值和不合适的聚类变量的影响较小,对于不合适的初始聚类可以进行反复调整,但其缺点是聚类结果对初始聚类非常敏感,而且它也只能得到局部最优解.
(一)层次聚类
Analyze-->C1assify-->Hierachical Cluster
在“C1uster”组中选择聚类类型:
要进行变量聚类选择指定“Vanables”;要进行观测量聚类指定“Cases”。
指定参与分析的变量,将选定的变量通过按钮箭头转移到箭头按钮右侧的“Variable[s]:
”矩形框中;将标识变量通过下面一个箭头按钮转移到按钮右侧的“LabelCasesby:
”下面的矩形框中。
如果不使用系统默认值,或由于参与分析的变量量纲不一致需要指定选择项,则应该根据需要有选择性地执行下述某些步骤。
1.确定聚类方法
在主对话框中,点击“Methed”按钮,展开分层聚类分析的方法选择对话框,即“HierachicalClusterAnalysis:
Method”。
在对话框中根据需要指定聚类方法、距离测度的方法、对数值进行转换方法,即标准化数值的方法和对测度的转换方法。
(1)聚类方法选择
“C1usterMethod:
”表中列出可以选择的聚类方法:
Between-groupslinkage组内连接
Within-groupslinkage组内连接
Nearestneighbor最近邻法
Furthestneighbor最远邻法
Centroidclustering重心聚类法
Medianclustering中位数法
Ward’smethodWard最小方差法。
(后三种聚类方法应与欧氏距离平方法一起使用)
几种方法的具体情况见下面的英文文档
(2)对距离的测度方法选择
在Method中指定的是用哪两点间的距离的大小决定是否合并两类。
距离的具体计算方法还根据参与距离的变量类型从以下三种对话框选择其一,展开选择菜单后再进行具体方法的选择。
这三个对话框分别对应于等间隔测度的变量(一般为连续变量)、计数变量(一般为离散变量)和二值变量。
这里只考虑连续变量的情况
“Interval”(系统默认)
Euclideandistance:
Euclidean距离,即两观察单位间的距离为其值差的平方和的平方根,该技术用于Q型聚类;
SquaredEuclideandistance:
Euclidean距离平方,即两观察单位间的距离为其值差的平方和,该技术用于Q型聚类;
Cosine:
变量矢量的余弦,这是模型相似性的度量;
Pearsoncorrelation:
相关系数距离,适用于R型聚类;
Chebychev:
Chebychev距离,即两观察单位间的距离为其任意变量的最大绝对差值,该技术用于Q型聚类;
Block:
City-Block或Manhattan距离,即两观察单位间的距离为其值差的绝对值和,适用于Q型聚类;
Minkowski:
距离是一个绝对幂的度量,即变量绝对值的第p次幂之和的平方根;p由用户指定
Customized:
距离是一个绝对幂的度量,即变量绝对值的第p次幂之和的第r次根,p与r由用户指定。
(3)确定标准化的方法:
“TransformValue”
“Standardize”下为标准化列表
对数据进行标准化的可选择的方法有:
①None不进行标准化,是系统默认值。
②Zscores把数值标准化到Z分数。
③Range-1tol把数值标准化到-1到+l范围内。
选择该项,对每个值用变量或观测量的值的范围去除。
如果值范围是0,所有值保持不变。
④Maximummagnitudsof1把数值标准化到最大值为1。
该方法是把正在标准化的变量或观测量的值用最大值去除。
如果最大值为0,则改用最小值去除,其商加1。
⑤Range0to1把数值标准化到0到1的范围内,对正在被标准化的变量或观测量的值剪去最小值,然后除以范围。
如果范围是0,对变量或观测量的所有值都设置成0.5。
⑥Meanof1把数值标准化到一个均值的范围内,对正在被标准化的变量或观测量的值除以这些值的均值。
如果均值是0,对变量或观测量的所有值都加1,使其均值为1。
⑦Standarddeviationof1把数值标准化到单位标准差。
该方法对正在被标准化的变量或观测量的值除以这些值的标准差,如果标准差为0,则这些值保持不变。
(4)测度的转换方法选择
对距离测度数值进行转换,在距离计算完成后进行。
可选择的转换方法有三种,在“Methd”对话框右下角的标有“TransformMearure”的框中选择。
①AbsoluteValues把距离值标准化。
当数值符号表示相关方向,且只对负相关关系感兴趣时使用此方法进行变换。
②Changesign把相似性值变为不相似性值,或相反。
用求反的方法使距离顺序颠倒。
③Rescaleto0--1range通过首先去掉最小值然后除以范围的方法使距离标准化。
对于已经按某种换算方法标准化了的测度,一般不再使用此方法进行转换。
2.选择要求输出的统计量:
Statistics对话框
Aggomerationschedule输出聚合过程表
Proximitymatrix:
输出的是每个案例之间的欧氏距离平方表(Q型聚类)。
Clustermembership决定聚合的群数。
试探性地做时就选none,做完后根据判断的合适的群数在输入确定的群数,这时会得出一个更多的结果clustermembership,即在此群数下,各案例所属的群。
当然也可选择Rangeofsolutions确定群数的范围。
3.选择统计图表:
Plot
Dendrogram树形图;
Icicle冰柱图:
对于生成什么样的冰柱图还可以进一步用以下选择项确定:
Allclusters聚类的每一步都表现在图中。
可用此种图查看聚类的全过程。
但如果参与聚类的个体很多会造成图过大,没有必要。
可以使用下面一个选择项限定显示的范围。
Specifiedrangeofclusters指定显示的聚类范围。
当选择此项时,该项下面的选择框加亮,表示等待输入显示范围。
在Start后的矩形框中输入要求显示聚类过程的起始步数,在Stop后的矩形框中输入显示中止于哪一步,把显示的两步之间的增量输入到By后面的矩形框中。
输入到矩形框中的数字必须是正整数。
例如,输入的结果是:
Start:
3Stop:
10By:
2
生成的冰柱图从第三步开始,显示第三、五、七、九步聚类的情况。
None:
不生成冰柱图
对于显示方向可以用Orientation下面的选择项确定:
Vertical纵向显示的冰柱图。
(系统默认)
HoriZontal显示水平的冰柱图。
4.生成新变量的选择:
save
聚类分析的结果可以用新变量保存在工作数据文件中。
单击主对话框的“save”按钮,展开相应的对话框。
可以看出只能生成一个表明参与聚类的个体最终被分配到哪一类的新变量。
通过对话框可以选择是否建立新变量和建立的新变量含义。
None不建立新变量。
Singlesolution:
单一结果。
生成一个新变量表明每个个体聚类最后所属的类。
在该项后面的矩形框中指定类数。
如果指定5clusters,则新变量的值为1--5。
Rangeofsolutions:
指定范围内的结果。
生成若干个新变量,表明聚为若干个类时,每个个体聚类后所属的类。
在该项后商的矩形框中指定显示范围,即把表示从第几类显示到第几类的数字分别输入到From后面的矩形框和through后面的矩形框中。
例如输入结果是“From4through6”,在聚类结束后在数据窗中原变量后面增加了3个新变量分别表明分为4类时、分为5类时和分为6类时的聚类结果。
即聚为4、5、6类时各观测量分别属于哪一类。
新变量选择完成后按“Continue”按钮,返回到主对话框。
(二)迭代聚类
Analyze-->C1assify-->K-MeansCluster
“Methed”框,给出两个可选择的聚类方法:
1)Iterateandclassify选择初始类中心,在迭代过程中使用k-Means算法不断更换类中心,把观测量分派到与之最近的以类中心为标志的类中去;
2)Classifyonly只使用初始类中心对观测量进行分类。
Numberofclusters输入通过层次聚类或其他方式得出的聚类的合适的层数。
“ClusterCenters”对话框有两项:
1)选择Readinitialfrom要求使用指定数据文件中的观测量作为初始类中心。
选择此项单击鼠标键后,再按其后的“Flle”按钮,显示选择文件的对话框,指定文件所在位置(路径)和文件名。
按“OK”按钮返回。
在“Center”选择框中的“fi1e”按钮后面显示文件全名(包括路径)。
2)选择Writefinalas要求把聚类结果中的各类中心数据保存到指定的文件中。
操作方法与上相似。
save对话框中有两项:
1)选择ClusterMembership建立一个新变量,系统默认变量名为那qc1_1。
其值表示聚类结果,即各观测量被分配到哪一类。
其值为1、2、3...的序号。
该变量存人输入数据文件(NewData窗中)。
2)选择Distancefromclustercenter建立一个新变量。
系统默认变量名为那qc1_2。
聚类结束后把各观测量距所属类中心间的欧氏距离存入输入数据文件(数据窗中)。
Iterate对话框:
设置迭代参数的对话框。
如果选择了“Iterateandclassify”方法进行聚类,还可以进一步选择迭代参数。
1)MaximumIterations:
限定K-Means算法中的迭代次数。
改变后面框中的数字,则改变迭代次数。
当达到限定的迭代次数时迭代停止。
系统默认值为10。
2)ConvergenceCriterion:
指定聚类判据。
其值必须大于0,小于1。
系统默认值为0.02。
即当两次迭代计算的最小的类中心的变化距离小于初始类中心距离的百分之二时迭代停止。
3)UseRunningmeans选择此项,限定在每个观测量被分配到一类后即刻计算新的类中心。
如果不选择此项,则在完成了所有观测量的一次分配后再计算各类的类中心。
不选择此项会节省迭代时间。
Option对话框:
输出统计量的选择项与缺失值处理
在Statitstacs组中可以选择要求计算和输出的统计量有:
Initia1c1ustercenters初始类中心
ANOVAtable方差分析表
C1usterinformationforeachcase每个观测量的分类信息。
如分配到哪一类和该观测量距所属类中心的距离。
以上三项可以选择其中几项,也可以全选。
在MissingVa1ues组中选择一种处理带有缺失值观测量的方法,共有两种选择:
1)Excludecaseslistwise将带有缺失值的观测量从分析中剔除。
2)Excludecasespairwise只有当一个观测量的全部聚类变量值缺失时才将其从分析中剔除。
否则根据其它非缺失变量值把它分配到最近的一类中去。
其它有用的使用:
1)筛减cases:
因为聚类分析计算的速度相对比较慢,而且如果case太多,结果也难于解释。
有时可以将庞大的样本中进行随机筛选,取出小样本,进行聚类分析。
下面是一种方法:
data-->selectcases,选中randomsampleofcases,点击sample复选框,弹出一个新的选框。
Approximately( )%ofallcases。
在括号里填入从所有样本中选取的案例百分比。
然后ok。
另外,在unselectedcasesare选框下有两种选择,filtered并不从原数据中将没有选中的case删除,只是“过滤”掉了;
deleted则是删掉了,然后形成一个新的数据。
2)求“群重心”的步骤:
之前须先将聚类结果保存在了原数据中。
这里设保存的结果列命名为“cluster-3”.
Analyse-->comparemeans-->means
Dependantlist选入准备参与比较的聚类变量和非聚类变量。
Independantlist选入保存的聚类结果“cluster-3”。
Option复选框,cellstatistics选入mean,然后continue,ok.
3)使用k-means确定初始群重心时,
centers-->initialfromformat选定,未知的在于file的格式。
简介如下:
第一列:
表示分成的群组数,如1、2、3…
以后各列为各聚类变量,注意与所在群组相对应。
如果实在搞不定,可以先不选择initialfromformat,而选下面的writefinalas,呵呵,知道什么意思吗,先试一下,以确定正确的格式,再把数据替换一下就可以了。