9、spss做交叉表检验和对应分析

前边我们已经讲过很多内容了。回顾一下,主要有相关分析,假设检验,和各种回归。以及因子分析。我们知道,对于两组连续变量,我们可以通过假设检验来判断他们的分布是否相同,差异时候存在。不知道大家想过没有,如果我们想讨论两个分类变量的分布是否相同呢?这里我们首先来讨论这个问题。

首先举个例子,假设我们有两个不同季节的某种卫生的是否达标的记录。那么我们就是有两组二分类的变量(就是取值不是这个就是那个,只有两种取值的变量)。对于这两组变量,如果你还想用均值检验来看看分布是不是一样的话,那我真是被你蠢哭了。这个明显是不适合用均值检验或者非参数检验的。它适合的是我们正在介绍的卡方检验。

做分析首先需要做的第一步是输入数据。正常的输入方法是类似均值检验的:我们设一列达标与否,打一堆1或者2上去表示这个个案是达标或者不达标的。然后在设一列季节变量,在打一堆1或者2上去表示对应的这个个案是那个季节的。但是大部分时候,出于效率的考虑,我们都不会这么输数据。我们会设三个变量。达标与否,季节,权重。这样我们用四个个案就能表示了(1,1,第一个季节达标的数量)(1,2,第二个季节达标的数量)(2,1,第一个季节不达标的数量)(2,2,第二个季节不达标的数量)。这两种输入数据的方法都是正确的,但是明显,后一种要简洁一些是不是?

然后,首先用权重那个变量为我们的所有数据加权。然后打开菜单分析——描述统计——交叉表。行选季节,列选达标与否(或者行选达标与否,列选季节),勾选下边的显示复式条形图。点开统计量,全部勾选。点开单元格,全部勾选。然后确定。(为了后边的对应分析,我得节省点篇幅。)

第一个表是在概述你的数据情况,不用管它。第二个表是卡方检验表。这个表可要好好看。我相信到了现在大家已经认识到了p值是多么可爱,多么重要的一个指标了,可是这个表的问题在于,它的p值太多了。分别有:pearson卡方,连续矫正,似然比,fisher精确检验,线性和线性组合,mcnemar检验,哇,这么多,我到底要看哪一个呢?

首先你要看先你的最后一行的有效案例是多少个,其次还要看你最下边的标注,有几个单元格的期望计数小于2,最小期望计数是多少。有了这三个数据就能判断用哪个p值了。注意,下边这段判断方法很重要,你最好找张纸抄下来。

有效案例大于等于40,所有期望计数大于等于5的时候,用Pearson卡方。有效案例大于等于40,有期望计数小于5但最小的期望计数大于1时,用校正卡方。总频数小于40,或者,注意,是或者,有期望计数小于1的时候,用fisher精确。

P值小于0.05,则认为有差异。

现在把我们的例子在变一变,如果我们的卫生达标与否这个指标改为了一个三分类变量,不达标,合格,优秀。这三种类别呢?

操作过程和上边是一样的,但是结果只会告诉你这三组是否有差异,到底那组和那组有差异还要自己从新在做四格表才能判断。

另,在加一个变量,比如这个个案是公有性质或私有性质,三个指标放到一起来判断的时候,就把性质这个变量放到交叉表的主面板的层里边(就在行和列的框框下边。)

粗略的说完卡方以后,我们就来介绍一下对应分析。

卡方检验通常用来处理比较简单的问题,但是对于复杂一点的问题,它的效果会很糟糕哦。比如我的变量每个都有四五个分类,我想看看分类之间的分布是否有差别等等的,肯定不可能用卡方撒。所以这时候就用到了对应分析。

对应分析又叫做关联分析,因为它不仅能反映出来那个分类和那个分类的分布有没有差别,也能反映出来变量之间的分类谁和谁更容易接近。举个例子,假设我有一个变量分类为1,2,3,4,5,另一个变量分类为a,b,c,d,e,f。那么我不仅能观察知道1,2,3,4,5之间谁和谁更接近,我还能观察知道a是和1,2,3,4,5中的那个更亲近,b又是和谁更亲近,套用到实际问题里就是我会知道,哪一类人更容易有那种行为,所以也叫关联分析。(这个名是不是比对应分析响亮一些?想想啤酒与尿布的故事吧!注意,你已经开始涉及到一些机器学习的内容了。)

