Spss 操作与应用:对应分析
对应分析主要是对两个名称变量的频数列联表的数据进行分析,将行和列变量在一维或两维坐标图中展现出来,对应分析的目的主要是对行变量和列变量取值的定位分类或寻找频数列联表数据中的重要纬度。
例如 2002年某参加考试的7544个考生职业与技术职称的频数列联表
人数 初级(B1)高级(B2)中级(B3)其它职称(B4)
教师(A1)993421712
科技人员(A2)98311499
现役军人(A3)4956648
行政干部(A4)129924822612430
其他人员(A5)1711123869
◆操作一:如果有形成上述表格的7544个记录的原始数据,即A 有7544个数据,B有7544个数据,用spss统计软件进行对应分析的步骤相对比较简单,在spss 主菜单中:
Analyze->Data redution->correspondence analysis
在随后出现的对话框中,将A作为行(row)变量,取值范围(range)为1到5, 将B作为列(column)变量,取值范围(range)为1到4,在plot 中选中其中一种散点图,图形中有行点图,列点图,行列点图(biplot),可根据实际需要选择,一般我们可以选择行列点图(biplot),这样我们可以在同一坐标图中同时看到行列取值点。然后点击ok即可。
◆如果仅有上述表格数据,spss也可以进行对应分析,具体也还有两种方式
操作二:将上述数据转化成如下形式,输入到spss的数据编辑窗口
变量名:
A B 频数
1 1 99
1234
13217
1412
2198
2231
23149
249
3149
325
3366
3448
411299
42248
432261
442430
51171
5211
53238
5469
在用对应分析之前,在spss 主菜单中 先 data->weight case 用频数给数据加权,然后
在spss 主菜单中:如前述,选择对应分析即
Analyze->Data redution->correspondence analysis
在随后出现的对话框中,将A作为行(row)变量,取值范围(range)为1到5, 将B作为列(column)变量,取值范围(range)为1到4,在plot 中选中其中一种散点图,图形中有行点图,列点图,行列点图(biplot),可根据实际需要选择,一般我们可以选择行列点图(biplot),然后点击ok即可。
操作三:在spss的数据编辑窗口输入表格中的频数数据,
993421712
98311499
4956648
129924822612430
1711123869
然后,打开spss语句窗口,运行如下命令:anacor/table all (5,4)/plot joint. 即可得到结果。
从图中至少可以看出五点结论:
◆A1,A2处在一类,B2为一类,A5为一类, A3,B1,B3,A4,B4为一类
◆B3,B4,A4非常靠近横轴,A3,B1,B3,A4非常靠近纵轴.
◆从图中可以看出存在两个平行方向, A1,A2,B2位于一个方向上, ,A5, A3,B1,B3,A4,B4位于另一个方向上,两个方向一致,但相距较远.
◆A1A2,B2,B4,A5分别位于四周说明他们之间存在较大差异
◆B3,A4处于中心地位
因A表示不同的职业,B表示不同技术职称,将A,B不同的实际取值含义代入上述结论,便可获得更为清晰的解释.
另外还可以编程实现
VARSTOCASES
/ID=[attr]
/MAKE [freq] FROM [var00001 var00002 var00003 var00004 var00005 var00006]
/INDEX = [brand(6)]
/KEEP =
/NULL = KEEP.
加权
WEIGHT BY [freq].
对应分析
CORRESPONDENCE TABLE =[Q1(1 4)] BY [Q3(1 5)]
/DIMENSIONS = 2
/MEASURE = CHISQ
/STANDARDIZE = RCMEAN
/NORMALIZATION = SYMMETRICAL
/PRINT = TABLE RPOINTS CPOINTS
/PLOT = NDIM(1,MAX) BIPLOT(20) . 其中[]内为参数,根据不同数据进行修改
如果觉得《对应分析 matlab 对应分析 - SPSS论坛 - 经管之家(原人大经济论坛)》对你有帮助,请点赞、收藏,并留下你的观点哦!