崔雷的窗口分享 http://blog.sciencenet.cn/u/zilu85 我在专业领域里的感受

博文

不能用SPSS分析共现矩阵

已有 25424 次阅读 2010-5-26 11:39 |个人分类:生物医学文本挖掘|系统分类:科研笔记| SPSS, 聚类分析, 共现矩阵, 数据矩阵

共现分析中矩阵的种类:无论是同被引聚类分析,还是词共现聚类分析,都要把相应的矩阵输入到聚类分析软件中,比如SPSS,我们给软件输进去的是什么?多数的研究输入的都是共现矩阵,就是行和列都是相同的元素,比如高被引论文或者高频主题词:

SMALL H, 1973

WHITE HD, 1981

SMALL H, 1974

KESSLER MM, 1963

MCCAIN KW, 1990

WHITE HD, 1998

CALLON M, 1986

CALLON M, 1983

CALLON M, 1991

PRICE DJD, 1965

CULNAN MJ, 1986

SMALL H, 1973

134

36

50

46

18

17

12

16

6

18

10

WHITE HD, 1981

36

84

20

8

45

29

4

4

4

6

17

SMALL H, 1974

50

20

80

21

11

14

8

8

4

20

4

KESSLER MM, 1963

46

8

21

71

5

7

1

2

2

11

1

MCCAIN KW, 1990

18

45

11

5

62

28

1

1

3

7

9

WHITE HD, 1998

17

29

14

7

28

59

4

1

2

10

5

CALLON M, 1986

12

4

8

1

1

4

57

17

20

5

0

CALLON M, 1983

16

4

8

2

1

1

17

50

18

6

0

CALLON M, 1991

6

4

4

2

3

2

20

18

43

2

1

PRICE DJD, 1965

18

6

20

11

7

10

5

6

2

43

1

CULNAN MJ, 1986

10

17

4

1

9

5

0

0

1

1

40

比如上图中,第一列是11篇高被引论文,对应的第一行也是这11篇高被引论文,格子中的数字是它们同被引的次数,比如第一篇论文和第二篇论文同被引了36次,而对角线上的数字(134,84等)是该论文总的被引次数。
我看到很多的论文中都使用这种矩阵进行分析。猜想可能是这样的矩阵容易获得。在SCI或者其他文献数据库中,同时输入两个引文或者两个主题词,就可以得到它们在含有这两个引文或者高频词的文献数目,也就是它们的共现次数。因此,可以说直接生成共现矩阵是一条比较便利的途径。那么,从数据库中文献空间的角度深入的想一下,共现矩阵是如何得来的呢?其实,在共现矩阵之前,还有一个更加基础的矩阵,就是数据矩阵。
比如上面的同被引矩阵,实际上是来自于下面的矩阵。第一列还是11篇高被引论文,而第一行的其他各列则是引用这些文献的来源文献,其中的“1”代表着该来源文献的引文中出现了对应的被引文献,而“0”则表示没有出现。
 
被引文献
来源文献1
来源文献2
来源文献3
来源文献4
来源文献5
来源文献6
来源文献7
来源文献8
来源文献9
SMALL H, 1973, J AM SOC INFORM SCI, V24, P265  
0
0
1
0
0
0
0
0
0
WHITE HD, 1981, J AM SOC INFORM SCI, V32, P163 
0
0
1
0
0
0
0
1
0
SMALL H, 1974, SCI STUD, V4, P17               
0
0
1
0
1
0
0
0
0
KESSLER MM, 1963, AM DOC, V14, P10             
0
0
0
0
0
0
0
0
0
MCCAIN KW, 1990, J AM SOC INFORM SCI, V41, P433
0
0
1
0
0
0
0
1
0
WHITE HD, 1998, J AM SOC INFORM SCI, V49, P327 
0
0
1
0
0
0
0
0
0
CALLON M, 1986, MAPPING DYNAMICS SCI           
1
0
0
0
0
1
0
0
0
CALLON M, 1983, SOC SCI INFORM, V22, P191      
0
0
0
0
0
0
1
0
0
CALLON M, 1991, SCIENTOMETRICS, V22, P155      
1
1
0
0
0
1
1
0
1
PRICE DJD, 1965, SCIENCE, V149, P510           
0
0
0
0
0
0
0
0
0
CULNAN MJ, 1986, MANAGE SCI, V32, P156         
0
0
1
1
0
0
0
0
0
 
实际上,在SPSS中,准许输入的应该是这种矩阵,聚类选项中数据类型选择是“binary”,相似系数我们选择的是“Ochiai”系数。下面是通过高被引论文-引文矩阵(数据矩阵)生成的聚类图:
  
如果把共现矩阵输入当做数据矩阵输入到SPSS中的话,实际上SPSS把二者的共现数据当做分类样本的一个属性值了,这样做似乎也有一定的道理,因为一篇文献(A)与其他文献(B,C等)的共现次数也可以被当作该文献(A)的属性,但是严格说来这样做是不合适的。下面是通过共现矩阵生成的聚类图:
 