那么为什么对应分析算是降维分析的一种呢?主要是因为它的原理是主成分分析。粗糙的理解是这样的,它通过把两个多分类变量分别降维降到二维(就是用两个成分来表示这个多分类变量,类似因子分析里的成分图),然后把两张二维的图通过某些转换合到一块(你凑合着这么理解吧,不是简单的往一块和,在最一开始就是一块降得),然后你就可以在一张平面上观察了。因此它归到降维里的范畴。尽管它不像因子分析那样,把多个变量降成较少的变量那样好理解。

打开菜单分析——降维——对应分析,行和列各选择一个分类变量。比如一个变量是年龄段的分类,另一个变量是对某种商品的喜爱程度。在行和列的框框下边还有一个定义范围,点开那个对话框,选择你的最大值和最小值。定义好以后打开模型对话框,解得维数一般选2,处于一个好观察的角度,也出于准确性,一般选择2。然后在打开统计量,勾选对应表,行点概览,列点概览,列轮廓表。绘制对话框勾选双标图。然后就可以得到结果了。

对应表和简要表是不怎么重要的,可以忽略掉。注意看摘要表。首先要解释两个名词。  奇异值。(这里忍不住插嘴,世界上优秀的智能推荐的算法都是用的奇异值分解。)我们知道一个大矩阵通过这么这么分解,那么那么分解,最后能分解成几个小矩阵。这些小矩阵就对应于我们的一个个的成分。所以奇异值的大小呢,就能反映这些小矩阵的重要程度。那么奇异值和因子分析里的特征值有什么区别呢?特征值是用在方阵里的,而奇异值是用在长方形的矩阵里的。而惯量它是奇异值的方,就类似于特征值了。这两个名词了解就可以了,不需要详细的知道。

在摘要表里第一要看总计里边的p值。这个p值不小于0.05的话,那对应分析完全就是没意义的。

第二要看惯量比例里边的解释。对应的百分比。这个类似于因子分析里解释的总方差。都是反映的某一个维能够解释模变量的百分比。通常来说,前两个维都要起码累积到百分之九十。有的数据很好的话,可能只能提取出两个维,两个维就能够累计到百分之百了。

在下边是概述点,如果你的摘要表表现很好的话,这个表就不怎么用看啦。

最后是最重要的散点图。

双击散点图,在图形编辑里边调整坐标的初始值,在行和列的0.0处加辅助线。然后这张图就会别分成四大块了。中心点就是(0,0)。那么在这张图上边就会有两类不同图形的点点,比如圆形表示年龄段的分类,三角表示喜爱程度。在小图形附近还会标注清楚每个小图形对应那个程度。那么这个图怎么看呢?

首先四个大块就直观的告诉我们那些点和那些点距离比较近了。比如代表20岁到40岁的点和非常喜爱的点靠的很近,那么就可以认为20岁到40岁的人会非常喜爱这个产品。这是最基本的一个信息。此外我们可以通过辅助线来进一步解释这张图。比如,我们找到代表非常喜爱的这个三角形,然后把这个点和(0,0)的中心点连线,连出一条直线来。然后把所有的小圆点向这条线做垂线。就是代表每个年龄段的小圆点都引一条垂线出来,垂点落到原来的那条直线上。假如我们分四个年龄段的话,那我们现在就有四个垂点啦。然后我们比较这四个垂点离代表非常喜爱的那个三角形的距离。注意,比较的是垂点哦。垂点离三角形越近,也就是说该年龄段的人越容易表达出非常喜爱哦。因为是垂点,所以从图上看离得比较远的两个点未必就关联程度比较低哦。

同样的道理,我们也可以做出同一年龄段的人更容易喜爱还是不喜爱这个产品的直线图。总之散点图可以很直观的解释信息哦。

