1、 多元统计分析与SPSS实现一一 在在SPSS中利用系统聚类法进行聚类分析中利用系统聚类法进行聚类分析 二二 在在SPSS中利用中利用K均值法进行聚类分析均值法进行聚类分析 三三 利用利用SPSS进行判别分析进行判别分析 四四 利用利用SPSS进行主成分分析进行主成分分析 五五 利用利用SPSS进行因子分析进行因子分析 设有20个土壤样品分别对5个变量的观测数据如表所示,试利用系统聚类法对其进行样品聚类分析。表表5.16 土壤样本的观测数据土壤样本的观测数据一一 在在SPSS中利用系统聚类法进行聚类分析中利用系统聚类法进行聚类分析(一)操作步骤1.在SPSS窗口中选择AnalyzeClassi
2、fyHierachical Cluster,调出系统聚类分析主界面,并将变量X1X5移入Variables框中。在Cluster栏中选择Cases单选按钮,即对样品进行聚类(若选择Variables,则对变量进行聚类)。在Display栏中选择Statistics和Plots复选框,这样在结果输出窗口中可以同时得到聚类结果统计量和统计图。图图 系统聚类法主界面系统聚类法主界面 2.点击Statistics按钮,设置在结果输出窗口中给出的聚类分析统计量。这里我们选择系统默认值,点击Continue按钮,返回主界面。3.点击Plots按钮,设置结果输出窗口中给出的聚类分析统计图。选中Dendrog
3、ram复选框和Icicle栏中的None单选按钮,即只给出聚类树形图,而不给出冰柱图。单击Continue按钮,返回主界面。图图 Plots子对话框子对话框 4.点击Method按钮,设置系统聚类的方法选项。Cluster Method下拉列表用于指定聚类的方法,包括组间连接法、组内连接法、最近距离法、最远距离法等;Measure栏用于选择对距离和相似性的测度方法;剩下的Transform Values和Transform Measures栏用于选择对原始数据进行标准化的方法。这里我们仍然均沿用系统默认选项。单击Continue按钮,返回主界面。图图 Method子对话框子对话框 5.点击Sa
4、ve按钮,指定保存在数据文件中的用于表明聚类结果的新变量。None表示不保存任何新变量;Single solution表示生成一个分类变量,在其后的矩形框中输入要分成的类数;Range of solutions表示生成多个分类变量。这里我们选择Range of solutions,并在后面的两个矩形框中分别输入2和4,即生成三个新的分类变量,分别表明将样品分为2类、3类和4类时的聚类结果。点击Continue,返回主界面。图图 Save子对话框子对话框 6.点击点击OK按钮,运行系统聚类过程。按钮,运行系统聚类过程。(二)主要运行结果解释 1.在结果输出窗口中我们可以看到聚类树形图(Dendr
5、ogram)。从树形图5.12可以清楚地看到,若将20个样品分为两类,则样品2、6、19、7、和样品1为一类,其余的为另一类;若将样品分为三类,则样品8、9、4从第二类中分离出来,自成一类;依此类推。2 6 19 7 18 1 8 9 4 3 5 12 20 16 14 10 11 15 17 13 CASE Label Num 0 5 10 15 20 25 Rescaled Distance Cluster Combine 图图 系统聚类法树形图系统聚类法树形图 2.由于我们已经在Save子对话框中设置了在数据文件中生成新的分类变量,所以,在数据编辑窗口中,我们可以看到生成的三个表示分类结
6、果的新变量。变量名为clu4_1、clu3_1和clu2-1的三个分类变量分别表明了把样品分成4类、3类和2类的分类情况。图图 生成三个新的分类变量生成三个新的分类变量 我国各地区2003年三次产业产值如表所示,试根据三次产业产值利用K均值法对我国31个省、自治区和直辖市进行聚类分析。二二 在在SPSS中利用中利用K均值法进行聚类分析均值法进行聚类分析(一)操作步骤 1.在SPSS窗口中选择AnalyzeClassifyK-Means Cluster,调出K均值聚类分析主界面,并将变量移入Variables框中,将标志变量Region移入Label Case by框中。在Method框中选择I
7、terate classify,即使用K-means算法不断计算新的类中心,并替换旧的类中心(若选择Classify only,则根据初始类中心进行聚类,在聚类过程中不改变类中心)。K均值聚类分析主界面均值聚类分析主界面(一)操作步骤 1、AnalyzeClassifyK-Means Cluster,调出K均值聚类分析主界面。在Number of Cluster后面的矩形框中输入想要把样品聚成的类数,这里我们输入3,即将31个地区分为3类。至于Centers按钮,则用于设置迭代的初始类中心。如果不手工设置,则系统会自动设置初始类中心,这里我们不作设置。K均值聚类分析主界面均值聚类分析主界面2.
8、点击Iterate按钮,对迭代参数进行设置。Maximum Iterations参数框用于设定K-means算法迭代的最大次数,Convergence Criterion参数框用于设定算法的收敛判据,其值应该介于0和1之间。例如判据设置为0.02,则当一次完整的迭代不能使任何一个类中心距离的变动与原始类中心距离的比小于2时,迭代停止。设置完这两个参数之后,只要在迭代的过程中先满足了其中的参数,则迭代过程就停止。这里我们选择系统默认的标准。单击Continue,返回主界面。图图Iterate子对话框子对话框3.点击Save按钮,设置保存在数据文件中的表明聚类结果的新变量。其中Cluster me
9、mbership选项用于建立一个代表聚类结果的变量,默认变量名为qcl_1;Distance from cluster center选项建立一个新变量,代表各观测量与其所属类中心的欧氏距离。我们将两个复选框都选中,单击Continue按钮返回。图图 Save子对话框子对话框4.点击Options按钮,指定要计算的统计量。选中Initial cluster centers和Cluster information for each case复选框。这样,在输出窗口中将给出聚类的初始类中心和每个观测量的分类信息,包括分配到哪一类和该观测量距所属类中心的距离。单击Continue返回。5.点击OK按钮
10、,运行K均值聚类分析程序。图图 Options子对话框子对话框(二)主要运行结果解释1.Initial Cluster Centers(给出初始类中心)2.Iteration History(给出每次迭代结束后类中心的变动)从表中可以看到本次聚类过程共经历了三次迭代。由于我们在Iterate子对话框中使用系统默认的选项(最大迭代次数为10和收敛判据为0),所以在第三次迭代后,类中心的变化为0,从而迭代停止。表表 迭代过程中类中心的变化量迭代过程中类中心的变化量3.Cluster Membership(给出各观测量所属的类及与所属类中心的距离)表中Cluster列给出了观测量所属的类别,Dist
11、ance列给出了观测量与所属类中心的距离。(出于排版要求,此表经过加工,因此与原始输出表形态有一定差异)。表表 各观测量所属类成员表各观测量所属类成员表4.Final Cluster Centers(给出聚类结果形成的类中心的各变量值)最终的类中心表最终的类中心表 结合上述两表看出31个地区被分成3类。第一类包括:江苏、浙江、山东和广东4个省。这类的类中心三个产业的产值分别为1102.14亿元、6423.01亿元和4454.26亿元,属于三个产业都比较发达的地区。第二类包括:天津、山西、内蒙古、吉林、江西、广西、海南、重庆、贵州、云南、西藏、陕西、甘肃、青海、宁夏和新疆16个地区。这一类的类中
12、心三个产业的产值分别为307.61亿元、795.41亿元和673.63亿元,属于欠发达地区。剩下的11个地区为第三类。这一类的类中心三个产业的产值分别为713.28亿元、2545.20亿元和212.87亿元,属于中等发达地区。5.由于我们已经在Save子对话框中设置了在数据文件中生成新的分类变量,所以,在数据编辑窗口中,我们可以看到生成的两个表示分类结果的新变量。变量qcl_1和变量qcl_2分别代表分类号和观测量距所属类中心的距离。利用SPSS对Fisher判别法和Bayes判别法进行计算机实现。为研究某地区人口死亡状况,已按某种方法将15个已知地区样品分为3类,指标含义及原始数据如下。试建
13、立判别函数,并判定另外4个待判地区属于哪类?X1 :0岁组死亡概率 X 4:55岁组死亡概率 X 2:1岁组死亡概率 X5 :80岁组死亡概率 X 3:10岁组死亡概率 X6 :平均预期寿命 三三 利用利用SPSS进行判别分析进行判别分析 表表3.1 各地区死亡概率表各地区死亡概率表(一)操作步骤1.在SPSS窗口中选择AnalyzeClassifyDiscriminate,调出判别分析主界面,将左边的变量列表中的“group”变量选入分组变量中,将变量选入自变量中,并选择Enter independents together单选按钮,即使用所有自变量进行判别分析。判别分析主界面判别分析主界面
14、2.点击Define Range按钮,定义分组变量的取值范围。本例中分类变量的范围为1到3,所以在最小值和最大值中分别输入1和3。单击Continue按钮,返回主界面。3.单击Statistics按钮,指定输出的描述统计量和判别函数系数。选中Function Coefficients栏中的Fishers和Unstandardized。这两个选项的含义如下:Fishers:给出Bayes判别函数的系数。(注意:这个选项不是要给出Fisher判别函数的系数。这个复选框的名字之所以为Fishers,是因为按判别函数值最大的一组进行归类这种思想是由Fisher提出来的。这里极易混淆,请读者注意辨别。)
15、Unstandardized:给出未标准化的Fisher判别函数(即典型判别函数)的系数(SPSS默认给出标准化的Fisher判别函数系数)。单击Continue按钮,返回主界面。Statistics子对话框子对话框4.单击Classify按钮,定义判别分组参数和选择输出结果。选择Display栏中的Casewise results,输出一个判别结果表,包括每个样品的判别分数、后验概率、实际组和预测组编号等。其余的均保留系统默认选项。单击Continue按钮。Classify子对话框子对话框5.单击Save按钮,指定在数据文件中生成代表判别分组结果和判别得分的新变量,生成的新变量的含义分别为:
16、Predicted group membership:存放判别样品所属组别的值;Discriminant scores:存放Fisher判别得分的值,有几个典型判别函数就有几个判别得分变量;Probabilities of group membership:存放样品属于各组的Bayes后验概率值。将对话框中的三个复选框均选中,单击Continue按钮返回。6.返回判别分析主界面,单击OK按钮,运行判别分析过程。Save子对话框子对话框(二)主要运行结果解释1.Standardized Canonical Discriminant Function Coefficients(给出标准化的典型判别
17、函数系数)标准化的典型判别函数是由标准化的自变量通过Fisher判别法得到的,所以要得到标准化的典型判别得分,代入该函数的自变量必须是经过标准化的。2.Canonical Discriminant Function Coefficients(给出未标准化的典型判别函数系数)未标准化的典型判别函数系数由于可以将实测的样品观测值直接代入求出判别得分,所以该系数使用起来比标准化的系数要方便一些。见表3.2(a)。表表3.2(a)未标准化的典型判别函数系数未标准化的典型判别函数系数 由此表可知,两个Fisher判别函数分别为:实际上两个函数式计算的是各观测值在各个维度上的坐标,这样就可以通过这两个函数
18、式计算出各样品观测值的具体空间位置。1123456212345674.991.8611.6560.8770.7980.0981.57929.4820.8671.1550.3560.0890.0540.69yXXXXXXyXXXXXX 3.Functions at Group Centroids(给出组重心处的Fisher判别函数值)如表3.2(b)所示,实际上为各类别重心在空间中的坐标位置。这样,只要在前面计算出各观测值的具体坐标位置后,再计算出它们分别离各重心的距离,就可以得知它们的分类了。Functions at Group Centroids-2.5941.0139.194-.257-6
19、.600-.756GROUP1.002.003.0012FunctionUnstandardized canonical discriminantfunctions evaluated at group means表表3.2(b)组重心处的组重心处的Fisher判别函数值判别函数值 4.Classification Function Coefficients(给出Bayes判别函数系数)如表3.3所示,GROUP栏中的每一列表示样品判入相应列的Bayes判别函数系数。在本例中,各类的Bayes判别函数如下:第一组:第二组:第三组:11234565317.2143.9153.190.153.01
20、1.0189.3FXXXXXX 21234566202.2164.7171.2100.062.512.1207.0FXXXXXX 31234564982.9134.9144.585.950.010.5181.7FXXXXXX Classification Function Coefficients-143.851-164.691-134.862153.137171.185144.462-90.088-99.976-85.94553.00962.52549.97211.00812.09410.520189.261207.003181.714-5317.234-6202.158-4982.880X
21、 1X 2X 3X 4X 5X 6(Constant)1.002.003.00G RO U PFishers linear discriminant functions表表3.3 Bayes判别法的输出结果判别法的输出结果 将各样品的自变量值代入上述三个Bayes判别函数,得到三个函数值。比较这三个函数值,哪个函数值比较大就可以判断该样品判入哪一类。例如,将第一个待判样品的自变量值分别代入函数,得到:F1=3793.77,F2=3528.32,F3=3882.48 比较三个值,可以看出最大,据此得出第一个待判样品应该属于第三组。5.Casewise Statistics(给出个案观察结果)在C
22、asewise Statistics输出表针对每个样品给出了了大部分的判别结果,其中包括:实际类(Actual Group)、预测类(Predicted Group)、Bayes判别法的后验概率、与组重心的马氏距离(Squared Mahalanobis Distance to Centroid)以及Fisher判别法的每个典型判别函数的判别得分(Discriminant Scores)。出于排版要求,这里给出结果表的是经过加工的,隐藏了其中的一些项目,如表4.4所示。从表中可以看出四个待判样本依次被判别为第三组、第一组、第二组和第三组。Casewise Statistics111.000.2
23、97-2.1771.364111.000.236-2.2701.375111.000.117-2.7411.32311.998.507-3.199.638111.000.418-2.582.366221.000.4699.674.231221.000.8688.332-.613221.0005.98510.128-2.518221.0004.7938.3421.760221.000.1019.491-.145331.000.139-6.687-.394331.000.322-7.163-.685331.0005.365-8.655-1.82333.8793.384-4.766-.60833.9
24、95.998-5.727-.270ungrouped31.000361.567-20.714-13.498ungrouped1.998.558-3.319.831ungrouped21.00028.66814.0082.086ungrouped31.0001.982-7.595-1.752CaseNumber12345678910111213141516171819ActualGroupPredictedGroupP(G=g|D=d)SquaredMahalanobisDistance toCentroidHighest GroupFunction1Function2Discriminant
25、Scores表表3.4 个个案案观观察察结结果果表表6.由于我们在Save子对话框中选择了生成表示判别结果的新变量,所以在数据编辑窗口中,可以观察到产生的新变量。其中,变量dis-1存放判别样品所属组别的值,变量dis1-1和dis2-1分别代表将样品各变量值代入第一个和第二个判别函数所得的判别分数,变量dis1-2、dis2-2和dis3-2分别代表样品分别属于第1组、第2组和第3组的Bayes后验概率值。四四 利用利用SPSS进行主成分分析进行主成分分析 SPSS没有提供主成分分析的专用功能,只有因子分析的功能。但是因子分析和主成分分析有着密切的联系。因子分析的重要步骤因子的提取最常用的方
26、法就是“主成分法”。利用因子分析的结果,可以很容易地实现主成分分析。具体来讲,就是利用因子载荷阵和相关系数矩阵的特征根来计算特征向量。即:其中,zij为第j个特征向量的第i个元素;aij为因子载荷阵第i行第j列的元素;j为第j个因子对应的特征根。然后再利用计算出的特征向量来计算主成分。ijijjaz 以下是我国2005年第1、2季度分地区城镇居民家庭收支基本情况。通过这个例子,介绍如何利用SPSS软件实现主成分分析。(一)利用SPSS进行因子分析 将原始数据输入SPSS数据编辑窗口,将5个变量分别命名为X1X5。在SPSS窗口中选择AnalyzeData ReductionFactor菜单项,
27、调出因子分析主界面,并将变量X1X5移入Variables框中,其他均保持系统默认选项,单击OK按钮,执行因子分析过程。因子分析主界面因子分析主界面得到如表所示的特征根和方差贡献率表 表中Total列为各因子对应的特征根,本例中共提取两个公因子;%of Variance列为各因子的方差贡献率;Cumulative%列为各因子累积方差贡献率,由表中可以看出,前两个因子已经可以解释79.31%的方差 特征根和方差贡献率表特征根和方差贡献率表得到如下表所示的因子载荷阵:因子载荷阵因子载荷阵(二)利用因子分析结果进行主成分分析1.将因子载荷阵中的数据输入SPSS数据编辑窗口,分别命名为a1和a2。2.
28、计算第一个特征向量:点击菜单项中的TransformCompute,调出Compute variable对话框,在对话框中输入等式:z1=a1/SQRT(2.576)点击OK按钮,即可在数据编辑窗口中得到以z1为变量名的第一特征向量。再次调出Compute variable对话框,在对话框中输入等式:z2=a2/SQRT(1.389)点击OK按钮,得到以z2为变量名第二特征向量。Compute variable对话框对话框 根据上表可以得到主成分的表达式:3.再次使用Compute命令,就可以计算得到两个主成分。表表 特征向量矩阵特征向量矩阵我们得到了如下表所示的特征向量矩阵:五五 利用利用S
29、PSS进行因子分析进行因子分析(一)操作步骤1.在SPSS窗口中选择AnalyzeData ReductionFactor,调出因子分析主界面,并将变量X1X13移入Variables框中。因子分析主界面因子分析主界面 2.点击Descriptives按钮,展开相应对话框2.点击Descriptives按钮,展开相应对话框。选择Initial solution复选项。这个选项给出各因子的特征值、各因子特征值占总方差的百分比以及累计百分比。单击Continue按钮,返回主界面。图图 Descriptives子对话框子对话框 3.主界面中点击Extraction按钮,设置因子提取的选项。在Meth
30、od下拉列表中选择因子提取的方法,SPSS提供了七种提取方法可供选择,一般选择默认选项,即“主成分法”。在Analyze栏中指定用于提取因子的分析矩阵,分别为相关矩阵和协方差矩阵。在Display栏中指定与因子提取有关的输出项,如未旋转的因子载荷阵和因子的碎石图。在Extract栏中指定因子提取的数目,有两种设置方法:一种是在Eigenvalues over后的框中设置提取的因子对应的特征值的范围,系统默认值为1,即要求提取那些特征值大于1的因子;第二种设置方法是直接在Number of factors后的矩形框中输入要求提取的公因子的数目。这里我们均选择系统默认选项,单击Continue按钮
31、,返回主界面。Extraction子对话框子对话框 4.点击Rotation按钮,设置因子旋转的方法。这里选择Varimax(方差最大旋转),并选择Display栏中的Rotated solution复选框,在输出窗口中显示旋转后的因子载荷阵。单击Continue按钮,返回主界面。Rotation子对话框子对话框 5.点击Scores按钮,设置因子得分的选项。选中Save as variables复选框,将因子得分作为新变量保存在数据文件中。选中Display factor score coefficient matrix复选框,这样在结果输出窗口中会给出因子得分系数矩阵。单击Continue
32、按钮返回主界面。6.单击OK按钮,运行因子分析过程。图图7.5 Scores子对话框子对话框(二)主要运行结果解释1.Communalities(给出变量共同度)变量共同度反映每个变量对所提取的所有公共因子的依赖程度,此数值是因子载荷阵中每一行的因子载荷量的平方和,提取的因子个数不同,变量共同度也不同。2.Total Variance Explained(给出各公因子方差贡献表)Initial Eigenvalues给出初始相关矩阵或协差阵矩阵的特征值,用于确定哪些因子应该被提取,共有三项:Total列为各因子对应的特征值,本例中共有四个因子对应的特征值大于1,因此应提取相应的四个公因子;%o
33、f Variance列为各因子的方差贡献率;Cumulative%列为各因子的累积方差贡献率,由表一可以看出,前四个因子已经可以解释89.651%的方差。Rotation Sums of Squared Loadings给出提取出的公因子经过旋转后的方差贡献情况。表一 特征根与方差贡献率表 表二 旋转前因子载荷阵表三 旋转后因子载荷阵 Rotated Component Matrix4.714E-02.925-.1305.040E-02.221.9505.080E-02.104.1831.323E-02.895.152.176-4.567E-02.880.134.174.909.109.101
34、.724.150.470.350.236.104.166.938.232.110.157.943.8433.187E-02-.2674.853E-02.845.157.2556.884E-02.848.214.235.254.782.163.431.387.793.193.445.302X 1X 2X 3X 4X 5X 6X 7X 8X 9X 10X 11X 12X 131234Component 注意:在因子表达式中的各变量为进行标准化变换后的标准变量,均值为0,标准差为1。7.由于我们已经在Scores子对话框中选择了Save as variables复选框,因此,因子得分已经作为新的变量
35、保存在数据文件中,变量名分别为fac1_1、fac2_1、fac3_1和fac4_1。此后,我们还可以利用因子得分进行其他的统计分析。表四 因子得分系数矩阵 表7.5是研究消费者对购买牙膏偏好的调查数据。通过市场的拦截访问,用7级量表询问受访者对以下陈述的认同程度(1表示非常不同意,7表示非常同意)。V1:购买预防蛀牙的牙膏是重要的;V2:我喜欢使牙齿亮泽的牙膏;V3:牙膏应当保护牙龈;V4:我喜欢使口气清新的牙膏;V5:预防坏牙不是牙膏提供的一项重要利益;V6:购买牙膏时最重要的考虑是富有魅力的牙齿。六六 因子分析在市场研究中的应用因子分析在市场研究中的应用 表表7.5 牙膏属性评分得分表牙
36、膏属性评分得分表 将表7.5中的数据通过SPSS进行因子分析,得到相关结果是:1.特征根和累计贡献率 表表7.6 方差贡献率表方差贡献率表 从表7.6可以看出,提取两个因子累计方差贡献率就达到82%,第三个特征根相比下降较快,因此我们选取两个公共因子。2.因子的含义 为了得到意义明确的因子含义,我们将因子载荷阵进行方差最大法旋转,得到旋转后的因子载荷矩阵如下表7.7。表表7.7 旋转后因子载荷矩阵旋转后因子载荷矩阵 从因子载荷阵可以看出:因子1与V1(预防蛀牙),V3(保护牙龈),V5(预防坏牙)相关性强,其中V5的载荷是负数,是由于这个陈述是反向询问的;因子2与V2(牙齿亮泽),V4(口气清新),V6(富有魅力)的相关系数相对较高。因此,我们命名因子1为“护牙因子”,是人们对牙齿的保健态度;因子2是“美牙因子”,说明人们“通过牙膏美化牙齿影响社交活动”的重视。从这两方面分析,对牙膏生产企业开发新产品都富有启发意义。