仔细观察二者的差异,虽然在局部有相同的聚类结果,但是越到后来,分类的差异就越大,这就是很多研究中经常遇到的问题:虽然聚类了,但是实际上结果判读起来很别扭。所以,你在研究中一旦出现这种情况,你就不要强行去解释错误的结果了,应该检查数据和聚类方法是不是有错误了。
那么,如果手头只有共现矩阵该怎么办?其实可以输入共现矩阵的聚类分析软件还是很多的,比如SAS,还有很多免费的小软件,都具有生物信息学的特色,需要费心学习,一旦上了手,你会发现各具特色,其实也很好用的。
1.CLUTO - Software for Clustering High-Dimensional Datasets
2.Cluster Analysis and Visualization from Eisen Lab

 







https://blog.sciencenet.cn/blog-82196-328819.html

上一篇:为什么要引用(续2)
下一篇:路上联翩
收藏 IP: 218.60.51.*| 热度|

4 赵迎光 赵星 王继华 金小伟

发表评论 评论 (7 个评论)

IP: 202.118.47.*   | 赞 +1 [4]崔雷   2013-8-15 10:22
这个我没认真研究过,但是似乎是可以的。
IP: 114.255.218.*   | 赞 +1 [3]李国俊   2010-6-10 22:16
个人感觉,这个问题是这样的:SPSS的层次聚类分析中有个选项:cases(个案),variables(变量)。当输入崔老师的那个基础矩阵时,选择cases,而当输入共词矩阵时,应该选择variables(变量)。不知道我说的是不是有道理?当选择cases时表示根据文献的属性来对文献进行聚类,而当选择variables时表示对变量进行聚类。
另外,崔老师是看到了国外文献中提到了那个基础矩阵,在我看的那些文献中往往要在基础矩阵上进行再次处理,而不是直接把这个矩阵输入到SPSS中,另外他们大多使用的是因子分析,对聚类分析使用的很少。一点愚见,欢迎批评指正!
博主回复:这两个矩阵是从前一个推导后一个的关系,对于数据矩阵(就是你说的基础矩阵),既可以对cases(如高频关键词或者高被引的论文),也可以对这些样本的属性,即变量(如出现主题词的文章或者引用高被引论文的来源文献)进行聚类,只不过我们一般情况下目标就是对高频的词或者被引文献进行聚类,以此分析学科结构或者热点。对于共现矩阵,矩阵的行和列都是分类样本,是对数据矩阵处理后形成的相关或者相异矩阵,把这个矩阵输入到SPSS中不符合该软件对输入数据的要求,无论选什么得到的结果都是不准确的。
国外研究您说的很对,我一直没有搞清楚他们是怎样进一步处理的,也看到有因子分析,希望能和您探讨。
IP: 59.172.141.*   | 赞 +1 [2]王晓光   2010-5-31 22:09
个人以为:将共现数据当作一种属性来处理的,这种做法实际上是转译了数据的内涵,与正确的做法相比,这种聚类过程忽略了细节,既数据处理人不关心两篇被引文章是在那些引用文章上共现的,而只关心这两篇文章被共现的次数,这等同于将数据处理层次提高了一个等级,放弃了细节,所以信息含量会降低,结果就存在一定误差,这种误差到底是否可以接受,还有待十分细致的研究。

博主回复:即使是用“正确的”做法,目前通用的分析结果其实也忽略了到底在哪些文章上共现的细节,分析粒度更低,综合度更高,损失了信息;而有些软件,比如gCluto中就可以在双向进行聚类,即引用和被引文献都可以聚类并在同一个视图中显示。目前,我们已经尝试做这样的研究,已经完成,近期内会投稿。
关于误差是否可以接受,可以参看赖院根老师的博文:差异矩阵与SPSS层次聚类http://www.sciencenet.cn/m/user_content.aspx?id=313758,我以前也让学生探索一下这种做法,当时曾猜想也许这种做法更能反映被聚类对象的关系,是一种更简洁合理的算法呢。但是由于缺乏聚类分析质量评价的金标准,最后没有发表。
IP: 59.172.141.*   | 赞 +1 [1]王晓光   2010-5-31 21:43
“如果把共现矩阵输入当做数据矩阵输入到SPSS中的话,实际上SPSS把二者的共现数据当做分类样本的一个属性值了,这样做似乎也有一定的道理,因为一篇文献(A)与其他文献(B,C等)的共现次数也可以被当作该文献(A)的属性,但是严格说来这样做是不合适的。”
这句话很有意思,希望崔老师就这个问题多谈点看法。这种做法到底存在什么缺陷呢?
回复  我尝试过,似乎有放大的作用,让关系密切的更加密切。但是,结论不是很可靠。我不是研究数学的,基础不够。
2011-2-18 17:011 楼(回复楼主) 赞 +1 |

1/1 | 总计:4 | 首页 | 上一页 | 下一页 | 末页 | 跳转

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2025-1-7 18:45

Powered by ScienceNet.cn

Copyright © 2007-2025 中国科学报社

返回顶部