简单对应分析大概就是这样了。注意,做简单分析的时候,我们只能观察两个变量啊。那怎么观察更多的变量呢?敬请期待下一讲:多重对应分析。

时间: 2024-07-30 05:50:28

9、spss做交叉表检验和对应分析的相关文章

SQL存储过程实现SPSS交叉表

  SP代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

一个交叉表

一个交叉表.用字段明做为值:原表数据为: 字段1    字段2    字段3  A1            B1            C1  A2            B2            C2变换后:COL1          COL2         COL3字段1            A1                A2字段2            B1                B2字段3            C1                C2 create

2、spss做均值比较分析

上一篇文章我们分享了如何用spss做相关性分析,主要包括双变量相关分析,偏相关分析,以及比较偏门的距离相关分析.其中双变量相关分析又包括三种不同的分析方法.如果忘了的可以回去看一下哈.这次我们来一起学习另一个比较基础的分析方法,均值比较分析. 均值比较分析也是一种基础的分析手段,我们通过基础方法来看出数据中隐含的规律.只有明确了这些规律,在后边的高级分析中才能起到事半功倍的效果.因此,我们首先学习均值比较分析,非参数检验等基础性的分析手段,然后在学习回归,因子等较复杂的分析手法. 首先我们用统计

交叉表怎样实现像这样横向的合计

问题描述 如图:合计发出收入库存发出收入库存发出收入库存产品1110321431产品2110220310产品3合计220541列的合计交叉表已经实现了,现在行的按这个合计如何做呢? 解决方案 本帖最后由 zzher 于 2011-12-21 11:22:23 编辑解决方案二:图片怎么贴啊,晕,只能链接的?解决方案三:withrollup解决方案四:你用的是什么版本啊,默认的情况是行,列都自动合计的,不需要的隐藏才对啊解决方案五:怎么不能发图呢??

vs2008 C# Winform中水晶報表交叉表,多行(列)總和問題

问题描述 我使用的是vs2008內建的Crystalreport想利用交叉表做出像下列這樣的報表:1月2月3月......檢驗批數181820PROCESSA不良批數502批退率27.78%0%10%檢驗批數202030PROCESSB不良批數023批退率0%10%10%===================================================================總檢驗批數383850總不良批數525總批退率27.78%10%20%上半部的資料我已經用SQ

Mysql5 实现交叉表查询

交叉表.行列转换和交叉查询经典 一.什么是交叉表 "交叉表"对象是一个网格,用来根据指定的条件返回值.数据显示在压缩行和列中.这种格式易于比较数据并辨别其趋势.它由三个元素组成: 行 列 摘要字段 "交叉表"中的行沿水平方向延伸(从一侧到另一侧).在上面的示例中,"手套"(Gloves) 是一行. "交叉表"中的列沿垂直方向延伸(上下).在上面的示例中,"美国"(USA) 是一列. 汇总字段位于行和列的交叉

SQL交叉表实例

版权声明:CSDN是本Blog托管服务提供商.如本文牵涉版权问题,CSDN不承担相关责任,请版权拥有者直接与文章作者联系解决. SQL交叉表实例 很简单的一个东西,见网上好多朋友问"怎么实现交叉表?",以下是我写的一个例子,数据库基于SQL SERVER 2000. -- ====================================================== --交叉表实例 -- ==========================================

交叉表应用-成绩统计

统计 最近由于开发需要,涉及到了成绩统计这块,这里面设计到了sql交叉表的应用,试了试,觉得很有感想,现在写出来大家看看,有什么不对的欢迎指正^_^ 首先我们建立如下的表: sc(成绩表)stuid clsid scroe ----- -------- ----------------------------------------------------- 0101 1 75.00102 1 70.00103 1 90.00101 2 89.00102 2 80.00103 2 99.0010

生成交叉表的简单通用存储过程

存储过程 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_qry]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[p_qry]GO /*--生成交叉表的简单通用存储过程  根据指定的表名,纵横字段,统计字段,自动生成交叉表 并可根据需要生成纵横两个方向的合计  注意,横向字段数目如果大于纵向字段数目,将自动交换纵横