科学网

 找回密码
  注册

tag 标签: 聚类分析

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

聚类分析之R语言篇
yzhlinscau 2013-10-24 20:13
聚类分析 (cluster analysis) 是把研究对象 ( 样本或变量 ) 分组成为由类似的对象组成多个类的一种统计方法。聚类结果一般在 4-6 类,不易太多,或太少。聚类分析目的在于将相似的事物归类,同一类中的个体有较大的相似性,不同类的个体差异性很大。两个个体间 ( 或变量间 ) 的对应程度或联系紧密程度的度量可以用两种方式来测量: 1 、采用描述个体对 ( 变量对 ) 之间的接近程度的指标,例如“距离”,“距离”越小的个体 ( 变量 ) 越具有相似性; 2 、采用表示相似程度的指标,例如“相关系数”,“相关系数”越大的个体 ( 变量 ) 越具有相似性。 聚类分析方法包括:系统聚类法、动态聚类法、有序样本聚类法和模糊聚类法等等。本文只介绍较常用的系统聚类法和动态聚类法。 1 系统聚类法 以R基础包自带的鸢尾花(Iris)数据进行聚类分析。 分析代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ###### 代码清单 ####### data(iris); attach(iris) iris.hc - hclust( dist(iris )) # plot( iris.hc, hang = -1) plclust( iris.hc, labels = FALSE, hang = -1) re - rect.hclust(iris.hc, k = 3) iris.id - cutree(iris.hc, 3) table(iris.id, Species) ###### 运行结果 ####### table(iris.id,Species) Species iris.id setosa versicolor virginica 1 50 0 0 2 0 23 49 3 0 27 1 聚类分析生成的图形如下: 鸢尾花花萼及花瓣的长度和宽度系统聚类图 结果表明,函数cuttree()将数据iris分类结果iris.hc编为三组分别以1,2, 3表示,保存在iris.id中。将iris.id与iris中Species作比较发现:1应该是setosa类,2应该是virginica类(因为virginica的个数明显多于versicolor),3是versicolor。 2 动态聚类法 仍以 R 基础包自带的鸢尾花 (Iris) 数据进行 K- 均值聚类分析,分析代码如下: 1 2 3 4 5 6 7 8 9 ###### 代码清单 ####### library(fpc) data(iris) df-iris set.seed(252964) # 设置随机值,为了得到一致结果。 (kmeans - kmeans(na.omit(df), 3)) # 显示K-均值聚类结果 plotcluster(na.omit(df), kmeans$cluster) # 生成聚类图 生成的图如下: 动态聚类结果
个人分类: R|33695 次阅读|0 个评论
基于在线游戏数据研究中国地域文化差异
热度 1 xianwenwang 2013-10-12 11:17
最近我们做了一个研究,通过采集 QQ 游戏 700 多万用户的游戏行为数据,对中国地域文化进行聚类分析。 我们观察到,不同地域的人喜欢玩不同的游戏,许多纸牌和棋牌游戏具有明显的地域分布特征。例如山东人喜欢玩山东麻将、保皇,安徽人喜欢玩惯蛋,四川、重庆、云南、甚至湖北西部的居民玩四川麻将等等。 图 1 13 种麻将游戏的地理分布 于是,我们选择了 47 种带有地域特色的游戏作为变量,采集了 “ 什么地方的人在玩什么游戏 ” 的数据,对中国 300 多个地市级地区用这47个变量进行聚类分析,并将聚类结果映射到中国地图上。 图 2 聚类结果 论文写完后,我们将预印本提交到了 arXiv ,引起了一些关注。论文被 MITTechnology Review 推荐为 arXiv 一周最佳论文之一,被法国的 Slate 杂志报道等等。前两天,我看到 medium.com 上有一篇对于我们论文的详细介绍,顺手翻译了一下,与大家交流。 论文可以从 arXiv 免费下载, http://arxiv.org/ftp/arxiv/papers/1310/1310.0621.pdf The Curious Link Between Online Gaming and Chinese Regional Culture 在线游戏和中国地域文化的新奇联系 报道原文见 https://medium.com/editors-picks/f482a7946e50 或者 https://medium.com/the-physics-arxiv-blog/f482a7946e50 想要描绘出中国文化丰富的多样性,从来就不是一件容易的事情。但是,最近有一些研究者们通过分析在线游戏数据背后所隐藏的游戏模式,提供了一种新的思路。 中国有 13亿多人口,是世界上人口最多的国家。她同时也是最古老的文明之一,人口和文化非常富于多样化。中国的地方方言多大292种。 但是对这些文化进行分类和地图展现是一件非常困难的事情。工作量非常巨大,在中国如此巨大的地理尺度上收集和分析数据几乎是一件不可能的事情。 最近,来自中国大连理工大学的王贤文等人,他们通过对中国不同地区人们喜欢玩哪些游戏进行分析,创造了一副关于中国地域文化的详细地图。 首先介绍一些背景知识。历史上,人口学家对中国文化有一些简单的划分。最简单的划分方式,就是以秦岭淮河为界划分成北方和南方。其他的划分方式包括东、中、西三大地带,或者 6大经济区,34个行政区等等。 这些划分方式在多大程度上抓住了中国地域文化的差异性,是一个值得探讨的问题。王贤文认为, “这些划分方式非常粗糙”。以往研究也很少涉及到这个问题。 所以,这些研究者们采用了一种不同的方法。他们认为纸牌和棋牌游戏是根植于中国文化的代表符号。中国有数百种不同的纸牌和棋牌游戏。 有趣的地方是,在不同的地区,这些游戏发展成了不同的玩法样式。王贤文等人在论文中提到, “例如,仅麻将游戏中国就有超过30种不同的玩法”。 住在上海的人喜欢玩上海麻将,但是一省之隔的浙江玩的却是杭州麻将和宁波麻将。纸牌游戏也同样如此。 王贤文等人提出的思路是,这些游戏在不同的地区有着不同的受欢迎程度,这一现象可以作为地区之间文化差异性的 “代理”(proxy)。 这就是该研究的理论基础。但是从哪里去获得数据来实现这一思路呢?可以从游戏网站去获得这种数据,这些网站提供了各种各样游戏的在线版本。 这些游戏网站中最大的一个叫做 QQ游戏,它是由一家叫做腾讯的中国网络公司所提供的即时通讯服务(附带提一句,腾讯也是仅次于谷歌和亚马逊的全球第三大网络公司)。 QQ提供了200来种不同类型的纸牌和棋牌游戏。QQ的8亿用户中,在任何时间节点大概有800万在线游戏人数(作者按,这一说法是不准确的,只有在晚上9点左右才能达到这个数字,平时的在线游戏人数在500万左右)。 为了弄清楚中国什么地方的人在玩什么游戏,王贤文等人选取了 2013年8月9日晚上10点前的一个高峰时间点,当时大概有755万玩家在玩QQ游戏。他们收集了这个时间点的游戏玩家数据,数据形式就是“什么地方的人在玩何种游戏”。 关于 QQ游戏地图的第一个印象就是中国的北部、东部的游戏人数和中国西部有着明显区别。“地图中大部分的节点集中分布在中国的东部沿海、华北平原(包括北京、天津和山东省)”。 相比之下,中国的西部显得非常暗淡,这也是中国东西部经济对比的一个写照。年轻人都前往中国的东部和华北地区,年轻人往往是喜欢玩在线游戏的群体。 还可以用这些数据进行更加细致的分析。例如,王贤文等人选取了 13种麻将游戏绘制地图。“每一种麻将尤其都有它的地域影响范围,两种游戏的分布地域可能会有一些重叠,但是总体上来看,边界是清晰的”。 作为控制变量,他们也选取了两种大众化的游戏进行对照。选取的游戏是升级和欢乐斗牛。这两种游戏的玩家分布没有明显的地域差异,基本上是均匀分布的。 最后,他们选择了 47种带有明显地域特色的游戏作为变量,绘制了一副中国地域文化差异的详细地图。他们通过对中国的地市级城市进行聚类分析,得到17个聚类。 总体上,聚类的边界与省域边界较好地吻合,也有一些例外。 这是一项极有吸引力的研究。大多数西方人对中国的文化差异极度缺乏了解。 这也是数据挖掘的力量。这种基于巨大数据集的分析直截了当,但是却可以洞悉前所未有的细节。一个有力的、有价值的工具,显然会揭示更多的未知性。 参考文献 : arxiv.org/abs/1310.0621 :Games and Culture: Using Online-gaming Data to Cluster Chinese RegionalCultures
个人分类: 论文|6884 次阅读|8 个评论
Small对同被引聚类结果的描述
zilu85 2012-9-28 09:27
关于高被引论文的同被引聚类分析的结果,他说: 我们用不同年代的文献表示的专业结构,咋看起来可能与历史无关。这个聚类结果来自于某个时间“片段”(某一年发表文献的高被引论文聚类后的累积图像),有点儿类似快照。类中用文献表示的诸多事件可以看作是一种同时存在,具有一组科学家集体共识的意味,也许表示了研究领域的流行范式或者案例集合,更加具有 Kuhn 所倡导的理念。 这种横断面视角是不同年代的事件和发现的混合,类似于一间屋子的快照,屋子中的家具是在过去不同时间里被放进来,但是在拍摄快照的时候是同时存在的。我们对同被引类别的解释遵循这样一个原则,好似我们正在探索一位假想的理想的 DNA 重组研究者的“精神”家具。 【这个屋子快照的比喻很有意思,所以就放到这儿了,但是翻译的不是很到位】
个人分类: 文献计量学|3819 次阅读|0 个评论
色不异空,空不异色
caidi 2012-4-1 12:20
哈,系统聚类法说明:色不异空,空不异色。 当你认为距离很小的样本都是有差别的时候,所有样本就被看作单独的类,你的样本“世界”就是形形 色色 的; 当你认为距离很大的样本都是无差别的时候,你的样本空间就是一类,大同了,无差别了, 空 了。 所以,色和空是相同的,都是这个距离阈值所带来的认知结果。 所以,色不异空,空不异色。
1742 次阅读|0 个评论
[转载]kmeans聚类方法opencv实现
a6657266 2012-3-5 15:31
感谢大侠们的热情帮助,从程序员网下下来了kmeans聚类方法opencv实现实例,很实用,也很受用,作为科研笔记记录于本博客中。 void main() { IplImage* img=cvLoadImage("sample.bmp");//加载图像,图像放在Debug文件夹里,这里是相对路径 cvNamedWindow( "原始图像", 1 ); //创建窗口 cvShowImage( "原始图像", img ); //显示图像 cvWaitKey(0); //等待按键 int i,j; CvMat *samples=cvCreateMat((img-width)*(img-height),1,CV_32FC3);//创建样本矩阵,CV_32FC3代表32位浮点3通道(彩色图像) CvMat *clusters=cvCreateMat((img-width)*(img-height),1,CV_32SC1);//创建类别标记矩阵,CV_32SF1代表32位整型1通道 int k=0; for (i=0;iimg-width;i++) { for (j=0;jimg-height;j++) { CvScalar s; //获取图像各个像素点的三通道值(RGB) s.val =(float)cvGet2D(img,j,i).val ; s.val =(float)cvGet2D(img,j,i).val ; s.val =(float)cvGet2D(img,j,i).val ; cvSet2D(samples,k++,0,s);//将像素点三通道的值按顺序排入样本矩阵 } } int nCuster=2;//聚类类别数,自己修改。 cvKMeans2(samples,nCuster,clusters,cvTermCriteria(CV_TERMCRIT_ITER,100,1.0));//开始聚类,迭代100次,终止误差1.0 IplImage *bin=cvCreateImage(cvSize(img-width,img-height),IPL_DEPTH_8U,1);//创建用于显示的图像,二值图像 k=0; int val=0; float step=255/(nCuster-1); for (i=0;iimg-width;i++) { for (j=0;jimg-height;j++) { val=(int)clusters-data.i ; CvScalar s; s.val =255-val*step;//这个是将不同类别取不同的像素值, cvSet2D(bin,j,i,s);//将每个像素点赋值 } } cvNamedWindow( "聚类图像", 1 ); //创建窗口 cvShowImage( "聚类图像", bin ); //显示图像 cvWaitKey(0); //等待按键 cvDestroyWindow( "原始图像" );//销毁窗口 cvReleaseImage( img ); //释放图像 cvDestroyWindow( "聚类图像" );//销毁窗口 cvReleaseImage( bin ); //释放图像 }
12654 次阅读|0 个评论
多维度多层次的聚类是发现关系的重要手段(1)
热度 2 zilu85 2011-7-2 15:12
传统的聚类是单维度的,称作单向聚类, 即只对行(对象)或者列(属性)进行聚类,不能对行和列同时进行聚类。如对高频的词或者高被引的论文根据它们共现或同被引聚类,只是把词或者论文进行了聚类。 双向聚类 (biclustering, 又称 subspace clustering, coclustering, direct clustering) 是对矩阵的行与列同时进行聚类 ,即可以对聚类对象和聚类的属性同时聚类。 双向聚类这一概念是由 Hartigan 于 1971 年提出, 也称之为块聚类。 2000 年由 Yizong Cheng 和 George M . Church 将其引入到基因表达谱的分析中 。 在基因表达数据中只有某些基因(行)参与待考察的生物学过程(列);且只有在某些条件下才会发生待考察的生物学过程,因此,其目标是找出在某些条件(列)下参与调控的基因(行)聚类,或者是与某些基因(行)相关联的条件(列) 。一般而言,生物信息学研究中可以分为对基因的聚类和对样本的聚类。基于 基因的聚类 (gene-based clustering) 以基因作为聚类的对象,将样本作为基因的特征。通过基因聚类,可以发现表达模式类似的基因,即共表达的基因 (coexpressed gene) 。 由于在同一聚类的基因大都具有相同的功能,因此可以根据聚类中已知基因的功能推断某些未知基因的功能;与基于基因的聚类不同,基于样本的聚类 (sample-based clustering) 是以基因为特征,以样本作为聚类对象 . 通过样本聚类,可以发现样本的显性结构 (phenotype structure) ,自动地对病理特征或实验条件进行分类。 更重要的是可以通过样本聚类找出与其相关的基因,从而发现不同病理特征或实验条件下基因调控机制 。而 双向聚类法可同时使用样本和基因来提取它们的联合信息, 其目标是找出在某些条件下参与调控的基因聚类和与某些基因相关联的条件 。 双向聚类可以看作一种“局部的”聚类 , 即 由一部分基因确定样本集合或由一部分样本确定基因集合, 通常采用贪婪迭代检索的方法来发现子矩阵或稳定的类 。 双向聚类 方法在文献计量学领域有广阔的运用前景。例如,对高被引论文和引用文献的双向聚类可以反映出被引文献和引用文献的对应关系,甚至是同时实现同被引聚类分析和基于高被引论文的引文耦合分析,作者合著(或单位合作)与相应文献的双向聚类分析可以反映出作者 ( 单位 ) 合作的具体论文和成果,等等。
个人分类: 生物医学文本挖掘|11399 次阅读|2 个评论
NTsys实现聚类分析及树状图的绘制
热度 6 zjlcas 2011-4-2 02:58
NTsys实现聚类分析及树状图的绘制
注意:聚类分析和树状图在R软件中能够十分方便的实现,而在NTsys中实现的过程较为复杂。但由于NTsys软件是图形界面操作的,这里仍然列出相应的操作步骤,以供同仁参考。 以下内容 首次发表在planta论坛 NTsys 可以处理质量性状与连续数量性状,并据此计算多种距离矩阵,根据距离矩阵采取适当的聚类方法得到聚类图。 每一个运算步骤,均有相应的模块执行,需要做的只是选择相应的参数。 以UPGMA法为例 对于数量性状,常遵循以下步骤: 1 矩阵的制作 操作:在Excel里,按照 NTsys 的要求面做好矩阵。 第1行第1个数字一般填1,代表要处理的数据为数字矩阵。 第1行第2个数字填行数,第3个数字填列数。 第1行第4个数字,如果有缺失值填1,没有缺失值填0.当然最好不要有缺失值。 第2行 按照顺序填写每一列的名称。第2行的定格要空出来。 第3行 开始才是正式的数据矩阵。从第3行开始,第1列作为要操作的单元名称。 数据准备好后,一般要存为Excel97格式。 再用ntedit打开,查看是否有错误,如果没有错误,建议另存为“.nts”格式的文件,如data.nts. 2 矩阵的标准化,数据标准化的是为了便于数据的横向比较。 操作:采用左侧outputTransf. 栏下的Standardization模块. 一般是将数据减去算术平均值,并除以标准差,转换为N(0,1)分布。 3 计算距离矩阵 操作:采用左侧Similarity 栏下的 Interval data模块(又称simint),默认为平均分类距离(Average taxonomic distance)。 其公式可以参考帮助文件。 当然,有多种距离可供选择: 如: Bray-Curtis distance. DIST Average taxonomic distance. DISTSQ Squared average distances. EUCLID Euclidean distances. EUCLIDSQ Euclidean distances squared. MANHAT Average Manhattan distances (city block). PSHAPE Penrose's shape coefficient. PSIZE Penrose's size coefficient. CORR Pearson product-moment correlation. 4 依据第3步计算出的距离矩阵,进行聚类分析,计算聚类树矩阵。 操作:点击左侧Clustering栏下的 SAHN模块,默认为UPGMA。 也有多种算法可以选择。这里采用UPGMA. 5 将第4步计算出的聚类树矩阵,和第三部计算的距离矩阵进行比较,进行Mantel检测,计算协表距离矩阵,及相关性系数。以表示该聚类树对原始距离矩阵的代表程度。 操作: 点击左侧Graphics栏下的 Matrix comparison plot输入聚类树矩阵与距离矩阵,运行即可。 6 绘制聚类树图 操作: 点击左侧Graphics栏下的 Tree plot,选择聚类树距离文件,就可做出聚类结果图。 当然,一步一步操作非常麻烦,所以建议最好用批处理命令进行。 批处理命令脚本的编写: "为注释行 *为命令行 “*”后紧跟模块名称, "o"为要读取的文件,"r"为运行后的结果存储的文件 另有多种参数。 对数量性状进行聚类分析,采用UPGMA方法的批处理代码如下: " Standardize the variables *stand o=data.nts r=sdata.nts " Compute a distance matrix *simint o=sdata.nts r=dist.nts c=dist " Do a single-link cluster analysis of the distance matrix *sahn o=dist.nts r=tree.nts " Compute cophenetic values *coph o=tree.nts r=coph.nts " Compute the cophenetic correlation *mxcomp x=coph.nts y=dist.nts " Display phenogram *tree o=tree.nts " Display distance matrix *output o=dist.nts 将以上脚本复制到记事本中,将扩展名改为.ntb文件,就可执行批处理命令了。 下载相应的文档和软件 ntsys.rar NTsys软件进行聚类分析UPGMA.pdf 聚类树状图 举例 附录 NTsys进行主成分分析的脚本 主成份分析的散点图 ntsys 目前可以绘制三维的散点图 " Standardize variables (rows) *stand o=data.nts r=sdata.nts " Compute correlations among variables (rows) *simint o=sdata.nts c=corr r=corr.nts d=row " Output the correlation matrix *output o=corr.nts " Extract first 3 PCA axes from correlation matrix *eigen o=corr.nts n=3 r=vect.nts val=val.nts " Output principal component axes *output o=vect.nts " Project objects onto PCA axes *proj o=sdata.nts d=col f=vect.nts r=proj.nts " Output projections *output o=proj.nts " Display 3D plot of projection of objects *mod3d o=proj.nts " Display 3D plot of variables defining the PCA axes *mod3d o=vect.nts d=col
个人分类: 统计分析|34125 次阅读|16 个评论
CLUTO说明书节译
热度 4 zilu85 2010-12-24 12:34
一个聚类分析的软件,发现有些文本聚类的论文采用这个软件。 个人感觉它的优点是:1.对行和列同时聚类;2.提供对类别的描述;3.对聚类效果有评价比较的参数,如类内相似度,类间相似度等。 它的图形化版本就是gCLUTO。 概述 聚类算法把数据分成有意义或者有用的组,称之为类别(Clusters),从而达到使组内相似性最大,组间相似性最小的目标。所发现的这些类别可以用来解释基本数据分布的特征,由此为各种数据挖掘和分析技术提供基础。聚类技术可以用于对各种顾客人群按照他们购物方式来提取特征,对WWW上的文献进行分类,把具有相似功能的基因和蛋白质分为一组,从地震学的数据中把有地震倾向的空间区域分组。 CLUTO是个什么东西? CLUTO是一个聚类低维和高维数据集的软件包,用于分析各种类别的特征。CLUTO提供三种聚类算法,既可以直接在聚类对象的特征空间上直接聚类,也可以按照对象的相似空间来聚类。这些算法为基于切分的、基于凝聚的和基于图形切分的。大多数CLUTO算法的关键之处在于它们把聚类问题当做了寻找特定聚类标准函数最大值或最小值的优化过程,这种函数既可以是整个聚类解空间全局的也可以是局部的。CLUTO总共提供7种标准函数,用于切分和凝聚聚类算法。文献6,5有其详细描述。已经证明大多数标准函数可以在高维度数据集,尤其是文本聚类中的数据集中,产生高质量的聚类解。除了这些标准函数,CLUTO还提供一些传统的局部标准(如最小距离、最大距离和UPGMA),用于凝聚聚类。另外,CLUTO提供了基于图形分割的聚类算法,特别适用于发现跨越基本特征空间中的不同维度的连接成片(相互接壤)的类别。基于切分的函数驱动的聚类算法的一个重要方面就是用于优化这个标准函数的方法。CLUTO利用随机递增优化算法,具有贪婪性质,计算要求低,显示出产生高质量聚类解。CLUTO的基于图形切分的聚类算法利用了衍生于METIS和hMETIS的图形和超图切分算法的高质量有效的多层图形切分算法。CLUTO还提供了分析获得的类别的工具,帮助理解分到各个类别中对象间的关系;还有对聚类结果进行可视化表达的工具。CLUTO可以辨认出最适合描述和/或区分各个类别的特征属性。通过这些特征属性集合可以更好地了解被分类到各个类别中的对象,对类别的内容提供总结。还有,CLUTO还提供可供观看类别之间、对象之间和属性之间关系的可视化功能。CLUTO的算法对于超大型的数据集合表现很理想,所谓大型是指对象的数目以及维度的数目上很大。这些对于切分聚类的CLUTO算法尤其成立。这些算法可以对有上千个维度的数万对象快速地聚类。更多的,由于大多数高维数据集都是很稀疏的,CLUTO直接很重视这种稀疏性质以及对内存的要求(与输入大小呈线性关系)。CLUTO的发布采用了独立程序(vcluster and scluster)来聚类和分析这些类别,同时也采用了程序库的形式,通过程序库应用程序可以直接采用CLUTO中的各种聚类和分析算法。 该软件可以免费下载: http://glaros.dtc.umn.edu/gkhome/cluto/cluto/overview
个人分类: 休闲|15102 次阅读|7 个评论
【R高级教程】专题一:表达谱芯片的聚类分析
热度 9 zhumengjin 2010-12-18 14:05
【在 国际上, R 软件的应用是数据分析的主流发展趋势之一,但 我发现在国内 R 软件的使用远不如 SPSS、SAS 等软件那么流行 。 为推广 R 软件的使用,本博客将陆续推出 R 高级教程 系列专辑,希望对生命科学领域的科技工作者有少许帮助..... .】 通常来讲,对于一般的统计分析,基于傻瓜式操作的 SPSS(PASW) 软件已经足够,但在涉及个性化要求很高的复杂数据处理时, SPSS 就开始显得力不从心,这时必须依赖功能更为强大的 SAS 等软件。以前在自己的科研过程中分析数据多用 SPSS、SAS 等。在统计遗传和基因组学领域,SAS可以处理很多问题,但与此同时,SAS实现复杂问题过于麻烦,很多问题SAS也不是首选。后来开始运用R环境中的各种免费统计包,特别是 Bioconductor的系列分析包 ,我发觉非常适合生命科学领域的研究者。 R有很多优点: (1)免费,不需要去寻找破解版,不用担心版权问题,使用非常方便; (2)功能非常强大,单个包的功能比较有限,但多个包组合起来使用则功能无比强大,远胜于 SPSS、SAS 等; (3)源代码开放,稍作修改后就能满足个性化的复杂统计分析,满足个性化需求是R的最大特点之一; (4)程序阅读容易,再加上参考学习资料很多,上手比较容易,提高也不是很难,根据个人经验,要比 SAS 高级阶段的进阶容易许多; (5)国际同行高度认同R,我发现很多专用软件都开发了软件的R版,今后R将是数据分析的主流发展方向。 R软件的安装、基本使用等初级教程就不谈了,随便在官方网站找个学习资料就搞定了。R系列专辑拟推出中级、高级分析教程。今天推出基因表达谱芯片的聚类分析专题。 本专题示例芯片数据来自 GEO 数据库中检索号为 GSE11787 的 Affymetrix 芯片的 CEL 文件,共6个 CEL 文件,3个正常对照组,3个H PS 刺激组,为免疫器官脾脏的表达数据 。 (一)原始数据的读入、 RNA 降解评估和标准化 pd - read.AnnotatedDataFrame(Target.txt,header=TRUE,row.names=1,as.is=TRUE) rawAffyData - ReadAffy(filenames=pData(pd)$FileName, phenoData=pd) summary(exprs(rawAffyData)) deg - AffyRNAdeg(rawAffyData) plotAffyRNAdeg(deg, col=c(1,2,3,4,5,6)) eset - rma(rawAffyData) summary(exprs(eset)) op - par(mfrow=c(1,2)) cols - brewer.pal(6, Set3) boxplot(rawAffyData,col=cols,names=1:6, main = unnormalized.data) boxplot(data.frame(exprs(eset)) ,names=1:6, main = normalization.data, col=blue, border=brown) par(op) (二)聚类分析 原始数据读入,经 AffyBatch 目标转成 ExpressionSet 目标后,为提高后续分析(如差异表达基因的检测)的统计功效,往往需要进一步经过 Detection Call Filter 和 IQR filter 等过滤(基因芯片数据的特异性过滤与非特异性过滤将在另一专题里专门讨论)。 需要说明的是,常规做法是先筛选出差异表达基因,然后只用差异表达基因进行聚类分析(本示例直接用了过滤后的数据集,聚类图的效果稍差一点)。 (1)样本聚类 dd - dist2(log2(exprs(eset2))) diag(dd) - 0 dd.row - as.dendrogram(hclust(as.dist(dd))) row.ord - order.dendrogram(dd.row) library(latticeExtra) legend - list(top = list(fun = dendrogramGrob, args = list(x = dd.row, side = top))) lp - levelplot(dd , scales = list(x = list(rot = 90)), xlab = , ylab = , legend = legend) plot(lp) (2)二维聚类 source( http://faculty.ucr.edu/~tgirke/Documents/R_BioCond/My_R_Scripts/my.colorFct.R ) mydata-exprs(eset2) mydatascale - t(scale(t(mydata))) hr - hclust(as.dist(1-cor(t(mydatascale), method=pearson)), method=complete) hc - hclust(as.dist(1-cor(mydatascale, method=spearman)), method=complete) heatmap.2(mydata, Rowv=as.dendrogram(hr), Colv=as.dendrogram(hc), col=redgreen(75), scale=row, ColSideColors=heat.colors(length(hc$labels)), RowSideColors=heat.colors(length(hr$labels)), trace=none, key=T) 上述聚类图一般和论文里的聚类图有点不同,聚类的模式不太直观,你也可以用下面的语句进行更直观的作图: mycl - cutree(hr, h=max(hr$height)/1.5); mycolhc - sample(rainbow(256)); mycolhc - mycolhc myc2 - cutree(hc, h=max(hc$height)/1.5); mycolhr - sample(rainbow(256)); mycolhr - mycolhr heatmap(mydatascale, Rowv=as.dendrogram(hr), Colv=as.dendrogram(hc), col=my.colorFct(), scale=row, ColSideColors=mycolhr, RowSideColors=mycolhc) (3)MantelCorrs聚类程序 kmeans.result - GetClusters(eset2, 500, 100) x=exprs(eset2) DistMatrices.result - DistMatrices(x, kmeans.result$clusters) MantelCorrs.result - MantelCorrs(DistMatrices.result$Dfull,DistMatrices.result$Dsubsets) permuted.pval - PermutationTest(DistMatrices.result$Dfull, DistMatrices.result$Dsubsets,100, 16, 0.05) ClusterLists - ClusterList(permuted.pval, kmeans.result$cluster.sizes,MantelCorrs.result) ClusterGenes - ClusterGeneList(kmeans.result$clusters, ClusterLists$SignificantClusters,eset2) h=hclust(dist(MantelCorrs.result)) plot(h) 【注:除 Bioconductor 图标外,所有图片均为软件实际运行所得】
个人分类: 科研时评|28974 次阅读|13 个评论
专题介绍——SPSS聚类分析和因子分析(2010.10.10)
热度 2 mafeicheng 2010-10-29 13:54
专题介绍人:傅柯萌 SPSS ( Statistical Product and Service Solutions ),统计产品与服务解决方案软件 . 如今 SPSS 已出至版本 18.0 ,而且更名为 PASW Statistics 一、 数据录入 1 、定义数据文件的格式,单击 variable view ,切换到变量视图 2 、变量名的规则 3 、常用变量类型( 1 ) Numeric :可以标准或科学记数法显示数字 ( 2 ) String :字符型不能用于数值计算。用户可在定义的长度范围内输入任意字符,且可以区分字母的大小写,也可支持文字数字混排 4、 单击 data view ,回到数据视图,依次输入数据 二、聚类分析 1 、定义:根据事物本身的特性研究个体分类的方法,原则是同一类中的个体有较大的相似性,不同类中的个体差异很大。 2 、步骤:在 Analyze Classify 下: ( 1 ) K-Means Cluster : 观测量快速聚类分析过程 ( 2 ) Hierarchical Cluster :分层聚类(进行观测量聚类和变量聚类的过程) ( 3 ) Discriminant :进行判别分析的过程 3 、分层聚类:又称系统聚类,是按物以类聚原则研究事物的分类。根据样本(观测量)的多指标(变量)、多个观察数据、定量地确定样本、指标之间存在的相似性或亲疏关系,据此联结这些样本或指标归成大小类群,构成分类的树状图( Dendrogram )或冰柱图( Icicle ) 根据分类对象的不同,分为样本(观测量)聚类和变量聚类两种: ( 1 )样本聚类( Q 型聚类):对观测量 (Case) 进行聚类(不同的目的选用不同的指标作为分类的依据,如选拔运动员与分课外活动小组) ( 2 )变量聚类( R 型聚类):是一种降维的方法,用于在变量众多时寻找有代表性的变量,以便在用少量、有代表性的变量代替大变量集时,损失信息很少 . 4 、 Cluster method : ( 1 ) Between-groups linkage :类间平均法 ;( 2 ) Within-groups linkage :类内平均法 ;( 3 ) Nearest neighbor :最短距离法;( 4 ) Furthest neighbor :最长距离法;( 5 ) Centroid clustering :( 6 )重心聚类法( measure 用 euclidean 距离法);( 7 ) Median cluster :中位数聚类法 ;( 8 ) wards method :离差平方和法 5 、 Measure-interval : ( 1 ) squared uclidean distance 平方欧式距离;( 2 ) uclidean distance 欧式距离;( 3 ) cosine 夹角余弦 (R 型 ) ;( 4 ) pearson correlation 皮尔逊相关系数 ;( 5 ) chebychev 切比雪夫距离 ;( 6 ) block 绝对值距离;( 7 ) minkowski 明考斯基;( 8 ) customized 自定义距离 变量聚类( Q 型聚类):与 R 型聚类唯一不同之处在于距离测量的方法选择上,只能选择 cosine 夹角余弦和 pearson correlation 皮尔逊相关系数 三、 聚类分析操作演示 分层聚类步骤(总结) ( 1 )选择 measure 测量样本之间的距离,以 Proximity matrix (相似性矩阵)呈现结果 ( 2 )根据样本间的距离,选择 method 进行聚类分析,以凝聚图、冰柱图或柱状图呈现聚类过程 四、因子分析 1 、因子分析基本概念: ( 1 )因子载荷:在各个因子变量不相关情况下,因子载荷 aij 就是第 i 个原有变量和第 j 个因子变量的相关系数,即 xi 在第 j 个公共因子变量上的相对重要性。 ( 2 )公共方差:反映全部公共因子变量对原有变量 xi 的总方差解释说明比例。 ( 3 )公共因子的方差贡献:反映该因子对所有原始变量总方差的解释能力,其值越高,说明因子重要程度越高。 2、 因子分析基本步骤 ( 1 )确定待分析的原有若干变量是否适合因子分析。如果原始变量都本质上独立,那么降维就可能失败,这是因为很难把很多独立变量用少数综合的变量概括。数据越相关,降维效果就越好 ( 2 )构造因子变量 ( 3 )利用旋转使得因子变得更具有可解释性 ( 4 )计算因子变量得分 3 、 Correlation matrix (相关系数矩阵) ( 1 ) Coefficients (系数矩阵):大部分系数低于 0.3 ,不适合进行因子分析 ( 2 ) Significance levels (显著性水平):显示相关系数的单侧显著性水平 ( 3 ) Determination (相关系数矩阵行列式值) ( 4 ) Inverse (逆相关系数矩阵) ( 5 ) Reproduced (再生相关系数矩阵):因子分析的估计相关系数矩阵,显示残缺值 ( 6 ) anti-image (反映像相关系数矩阵与反映像协方差矩阵):反映像相关系数矩阵中有些元素的绝对值较大,则不适合因子分析 ( 7 ) KMO and Bartletts test of spherucity ( KMO 抽样适度测定值与 Bartlett 球形检验值): KMO 在 0.7 以上都适合因子分析; B 巴特利球形检验值较大,相伴概率值越小,适合用于因子分析 五、因子分析操作演示
个人分类: 读书会之专题介绍|14417 次阅读|2 个评论
[转载]新书推荐:Cluster Analysis, 5th Edition
timy 2010-10-14 11:38
From: http://as.wiley.com/WileyCDA/WileyTitle/productCd-0470749911,descCd-description.html       Larger Image                 Cluster Analysis, 5th Edition Brian S. Everitt , Dr Sabine Landau , Dr Morven Leese , Dr Daniel Stahl ISBN: 978-0-470-74991-3 Hardcover 336 pages March 2011 Wiley List Price: US $95.00          Description    This edition provides a thorough revision of the fourth edition which focuses on the practical aspects of cluster analysis and covers new methodology in terms of longitudinal data and provides examples from bioinformatics. Real life examples are used throughout to demonstrate the application of the theory, and figures are used extensively to illustrate graphical techniques. This book includes an appendix of getting started on cluster analysis using R, as well as a comprehensive and up-to-date bibliography.    Table of Contents     Preface Acknowledgement 1 An introduction to classification and clustering 1.1 Introduction 1.2 Reasons for classifying 1.3 Numerical methods of classification - cluster analysis 1.4 What is a cluster? 1.5 Examples of the use of clustering 1.6 Summary 2 Detecting clusters graphically 2.1 Introduction 2.2 Detecting clusters with univariate and bivariate plots of data 2.3 Using lower-dimensional projections of multivariate data for graphical representations 2.4 Three-dimensional plots and trellis graphics 2.5 Summary 3Measurement of proximity 3.1 Introduction 3.2 Similarity measures for categorical data 3.3 Dissimilarity and distance measures for continuous data 3.4 Similarity measures for data containing both continuous and categorical variables 3.5 Proximity measures for structured data 3.6 Inter-group proximity measures 3.7 Weighting variables 3.8 Standardization 3.9 Choice of proximity measure 3.10 Summary 4Hierarchical clustering 4.1 Introduction 4.2 Agglomerative methods 4.3 Divisive methods 4.4 Applying the hierarchical clustering process 4.5 Applications of hierarchical methods 4.6 Summary 5Optimization clustering techniques 5.1 Introduction 5.2 Clustering criteria derived from the dissimilarity matrix 5.3 Clustering criteria derived from continuous data 5.4 Optimization algorithms 5.5 Choosing the number of clusters 5.6 Applications of optimization methods 5.7 Summary 6Finite mixture densities as models for cluster analysis 6.1 Introduction 6.2 Finite mixture densities 6.3 Other finite mixture densities 6.4 Bayesian analysis of mixtures 6.5 Inference for mixture models with unknown number of components and model structure 6.6 Dimension reduction - variable selection in finite mixture modelling 6.7 Finite regression mixtures 6.8 Software for finite mixture modelling 6.9 Some examples of the application of finite mixture densities 6.10 Summary 7Model-based cluster analysis for structured data 7.1 Introduction 7.2 Finite mixture models for structured data 7.3 Finite mixtures of factor models 7.4 Finite mixtures of longitudinal models 7.5 Applications of finite mixture models for structured data 7.6 Summary 8Miscellaneous clustering methods 8.1 Introduction 8.2 Density search clustering techniques 8.3 Density-based spatial clustering of applications with noise 8.4 Techniques which allow overlapping clusters 8.5 Simultaneous clustering of objects and variables 8.6 Clustering with constraints 8.7 Fuzzy clustering 8.8 Clustering and artificial neural networks 8.9 Summary 9Some final comments and guidelines 9.1 Introduction 9.2 Using clustering techniques in practice 9.3 Testing for absence of structure 9.4 Methods for comparing cluster solutions 9.5 Internal cluster quality, influence and robustness 9.6 Displaying cluster solutions graphically 9.7 Illustrative examples 9.8 Summary Bibliography Index
个人分类: 机器学习|4035 次阅读|0 个评论
感兴趣的另类小软件
热度 5 zilu85 2010-9-24 11:44
tagxedo: www.tagxedo.com ,应该是词频统计的,没打开。 wordle: www.wordle.net ,应该是词频统计可视化,但是也没打开。通过这个学到一个新词,词云, word cloud。 vosviewer: http://www.vosviewer.com/ ,这个是共现可视化。 CiteSpace: http://cluster.cis.drexel.edu/~cchen/citespace/ ,这个目前在国内很流行,可是说明书不好,具体的内部算法(如突发词,前沿的定义)也是一家之言,如果你认可这种算法,就放心地用。 TI.exe: http://www.leydesdorff.net/software/chinese/index.htm ,共现分析软件,来自 Loet Leydesdorff 的网站,甚至有中文版,没用过。 BIBEXCEL : http://www8.umu.se/inforsk/Bibexcel/ 共现矩阵生成软件,在科学网的博客里已经介绍很多了。 gCLUTO: http://glaros.dtc.umn.edu/gkhome/cluto/gcluto/download ,双向聚类分析。 Cluster: http://bonsai.hgc.jp/~mdehoon/software/cluster/,聚类分析
个人分类: 休闲|7898 次阅读|6 个评论
不能用SPSS分析共现矩阵
热度 2 zilu85 2010-5-26 11:39
共现分析中矩阵的种类:无论是同被引聚类分析,还是词共现聚类分析,都要把相应的矩阵输入到聚类分析软件中,比如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 http://glaros.dtc.umn.edu/gkhome/cluto/cluto/overview 2. Cluster Analysis and Visualization from Eisen Lab http://rana.lbl.gov/EisenSoftware.htm
个人分类: 生物医学文本挖掘|24831 次阅读|7 个评论
差异矩阵与SPSS层次聚类
热度 3 xiezilai 2010-4-19 17:25
背景知识: 聚类分析中有代表性的数据结构有两种,一种是数据矩阵(data matrix),用 p 个属性来表现 n 个对象,是 nXp 的矩阵;另一种是差异矩阵(dissimilarity matrix),存储 n 个对象两两之间的相似度,是 nXn 的矩阵。 前几天有个学生问我是否能用差异矩阵作为输入,选择spss中的Analyze-Classify-Hierarchical cluster来聚类。我的第一反应是不能,早已习惯了横轴是属性纵轴是对象的输入形式。可它能算出结果,并且很多文献上都是那样操作的,那学生这样告诉我。 能算出结果这一点不需要讨论,做数据分析的人都知道,蚯蚓数量与GDP之间存在相关性。上期刊网上搜索了一下,确实有很多核心期刊论文在分析时把差异矩阵(或相似矩阵)直接输入spss进行层次聚类,并且把聚类结果分析得头头是道。 这样做究竟对不对呢? 先来看一下spss中Hierarchical cluster操作。以表1中的数据输入为例,其计算步骤包括数据变换、对象之间的距离计算和层次聚类,计算结果就是把属性类似的对象归为一类。 表1:数据矩阵 对象 属性一 属性二 属性三 A X11 X12 X13 B X21 X22 X23 C X31 X32 X33 D X41 X42 X43 假如把差异矩阵(如表2,是一对称矩阵,表中数值表示两个对象的相异度)作为spss层次聚类的输入,由于程序是固定的,自然它依然会像对待数据矩阵那样进行数据变换、距离计算......那么,距离的距离是什么?结果如何? 表2 差异矩阵 A B C D A 0 D AB D AC D AD B D BA 0 D BC D BD C D CA D CB 0 D CD D D DA D DB D DC 0 把表3中的实际数据输入spss(参数选项默认,下同),结果见图1。很明显,聚类结果与期望是一样的:对象A、B、D比较相似,C与其他对象距离较远。这是否证明可以把差异矩阵作为spss层次聚类的输入呢?如果是,那其聚类结果特征又是什么? 表3:差异矩阵A A B C D A 0 0.1 0.8 0.1 B 0.1 0 0.8 0.1 C 0.8 0.8 0 0.8 D 0.1 0.1 0.8 0 图1 差异矩阵A的spss聚类结果 要回答这些问题,回头看表2中的数据。跟spss程序一样,把表中的列看成属性变量,那么对象A的属性向量就是(D AA ,D AB ,D AC ,D AD ),即把对象A、B、C、D看成空间中的4个点,对象A与它们的距离分布。同样,对象B的属性向量(D BA ,D BB ,D BC ,D BD )也是其与这4个参照点的距离分布。因此,此时对象A与对象B之间的距离已经不是原来的D AB ,而是向量(D AA ,D AB ,D AC ,D AD )与(D BA ,D BB ,D BC ,D BD )的差异,即与4个参照点的距离分布差异。 这样就很容易图1中计算结果的正确性了。以图2为例,对象A、B、D不仅距离较近,其距离分布(D AA ,D AB ,D AC ,D AC )、(D BA ,D BB ,D BC ,D BD )、(D CA ,D CB ,D CC ,D CD )跟对象D的距离分布(D DA ,D DB ,D DC ,D DD )相比自然也更为相似,所以被归成一类。同一类中的对象,在与所有对象的空间距离分布上更为类似,这在直观判断上是理所当然的。 图2 对象分布示例 但这是否说明可以将差异矩阵作为spss输入进行层次聚类呢?答案是否定的。以表4中的数据输入spss,结果见图3。很显然,这结果是不对的,因为表4中距离最近的是对象A和D,它们应该首先归为一类,而不应该是图3中的对象A和B。其错误的原因就是把距离的距离作为聚类条件,实质上是对原有距离的一种加权平均。在类间距离比较大的情况下将差异矩阵输入spss,有可能得到与数据矩阵输入相同的结果;但当类间距离不那么明显时,结果就很难预料。所以在选择spss进行层次聚类时,还是别把差异矩阵作为输入为好。 表4 差异矩阵B A B C D A 0 0.4 0.4 0.3 B 0.4 0 0.4 0.4 C 0.4 0.4 0 0.8 D 0.3 0.4 0.8 0 图3 差异矩阵B的spss聚类结果 如果手头的数据就是差异矩阵,那么选择什么工具来完成聚类呢?解决方法有:(1)自己写程序(嘿嘿,好像是废话);(2)用SAS软件(据说能接受差异矩阵输入,尚未尝试,欢迎有心人告诉我);(3)用matlab中的linkage函数(这个试过,结果正确,就是结果图形有点难看)。
个人分类: SPSS学习|17822 次阅读|8 个评论
R软件中如何进行群落聚类分析?
热度 5 zjlcas 2010-4-8 13:55
群落按照物种相似形组成进行聚类分析,可以用树状图较好的表现物种的组成关系。受到很多植被学家的重视。这里以R软件实现聚类分析为例。 如果按照物种组成的相似性做聚类分析,那么可以用Jaccard指数(经过转换的)。Jaccard指数只考虑物种在两个样方间是否重复出现,盖度在分析的过程中并不起什么作用。但是如果对乔木和灌木进行分析,就可以考虑个体的数量,计算样方物种组成的相似性的时候用Bray-Curtis指数。Jaccard指数和Bray-Curtis指数在众多生态学相关的程序包中都是可以计算的。下面说一下在R软件中,结合vegan程序包,对草本样方的物种组成进行聚类分析。 下面是在 R 中的具体操作过程: # 第一步 # 是矩阵的整理,建议先整理一下各样地的名录,成如下格式,再用 R 整理成物种矩阵。 plotname species plot1 sp1 plot1 sp2 plot1 sp3 plot1 sp4 plot1 sp5 plot2 sp1 plot2 sp3 plot3 sp4 plot3 sp2 plot3 sp6 plot3 sp7 ..... # 在 Excel 中,另存为 csv 格式,如存名称为 herbplots.csv 。 # 第二步 读取文件 herb.data - read.csv ( "D:/herb/herbplots.csv" , header = T ) # 第三步 转换为 矩阵 pre.matrix - table ( herb.data ) # 此时生成的矩阵,形式如下: plotname sp1 sp2 sp3 sp4 sp5 sp6 sp7 plot1 1 1 1 1 1 0 0 plot2 1 0 1 0 0 0 0 plot3 0 1 0 1 0 1 1 # 第四步 计算各样方的 Jaccard 距离 plot.dist - vegdist ( pre.matrix, method = "jaccard" ) # 距离矩阵为一个半矩阵,形式如下 plot1 plot2 plot2 0.6000000 plot3 0.7142857 1.0000000 # 第五步 使用 UPGMA 方法或者 Ward 法,对群落进行聚类 plot.hc - hclust ( plot.dist , "ave" ) # 绘图 plot ( plot.hc ) plot ( plot.hc, hang =- 1 ) # 转换为 dendrogram 之后绘图 dendro.plot - as.dendrogram ( plot.hc ) plot ( dendro.plot, horiz = T )
个人分类: 科研笔记|22109 次阅读|5 个评论
共现分析目前需要解决的问题以及主观上的经验
热度 3 zilu85 2010-2-20 11:35
共现分析越来越引起大家的兴趣,很多信息专业以外的研究人员也想利用这种方法分析自己学科领域的研究现状或者热点。因此,不断有人跟我探讨这个方法的具体使用问题,说实话,这个方法还在不断的完善之中,应用中有很多具体的问题还没有解决。所以,感觉应该把这个方法的一些弱点,或者说需要进一步完善的地方列举出来,同时也提出自己目前的解决方法,希望有更多的同道能一起探索解决的方法。按照共现聚类分析的顺序,列举存在的问题如下: 1. 分析样本数目的问题:就是用于分析的样本大小的确定,实际上是检索论文数目多寡的问题。根据我的经验,理想的境界是应该包括该领域或主题的所有论文,对于比较大的主题,我一般用软件进行随机抽样,对于一些比较小的主题,论文数应该不少于500篇。道理很明显,文献太少了,共现的偶然性就大,得出的结论就不可信,我们不能对着不可信的结果信口开河。当然,这和你分析的对象是以篇为单位(如论文、引文)、还是一篇文章有多个共现的项目(作者、被引作者主题词有关系。一般我愿意以3000-5000篇作为分析的样本。 2. 高频阈值的确定问题:一般是用出现或者被引用频次高于某个阈值的项目作为下一步分析(共现矩阵和聚类分析)的对象,如高频主题词,高被引论文、高产作者、高被引作者、高被引期刊等等。阈值的选取还是一个样本量的问题,样本太大,最后得到的聚类结果会很庞杂,对各个类别的主题就不好分析和抽取,如果样本太小,得到的主题结构过于泛泛,没有新鲜的内容,比如有人曾经告诉我,分析出来肺结核病研究的热点是肺结核的诊断,肺结核的治疗。没有更细致的信息得到的结果就没有什么意义了。对这个问题国内外也有过研究,主要是检验起来比较麻烦。习惯性地有人愿意套用布拉德福定律的方法,用百分比来确定阈值,但是受到主题范围和发展程度等因素的影响,这个方法确定的高频词不是那么稳定,有的时候高频词很多至几百个,有的时候又很少,似乎应该有一个全面的调查。还有就是有人用HIT 曲线试图解决这个问题,这似乎也是一个思路。再有就是拿最后的聚类分析结果的质量好坏来评价阈值选取的方法。目前,我个人比较喜欢30-40左右的高频词或者高被引论文来分析。 3. 聚类分析方法的问题:从大的方面来说,有凝聚的方法和拆分的方法,比如在SPSS软件中可以用系统聚类方法,也可以用K-means快速聚类方法,我们一般使用比较简单直观的系统聚类方法,因为我们比较注重共现主题词之间的语义关系分析,所以愿意知道凝聚过程的先后顺序。但是,最近看到文章说,有人专门进行过研究,说是快速聚类的效果要优于系统聚类。这个有待于深入调查。另一方面,从具体的细节来说,还有相似系数的选择问题,很多国外的研究似乎用皮尔逊相关系数,而我们多年来一直用Ochiia相似系数,因为我们最开始是同被引聚类分析,从原理上看,我们认为这个系数是最合理的,就是两篇被引论文同被引次数做分子,两篇论文各自被引的总次数的乘积做分母,不用考虑没有引用这两个论文的其他论文,这些论文数量是相当地庞大。还有的是类与类聚合时候采用的方法:最大距离法,最小距离法,平均距离法重心法等等。一般我们是根据主题范围的大小确定这些方法的选择,比较细小专深的题目,我们采用最大距离法,把这些主题或者论文的类别尽量拉大距离,划分清楚;对于比较大和分散的主题,我们用最小距离法让各个类别之间尽量聚集到一起。 4. 聚类结果的解释问题:我们目前是通过人工阅读发现聚类项目之间的语义关系,这有很大的主观性,受到分析人员的专业水平和综合抽象能力的影响。国内外有一些对类别的主题进行识别的研究,有人提出主题词的粘滞度,有人从文章中抽取句子代替论文然后组成这个类的标签,有人提出用HITS算法,涉及到文本分类问题,又受到分类合理性检验问题的困扰,结果都不是令人满意,窃以为这又是一个比较有前景的研究方向。 总之,所依赖的主要原理一个是共现,一个是聚类分析。由于聚类分析本身就是一个无监督的方法,多数情况下要靠经验积累才能找到比较好的聚类途经和聚类结果的解释。上面列举的只是实践中遇到的主要问题,具体实践中恐怕还有遇到很多问题。
个人分类: 生物医学文本挖掘|7379 次阅读|4 个评论
文献共现分析入门
热度 1 zilu85 2010-2-3 08:46
1. 分类号、主题词与关键词 在信息管理领域中,对文献内容的标识主要采用分类语言和主题语言。 分类语言,也称分类法,是用分类号来表达主题概念,这些分类号来自于事先编制好的分类表,而分类表则是依据知识原有的体系结构将主题概念组织排列成为类目体系(如图书馆里采用的《中国图书馆图书分类法》),比如将医学知识分为医学总论、预防医学、中医学、基础医学和临床医学等几个大类别,临床医学有进一步分为内科、外科、妇科、儿科等更细的类目,如同一棵大树,将医学知识逐级分支、细化。信息管理人员在处理文献时,首先分析文献的主要内容,然后在分类表中找到对应的类目后赋予其相应的分类号。图书馆的读者在查询相应类别的图书或者文章的时候就可以沿着知识分类的体系找到对应的类目,由此找到相关主题的文献。 主题语言是一种用比较规范了的文字直接表达主题概念的标引语言。主题语言可以进一步分为标题词、单元词、主题词、关键词等,其中最常见的是主题词和关键词。主题词就是一些以概念为基础的、经过规范化的词和词组,而关键词则是从文献的题目、正文或摘要中抽出的能表征文献主题内容的具有实质意义的词语。二者最大的区别就是主题词是规范化的,一个概念只能对应与一个主题词,一个主题词只能对应一个概念;而关键词则是来自于作者的自然语言,在不同的文献中,一个概念可以有不同的表达方式(如一种药物在不同作者的论文中可以用其商品名、化学名和常用名),有时一个关键词可能表达多个概念(如P53可以是基因或者蛋白)。 2.频次排序分析 对作者、期刊和引文的统计分析,可以帮助我们从一个侧面了解某个研究主题的状况;而主题词和关键词作为文献数据库中反映论文的主要观点的标识,对其汇总和统计分析,则可以直接反映出研究的结构和趋势。 对于这些指标的分析中,我们比较常用的统计分析技术就是频次排序技术。就是将被统计的对象(如作者、期刊和主题词)都按照它们出现的频次从高到低排序,由此发现其中的规律。如布拉德福定律就是将期刊按照发表相关论文的数目从高到低排列,洛特卡定律的研究也是把作者按照发表论文的数目从高到低排列,由此发现了集中-离散的规律。 对于主题词或者关键词,也可以采用这种技术进行分析。例如,我们可以从PubMed数据库中检索到所有有关胃癌治疗的相关文献记录,抽取每篇论文的主题词,然后进行频次统计(如表10-5)。 这些主题词是所检索时间段内(本例为2009年 9月13日检索的最近5年的胃癌治疗文献)出现频次最多的主题词,如胃肿瘤的手术治疗、胃肿瘤的药物治疗、联合化疗方案的应用、胃切除的方法、胃肿瘤的病理等,这些都是当前胃癌研究人员最为关注的主题,因此也是近一阶段研究的热点。 表1 胃癌/治疗高频主题词列表(部分) 序号 关键字段 出现频次 百分比% 累计百分比% 1 Stomach Neoplasms / surgery 1440 9.7813 9.7813 2 Stomach Neoplasms / drug therapy 1324 8.9933 18.7746 3 Antineoplastic Combined Chemotherapy Protocols / therapeutic use 651 4.4220 23.1966 4 Gastrectomy / methods 366 2.4861 25.6827 5 Stomach Neoplasms / pathology 354 2.4046 28.0872 6 Stomach Neoplasms / therapy 328 2.2280 30.3152 7 Adenocarcinoma / drug therapy 321 2.1804 32.4956 8 Adenocarcinoma / surgery 289 1.9630 34.4586 9 Gastrectomy 214 1.4536 35.9122 3. 共现分析 通过对高频主题词的词频统计分析,我们可以了解到目前某一专题领域里研究的热点。但是,仅仅对这些主题词按照出现频次由高到低的排列还不能表现出这些高频主题词之间的联系,因此我们可以采用共现分析的技术来进一步挖掘这些主题词之间的联系。主题词的共现分析是根据主题词在同一篇论文中共同出现的次数来表示主题词之间的联系。一般认为,如果两个主题词频繁在同一篇论文中同时出现,往往表明这两个主题词之间具有比较密切的联系。这就是共现分析的理论基础。 在MEDLINE数据库中存储的每一条纪录都被标引10个左右的主题词以及相应的副主题词,尽管在同一篇文章中出现的主题词之间没有明确的关系,但是我们还是可以通过分析这些主题词出现的具体情形(如检查每个主题词的副主题词)而推理出这些主题词之间的关系。例如,如果MEDLINE数据库的一篇文献记录中有x疾病的病因和Y药的副作用这两个主题词,人们自然会想到Y药引起了x病。通过查看原文就可以验证疾病和药物之间这种关系的有效性。因此,我们可以认为这些关系具有语义学上的意义。 对于代表研究热点的高频主题词统计它们共现次数后,可以形成一个高频主题词的共现矩阵。如表2。其中的行和列的数字代表主题词,与表1中的主题词序号对应,如1代表的是Stomach Neoplasms/surgery;矩阵中对角线的数字代表该主题词出现的总次数,非对角线上的数字表示的是两个主题词共同出现的次数,如1号与2号主题词共同在60篇论文中出现,1号与3号主题词共同在38篇文献中出现。这些数据经过适当的计算后转换为相关系数,成为相关矩阵后,就可以显示出高频主题词之间的亲疏程度,为进一步分析做好了准备。 表2 主题词共现矩阵(局部) 1 2 3 4 5 6 7 8 9 1 1440 60 38 351 178 6 13 289 150 2 60 1324 616 13 141 0 320 12 53 3 38 616 651 10 89 27 193 11 42 4 351 13 10 366 29 4 3 64 0 5 178 141 89 29 354 31 13 38 26 6 6 0 27 4 31 328 0 2 12 7 13 320 193 3 13 0 321 12 20 8 289 12 11 64 38 2 12 289 38 9 150 53 42 0 26 12 20 38 214 4. 聚类分析 获得了相似矩阵之后,我们可以将其输入到统计分析软件(如SAS,SPSS等),选择相应的模块进行聚类分析(cluster analysis)。 我们经常说:物以类聚,人以群分,聚类分析是一种重要的人类行为。它是指将物理或抽象对象的集合分组,使其成为由类似的对象组成的多个类的分析过程。从数据的角度讲,聚类是通过计算分类对象在各个属性上的相似程度,将对象分类到不同的类或者簇的过程,使得同一个类中的对象有很大的相似性,不同类间的对象有很大的相异性。聚类与分类的不同在于聚类所要求划分的类预先是未知的。 以使用SPSS进行聚类分析为例,可以选择Analysis-Classify-Hierarchical过程,经过设置相应的参数后,对胃癌治疗的高频主题词共现矩阵进行分析,最后获得该研究领域高频主题词的共现聚类分析树图(如图1)。 首先对聚类树图的结构进行分析。聚类树图中的最左边的一列标号(Label)和数字(Num)代表着高频主题词,由于采用的是系统聚类法的凝聚聚类算法,因此,最初每一个主题词都是单独的一个类,通过计算每一对主题词之间的相似性,首先是2号和3号主题词聚集成为一个类,然后它们又合7号主题词合成为一个类。图中最上方的带有数字的标尺表示分类对象之间的距离。随着被分类的对象(主题词)之间的聚类越来越大,距离最终所有的主题词都成为一个类,我们可以根据需要在不同的距离水平上分割整个聚类树图,通过树图的结构我们可以看到,所有的主题词大致可以分为三个部分:由2、3、7号词组成的一个类别(A),由1、4、8、5、9号主题词组成的一个类别(B),和由6号词单独组成的一个类别(C)。 对各个类别主题词之间语义关系的分析。基于凝聚聚类算法的原理,对聚类分析结果的语义分析也采用了自下而上的步骤。即首先获取各个小类的含义,然后把各个小类的含义组合成为大类的含义。具体而言,就是首先从每个小类中关系最近的两个主题词着手,分析二者之间的语义关系,获得该类的种子概念,在种子概念的基础上,根据同类别中其他主题词与该种子的距离,逐次加入主题词,丰富该类别的内容,一般而言,距离比较远的主题词往往是该核心的相关因素,如具体的应用或者影响因素。本例中,对于3个高频主题词的类别中的主题词进行具体的语义分析,可以发现: 在A类中,Stomach Neoplasms/drug therapy,胃肿瘤/药物治疗(2)与 Antineoplastic Combined Chemotherapy Protocols/therapeutic use,抗肿瘤联合化疗方案/治疗应用(3)组合在一起表明的是对胃肿瘤采用联合化疗,加上Adenocarcinoma/drug therapy,腺癌/药物治疗(7)表明这一类主要是关于胃腺癌的联合化疗的主题。 图1 胃癌治疗高频主题词聚类分析结果(部分) 在B类中,Stomach Neoplasms/surgery,胃肿瘤/手术 (1) 与Gastrectomy / methods,胃切除/方法(4)表明是关于胃肿瘤外科手术切除治疗的主题,同样,Adenocarcinoma/surgery,腺癌/手术(8)也是说明主要是针对胃腺癌的手术切除治疗,Stomach Neoplasms/pathology,胃肿瘤/病理则是说明这种疗法会受到不同的病理类型的影响。这一类别最边缘的主题词Gastrectomy,胃切除(9)没有副主题词,则是表示对胃切除的概述,是对上述主题的强化,由于与其他主题词距离比较大,也可以忽略不计。 C 类则是单独一个单词,Stomach Neoplasms/therapy,胃肿瘤/治疗(6)则表示的是对各种治疗方法的概述性研究主题。 综上,我们可以总结出目前胃癌治疗研究的主要方向有三个:(1)胃癌胃腺癌的联合化疗,(2)胃腺癌的手术切除治疗(包括病理因素的影响),(3)胃肿瘤各种治疗方法。 通过对特定领域或者学科的高频主题词的共现聚类分析,我们就可以客观地反映出当前该领域研究的热点。其他表现文献内容的标识(如关键词、分类号)等,也可以用于此类分析。此外,一些表现文献外部特征的标识,如作者、引文等等,也可以进行共现分析,如作者的合著分析、引文的同被引分析、作者的同被引分析,这些都可以为展示某一学科领域里科学研究获得的结构和特点提供手段。这些分析的方法都是基于共现的聚类分析,其原理都是大同小异的。
个人分类: 生物医学文献计量学|22574 次阅读|8 个评论
基于因子分析的学术期刊评价指标分类研究
yuliping 2009-5-4 23:42
在人文社科研究中,很多情况下,我们都喜欢凭数据说话,甚至将数据作为证明自己某个论点的坚实理由。其实,凭数据说话也是有边界的,即使在数据非常可靠的情况下。在任何时候,我们都不能忘记我们自己,实证研究结果一定要好好用大脑进行分析。什么是客观?任何事情只要与人有关,就无法客观,因为人们更多地从人和客观世界的关系看客观世界的。一朵鲜花开在那儿是客观的,但是不同的人看到了,对鲜花的评价是不一样的,在人和鲜花组成的系统中,鲜花就很难客观(王阳明: 你未见此花时 , 此花与汝同归于寂 ; 你来看花时 , 则此花颜色一时也明白起来)。 主观、主客观不见得是坏事,有时甚至是真理。 聚类分析作为一种有效的客观分类方法,得到了公认和广泛的应用。但我在研究中偶然发现,用它对期刊评价指标分类显得很白痴。为什么会有这种情况出现,希望各位讨论。 该文发表与2009年《图书情报工作》第8期。 摘要:针对部分学术期刊评价指标分类的模糊问题,利用中国科学技术信息研究所的医学期刊数据,采用聚类分析和因子分析进行期刊评价指标分类。指出 聚类分析作为一种公认的分类方法,在期刊评价指标分类中并不适用。因子分析由于解释力较强,为学术期刊指标分类提供了一种较好的方法。在指标分类中完全根据数据说话是不完善的,可以根据具体情况在因子分析的基础上进一步进行整合。 论文下载 2009.5.3俞立平于邗上
个人分类: 科学计量|5326 次阅读|7 个评论
聚类分析与判别分析
热度 1 penghx 2009-4-15 11:05
转自 http://stats.blog.sohu.com/44741465.html 第一节 聚类分析统计思想 一、聚类分析的基本思想 1.什么是聚类分析 俗语说,物以类聚、人以群分。 当有一个分类指标时,分类比较容易。 但是当有多个指标,要进行分类就不是很容易了。 比如,要想把中国的县分成若干类,可以按照自然条件来分:考虑降水、土地、日照、湿度等各方面; 也可以考虑收入、教育水准、医疗条件、基础设施等指标; 对于多指标分类,由于不同的指标项对重要程度或依赖关系是相互不同的,所以也不能用平均的方法,因为这样会忽视相对重要程度的问题。 所以需要进行多元分类,即聚类分析。 最早的聚类分析是由考古学家在对考古分类中研究中发展起来的,同时又应用于昆虫的分类中,此后又广泛地应用在天气、生物等方面。 对于一个数据,人们既可以对变量(指标)进行分类(相当于对数据中的列分类),也可以对观测值(事件,样品)来分类(相当于对数据中的行分类)。 2.R型聚类和Q型聚类 对变量的聚类称为R型聚类,而对观测值聚类称为Q型聚类。这两种聚类在数学上是对称的,没有什么不同。 聚类分析就是要找出具有相近程度的点或类聚为一类; 如何衡量这个相近程度?就是要根据距离来确定。 这里的距离含义很广,凡是满足4个条件(后面讲)的都是距离,如欧氏距离、马氏距离,相似系数也可看作为距离。 二、如何度量距离的远近:统计距离和相似系数 1.统计距离 距离有点间距离好和类间距离 2.常用距离 统计距离有多种,常用的是明氏距离。 3.相似系数 当对 个指标变量进行聚类时,用相似系数来衡量变量间的关联程度,一般地称 为变量 和 间的相似系数。常用的相似系数有夹角余弦、相关系数等。 夹角余弦: 相关系数: 对于分类变量的研究对象的相似性测度,一般称为关联测度。 第二节 如何进行聚类分析 一、系统聚类 1.系统聚类的基本步骤 2.最短距离法 3.最长距离法 4.重心法和类平均法 5.离差平方和法 二、SPSS中的聚类分析 1、事先要确定分多少类:K均值聚类法; 2、事先不用确定分多少类:分层聚类; 分层聚类由两种方法:分解法和凝聚法。 分层聚类的功能:即可进行样品的聚类,也可进行变量的聚类。 分层聚类的原理:即我们前面介绍过的系统聚类方法的原理和过程。 分层聚类的中要进行以下的选择: 数据的标准化 测度方法的选择:距离方法的选择或相似性、关联程度的选择。 聚类方法的选择:即以什么方法聚类,spss中提供了7中方法可进行选择。 输出图形的选择:树形图或冰柱图。 3、聚类分析要注意的问题。 聚类方法的优缺点: 类平均法比较好,因为与类平均法相比,最短和重心法是空间浓缩,即并类的距离范围小,区别类的灵敏度差; 与类平均法相比,其他方法是空间扩张,即并类距离范围大,区别类的灵敏度强。 最短距离比最长距离法好 聚类结果中,如果孤类点太多,则说明该中聚类方法不好。 如果从减少孤类来看,一般情况下用Words方法最好。 快速聚类法与层次聚类法应用区别 层次聚类法的聚类过程是单方向的,一旦某个样品(case)进入某一类,就不可能从该类出来,再归入其他的类。 而快速聚类法受奇异值、相似测度和不合使得聚类变量的影响较小,对于不合适的初始分类可以进行反复调整. 在聚类分析发展的早期,层次聚类法应用普遍,其中尤以组间类平均法和离差平方和法应用最广。 后来快速聚类方法逐步被人们接受,应用日益增多。现在是两者相结合,取长补短。 首先使用层次聚类法确定分类数,检查是否有奇异值,去除奇异值后,对剩下的案例重新进行分类,把用层次聚类法得到的各个类的重心,作为迭代法的初始分类中心,对样本进行重新调整。   第三节 判别分析 一、判别分析的基本思路 1.为什么判别? 有一些昆虫的性别很难看出,只有通过解剖才能够判别; 但是雄性和雌性昆虫在若干体表度量上有些综合的差异。于是统计学家就根据已知雌雄的昆虫体表度量(这些用作度量的变量亦称为预测变量)得到一个标准,并且利用这个标准来判别其他未知性别的昆虫。 这样的判别虽然不能保证百分之百准确,但至少大部分判别都是对的,而且用不着杀死昆虫来进行判别了。 2.判别分析(discriminant analysis)的含义 这就是本章要讲的是判别分析。 判别分析和前面的聚类分析有什么不同呢? 主要不同点就是,在聚类分析中一般人们事先并不知道或一定要明确应该分成几类,完全根据数据来确定。 而在判别分析中,至少有一个已经明确知道类别的训练样本,利用这个数据,就可以建立判别准则,并通过预测变量来为未知类别的观测值进行判别了。 3.判别分析例子 例10.1 数据disc.sav:企图用一套打分体系来描绘企业的状况。该体系对每个企业的一些指标(变量)进行评分。 这些指标包括: 企业规模(is)、服务(se)、 雇员工资比例(sa)、利润增长(prr)、 市场份额(ms)、市场份额增长(msr)、 流动资金比例(cp)、资金周转速度(cs)等等。 另外,有一些企业已经被某杂志划分为上升企业、稳定企业和下降企业。 我们希望根据这些企业的上述变量的打分和它们已知的类别(三个类别之一:group-1代表上升,group-2代表稳定,group-3代表下降)找出一个分类标准,以对没有被该刊物分类的企业进行分类。该数据有90个企业(90个观测值),其中30个属于上升型,30个属于稳定型,30个属于下降型。这个数据就是一个训练样本。 4.判别分析的基本思路 设有G1、G2、GK个总体,从不同的总体中抽出不同的样本,根据样本建立判别法则判别新的样品属于哪一个总体。 当然,根据不同的方法,建立的判别法则也是不同的。 常用的判别方法有:距离判别、Fisher判别、Bayes判别。 二、几种判别分析方法; 1.距离判别法(不用投影) 最简单的办法就是离哪个中心距离最近,就属于哪一类。通常使用的距离是所谓的马氏(Mahalanobis)距离。 用来比较到各个中心距离的数学函数称为判别函数(discriminant function).这种根据远近判别的方法,原理简单,直观易懂。 假设有两个总体G1和G2, 如果能够定义点x到它们的距离D(x,G1)和D(x,G2), 则 如果D(x,G1) D(x,G2),则 xG1 如果D(x,G2) D(x,G1),则 xG2 如果D(x,G1) = D(x,G2),则待判 2.Fisher判别法(先进行投影的距离判别) 所谓Fisher判别法,就是一种先投影的方法。 考虑只有两个(预测)变量的判别分析问题。 假定这里只有两类。数据中的每个观测值是二维空间的一个点。见图。 这里只有两种已知类型的训练样本。其中一类有38个点(用o表示),另一类有44个点(用*表示)。按照原来的变量(横坐标和纵坐标),很难将这两种点分开。 于是就寻找一个方向,也就是图上的虚线方向,沿着这个方向朝和这个虚线垂直的一条直线进行投影会使得这两类分得最清楚。可以看出,如果向其他方向投影,判别效果不会比这个好。 有了投影之后,再用前面讲到的距离远近的方法来得到判别准则。这种首先进行投影的判别方法就是Fisher判别法。 3.逐步判别法 有时,一些变量对于判别并没有什么作用,为了得到对判别最合适的变量,可以使用逐步判别。 逐步判别法的基本思路: 采用有进有出的方法。即在判别过程中,没有一个变量进入判别分析中,先对各变量进行计算、检验,从中挑选最主要的变量进入判别中。 然后再考虑较早引入判别式的某些变量,如果由于新变量的引入而原变量变为不重要了,则剔除判别式中,直到所有的重要变量都引入判别式中,所有的非重要变量都剔除判别式中为止。 如何判别那个变量重要呢? 已知变量之间在各组中的差异越大越好,即为重要变量。 变量在各组间的差异可用多元的方差分析,即利用: 来分析变量的重要性。 三、判别分析要注意的问题。 样本中必须有所有要判别的类型,分类必须清楚,不能有混杂。 要选择好可能用于判别的预测变量。这是最重要的一步。当然,在应用中,选择的余地不见得有多大。 要注意数据是否有不寻常的点或者模式存在。还要看预测变量中是否有些不适宜的;这可以用单变量方差分析(ANOVA)和相关分析来验证。 判别分析是为了正确地分类,但同时也要注意使用尽可能少的预测变量来达到这个目的。使用较少的变量意味着节省资源和易于对结果进行解释。
个人分类: 模式识别与人工智能|11888 次阅读|1 个评论
基于文献的发现实例[译文]
zilu85 2008-10-14 02:20
Stegmann and Grohmann Stegmann and Grohmann 通过运用共词技术拓展了 SL 方法,这是一种用于聚类的统计学方法。他们不使用单词或者概念,而是分析文献集合中每对 MEDLINE 文献的关键词共同出现次数。关键词包括 MeSH 以及酶标记号和 CAS 注册号。这些分析最后生成了所包含关键词的地图或者战略坐标。链接互补又分离文献的 promising( 有希望的 ) 词倾向于出现在低向心度和密度的区域。通过复制 Swanson 在雷诺氏病和鱼油关系、偏头痛和酶缺乏上面的发现,验证了他们的方法的有效性,他们还发现朊病毒、神经变性疾病和锰之间的关系。这种关系早期曾经由 Chen 在研究知识潜在领域问题的时候提出过。之所以叫潜在,是因为在陈的关于知识地图的书中这是些被引频次低的重要论文。 共词分析和聚类的优点在于研究初期选词是自动化的。但是,专题的专家还是要为了最后选择合适的词而评判一下各个类别。共词聚类的另外一个优点是用户对类别的地图或者坐标评价起来要比评价一长串排序的词要容易得多。其缺点是这种方法依赖于来自于受控词表的关键词。其他挖掘标题和文摘的方法更适合没有关键词的方法。此外,这种考量在将来研究人员需要合并没有统一主题词表的数据库并在其中挖掘信息的时候会显得十分重要。 Gordon MD, Lindsay RK. Toward discovery support systems: a replication, re-examination, and extension of Swanson's work on literature-based discovery of a connection between Raynaud's and fish oil. Journal of the American Society for Information Science. 1996; 47 :116128
个人分类: 生物医学文献计量学|4500 次阅读|0 个评论

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

GMT+8, 2024-6-7 16:23

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部