对共现分析感兴趣的人越来越多,这是我在94年开始做这方面研究的时候没有预料到的,这确实是值得庆幸的一件事情,但是随之而来的会有很多实际问题,尤其是对于初学者,这个问题不妥善解决,恐怕会影响到该方法的普及,所以,我觉得有义务给大家多做些解释说明,让这个方法能够得以平稳健康的发展。
以下是我与一位湖南农业大学的研究生之间就共现聚类分析的实际操作问题的往来信件,考虑到可能有很多的同学都会遇到这样的问题,在征得该同学同意的前提下,删去其中感谢的话语(不要因此认为该同学不礼貌哟),保留实际的问题信息,发表在这里。
1. 2010年4月6日
崔教授,您好!
目前学生遇到了一些问题,不知道能否得到您的指点:
1)就是利用Bibexcel 技术进行共词分析,那个图谱画不出,只能得到共现矩阵;
2)我研读了您的一些论文,想利用SPSS做聚类分析的,可是我现在只有关键词的共现频率矩阵;还需要进行什么处理才能做聚类分析呢?
3)“战略坐标”中的向心度和密度具体怎么算呢?
这是他的数据(已经整理过行和列的):
1.我的回信:
XXX同学,您好!
1)对于你附件中的矩阵,是通过bibexcel得到的吗?是共现矩阵吗?对角线上的数字代表什么呢?为什么对角线上的数字有的是0,有的不是0呢?
2)如果用SPSS分析,输入的矩阵不应该是相关矩阵,而应该是词-篇矩阵,就是比共现矩阵更为原始的,示例如下:
关键词 |
论文1 |
论文2 |
论文3 |
论文4 |
论文5 |
论文6 |
Biodiversity |
|
1 |
0 |
0 |
0 |
0 |
Biogeography |
1 |
0 |
|
1 |
0 |
0 |
Climate |
0 |
0 |
0 |
|
0 |
1 |
Climate change |
1 |
1 |
0 |
0 |
|
1 |
Competition |
0 |
1 |
0 |
0 |
0 |
|
Conservation |
0 |
0 |
1 |
1 |
0 |
|
Density dependence |
1 |
0 |
1 |
1 |
1 |
|
上述矩阵的1代表该词在该论文中出现,0代表没有出现,你目前得到的矩阵应该是通过这个矩阵进一步计算后得到的。这样的矩阵在SAS中可以输入处理,其他一些小型的专门面向聚类的软件也可以处理,如gcluto,但是首先要把对角线上的数据是什么意思能明白,否则没有可信性。
3)战略坐标的算法我们就是用excel,通过标记同一类的对象,反复计算每一个类别的类内各个对象(词)之间的距离的平均值(某一类的密度),然后计算每个类内的各个对象(词)与本类之外所有词的距离的平均值的平均值(某一类的向心度),看着复杂,实际在excel操作上只是拖动鼠标就可以了。坐标的原点我们用的是所有各类的密度和向心度的平均值。
不知道我说清楚没有,看来需要开设个实用培训班了。呵呵,我申请了一个研究生暑期访学项目,不知道能否批准。
2. 2010年4月7日来信:
尊敬的崔教授:
这两天我一直在琢磨那个矩阵以及如何更进一步的分析,我给您发的那个矩阵就是由Bibexcel 软件得出的,您说的对角线上的数字有的是0 ,我的理解是那两个词之间没有共现关系,而其他数字表明那两个词一起共现的次数,不知道我这样理解有没有错误?
关于战略坐标法,我似乎有点懂了,可能等我把聚类树做出来,会更容易理解些,谢谢您!
2.2010年4月7日我的回信
对角线上的数字,对应的行和列都是一个词, 就是说, 对角线上的数字应该是同一个词自己和自己的关系,应该是多少?
3.2010年4月7日 来信
崔教授:
列应该是需要向下移一格的,也就是不考虑同一个词自己和自己的关系。我给您传一篇论文吧【注:为《国际力学论文关键词的共词分析》】,我的想法就是该篇论文的表1 ,表2考虑的。
崔教授,您好:
首先向您说声抱歉,我仔细检查了下,发现确实如您所说的那样,我又用软件重新做了一次,发现漏复制了一行,现把正确的矩阵给您发过去。
3.我的回信
这个问题涉及到共现分析的一些基础知识,而且一直在争议,参看邱均平老师的论文【关于共被引分析方法的再认识和再思考】,对于你的数据,我的做法是,把你给我的矩阵填满,对角线输入的是该单词与其他单词共现的总次数,然后输入到SPSS, 注意采用的是counts-chi square,得到结果【附件】,你看看是否是你想要的。
下面是填充过的表格,对角线是共现总次数。
4.2010年4月12日 来信
崔教授,您好!
仔细看了您给的聚类图,感觉很好,只是如您所说的,学生还有几个疑问:
1)您能指点一下为什么矩阵中对角线您是取的总和值,这样做是不是有相关的研究?邱均平教授研究论文中是最大值加1,我之前一直愚钝的觉得是个0,现在仔细想想觉得自己对这方面的知识太欠缺了。
2)如您给出的矩阵,如果我想继续做一个战略坐标,请问还应该如何操作?是不是要求他们的一些系数矩阵?
3)在您的回信里,您特别强调了是用counts-chi square 方法聚类分析,请问用这个方法有什么特别的地方吗?
4.2010年4月13日 我的回信
XXX同学,您好!
不用客气,通过你的问题我也学习了很多,对共现聚类分析有更深入的认识。
(1)由于是共现矩阵,里面的数字是两个词的共现次数,所以数目越大表示两个词关系越密切,所以,从这个角度说共现矩阵是个相似矩阵,而不是距离矩阵,对角线上的数据代表着和一个词和自己的相关程度,对于相似矩阵,应该是越大越好,转换为相似系数的矩阵后应该是1;如果是距离矩阵,则应该是越小越好,应该是0。至于为什么取总和,是我们多年来的经验,和邱均平老师所提出的不同,如果取了总和,再转换为相似系数矩阵的时候就可以保证对角线上的数据为1,效果会更好。从经验和原理上是这样的,但是没有经过严格的数学论证,由于没有数学上的能力,也不想加入这个讨论中。
(2)战略坐标的算法,再形成了矩阵并有了聚类结果之后, 可以在excel上操作,要点是把同一类的词标记出来,然后排序,把同一类的几行放在一起,先计算类内各词之间的共现次数平均值,这就是该类的密度。然后计算向心度,啰嗦一点儿说,就是把同类的列删除,然后计算同一类各行的总和,就是每一词与类外词的距离,然后求平均值,应该是该类的向心度了。你自己实践几次就明白了,我说不明白。
(3)其实,在我心里,对于矩阵中的数据,既可以是计数(counts)数据,也可以是计量数据(在SPSS中interval),之所以强调,有点儿担心你把计数资料用其他的系数,其实担心多余了,打开SPSS看到这些是通过菜单和选项对应起来了。所以,更正一下是,你可以用counts计算,卡方和另一个都可以试着来,哪个好用哪个。也可以用interval计算,但是开平方的欧氏距离效果不好。另外,聚类中各类别间相似度的计算方法(最大距离、最小距离、组内平均距离和组间平均距离等)都可以尝试,总结个人经验,我认为最大距离效果最好。作为一种非监督的学习方法,聚类分析更多的是依赖于个人经验。
https://blog.sciencenet.cn/blog-82196-311484.html
上一篇:
子见南子下一篇:
如何计算战略坐标