复杂网络软件分析精.docx

上传人:b****5 文档编号:7472355 上传时间:2023-01-24 格式:DOCX 页数:11 大小:514.74KB
下载 相关 举报
复杂网络软件分析精.docx_第1页
第1页 / 共11页
复杂网络软件分析精.docx_第2页
第2页 / 共11页
复杂网络软件分析精.docx_第3页
第3页 / 共11页
复杂网络软件分析精.docx_第4页
第4页 / 共11页
复杂网络软件分析精.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

复杂网络软件分析精.docx

《复杂网络软件分析精.docx》由会员分享,可在线阅读,更多相关《复杂网络软件分析精.docx(11页珍藏版)》请在冰豆网上搜索。

复杂网络软件分析精.docx

复杂网络软件分析精

□胡长爱朱礼军/中国科学技术信息研究所北京100038复杂网络软件分析与评价*

1引言

复杂网络理论的系统研究源于20世纪60年代匈牙利数学家Erdös和Rényi建立的随机图理论。

随着小世界模型、无尺度网络模型在20世纪末被提出来,人们对来自不同领域的大量实际网络的拓扑特征进行了广泛的实证性研究,复杂网络逐渐成为各个学科领域的研究热点。

为了方便有效地研究复杂网络,各类研究软件不断产生,如GUESS[1]、NetVis[2]、Pajek[3]等等。

本文重点以Pajek、UCINET[4]、NetworkX[5]、NetMiner3[6]为代表,比较分析复杂网络软件的特点和发展现状,为复杂网络软件的选用提供依据。

复杂网络,简而言之即呈现高度复杂性的网络。

其复杂性[7]主要表现在以下几个方面:

1结构复杂:

表现在结点数目巨大,网络结构呈现多种不同特征。

2网络进化:

表现在结点或链接会随着时间的变化而产生或消失。

3链接多样性:

结点之间的链接权重存在差异,且有可能存在方向性。

4动力学复杂性:

结点集可能属于非线性动力学系统,结点状态可能会随时间发生复杂变化。

5结点多样性:

复杂网络中的结点可以代表任何事物,同一个网络可能存在代表不同事物的结点。

6多重复杂性融合:

即以上多重复杂性相互影响,导致更为难以预料的结果。

实际的复杂网络会受到多种因素的影响和作用,各种网络之间密切的联系也会使它们相互产生影响,从而加大对复杂网络分析的难度。

因此,一个简单易学且功能强大的分析工具,能给研究者很多的便利。

2复杂网络软件的分析

从整个复杂网络的发展看,社会网络的研究起到了很大的促进作用,很多复杂网络的软件是因为社会网络分析的需求而发展起来的。

目前,复杂网络软件的数量已经很可观了,尤其是一些学术的可以免费获得的软件。

这些软件的不同首先在于数据处理能力和计算速度上的区别。

例如Igraph[8]可以处理上百万个数据点,Pajek、NetMiner3的数据处理能力也能达到百万级,但UCINET[9]的上限却只有三万多个数据点。

另一个区别在于能否进行可视化。

可视化可以说是复杂网络工具发展的一个重要的趋势。

Pajek、NetMiner3等很多软件都具有可视化的功能。

其他比较著名的可视化工具还有GDToolkit[9],NETDraw[10]等。

它解决了文字和表格无法表达复杂的网络结构问题,也为挖掘网络内部有价值的信息提供了帮助[12]。

除以上两点外,软件的直观易用,支持文档的可获得性和可理解性,也直接影响着软件的选用。

这些区别主要缘于软件设计者对软件功能的定位不同,及自身的知识背景的差异。

2.1典型复杂网络软件的研究

复杂网络的特性是由一些特征参数进行描述的,主要包括结点度、介数、接近度、平均路径长度、聚类系数等。

目前,复杂网络的基础研究主要围绕网络的中心性、鲁棒性与脆弱性、动态性、小世界特性和

摘要:

如今,复杂网络数据规模膨胀,文字和表格已无法展现其内部结构,同时妨碍了复杂网络隐藏信息的挖掘,复杂网络分析工具的产生解决了上述难题。

文章归纳总结了复杂网络理论的基本内容,在广泛调查现有复杂网络处理软件的基础上,分析比较了各个软件的功能,提出量化评价指标,并对各个软件进行分析评价。

关键字:

复杂网络,分析软件,特征参数,评价模型

DOI:

10.3772/j.issn.1673—2286.2010.05.007

*国家“十一五”科技支撑计划课题“知识组织系统的集成及服务体系研究与实现”(2006BAH03B03和“科技文献信息服务系统关键技术研究及应用示范”(2006BAH03B06资助项目。

中国科学技术信息研究所重点工作项目“汉语科技词系统建设与应用工程——新能源汽车领域完善及领域扩展”(2009KP01-3-2资金项目。

33

2010年第5期(总第72期

2010年第5期(总第72期

无尺度特性的判断等问题,这些内容的研究很多都落实到特征参数上。

例如,中心性的研究涉及结点度、接近度、介数、特征向量、子图等的研究,鲁棒性与脆弱性涉及平均路径长度、聚类系数等特征参数。

表1是四大软件主要特征参数展示情况对比,图1则是复杂网络常见问题与特征参数匹配图。

复杂网络软件除了能够计算特征参数外,还需要统计、可视化、社团发现、动态网络分析等功能。

表2列出了Pajek、UCINET、NetworkX、NetMiner3四大软件用于研究复杂网络方面的主要功能列表。

因为对用户需求的定位不同,各软件在功能上也各有突出的特点。

从表2可以看出,它们功能差异不显著,基本都能满足复杂网络分析的需求。

但是在细节上,各个软件仍然存在着较大的差异。

Pajek软件的结构完全基于六大数据结构,及数据结构之间的转换[3]:

网络(NetWorks,是Pajek的主要处理对象,包括结点和边;分类(partitions,指明每个结点所属的类;排列(permutations,将结点重新排序;聚类(clusters,结点的子集;层次(hierarchies,按照层次关系排序的结点;向量(vectors,指明结点所具有的数字属性(实数。

其中排列、分类、向量可以存储结点的属性,例如顺序、实名、数值等。

PAJ文件可以存储任何一种数据格式。

Pajek提供了多种数据输入方式[11],例如可以直接定义一个网络,这种做法通常适合较小的网络,可以从网络文件中导入ASCII格式的网络数据,也可以导入来自其他软件,例如UCINET的文件。

网络文件中包含结点列表和弧/边(arcs/edges列表,可以高效率地输入大型网络数据。

每个数据对象都拥有它自己的描述方法。

其中,很多方法可以用于描述网络、实例、度的计算、深度、核心或类、中心度、发现关系类型(强、弱、链接、对称、路径或流、结构空洞和对两个网络的一些二元操作[12]。

表1四大软件特征参数展示对比

特征向量

图1常见问题与特征参数匹配图2.2Pajek

Pajek软件是可以处理结点数大于100万的大型网络,同时具有网络分析和可视化功能的软件,属于高端学术类软件,由AndrejMrvar等于1996年开发。

该软件可以从网上免费获取,限于非商业运用[3]。

该软件设计的目标主要是有以下几点[11]:

1将一个大网络分解为多个子网络,这些子网络可以单独显示,从而更有助于进一步精确的分析。

2为使用者提供强大的可视化工具。

3为大型网络提供有效的分析算法。

如图2是导入Pajek自带的数据集绘制的网络图,图3是对数据集接近度中心性分析的结果。

表2四大软件软件功能对比

*Pajek只能计算结点介数,其他三个软件能同时统计结点介

数和边介数。

34

2010年第5期(总第72期

Pajek的可视化功能强大,可视化算法主要是Kamada-Kawai、2DFruchterman-Reingold和3DFruchterman-Reingold算法。

图形的绘制遵循结点距离揭示网络结构形态的原则[12]。

画图窗口直接给出了画图所需各种操作按钮,既支持手动网络布局,也支持自动网络布局;既支持2D可视化,也支持3D可视化。

自动网络布局适合绘制基础的网络,能自动寻找最佳的布局方式,可以避免因为使用者考虑不周,或个人偏好,使得图形不够准确。

Pajek可视化能使用多种格式存储:

EPS、SVG、KIN、BMP以及VRML。

Pajek可以进行一般的聚类、因子分析、核分析、中心性分析、结构洞分析、差异性分析等,可以展示簇之间的关系。

除了一般的网络,Pajek还可以同时处

理多个网络,多关系网络、二模网络和随时间动态改变的时间事件网络。

动态网络分析的数据文件中可以包含指示行动者在某一观察时刻的网络位置的时间标志,因而可以生成一系列交叉网络,可以对这些网络进行分析并考察网络的演化。

Pajek不具有直接发现社团的功能,只能通过寻找完整三元组的方式。

另一方面,Pajek能进行p-cliques处理,即查找社团内部每个点至少有比例为p的邻居结点[13]。

Pajek只提供一些基本的统计分析。

如果要对网络演化进行统计分析,需要使用StOCNET软件的SIENA模块。

2.3UCINET

UCINET是目前最广为人知,也是被使用最多的网络分析软件,属于高端学术类软件。

它最初由加州大学欧文分校(UniversityofCaliforniaatIrvine社会网络权威学者LintonFreeman编写,后来主要由波士顿大学的SteveBorgatti和威斯敏斯特大学的MartinEverett维护更新[4]。

UCINET最大可以处理32,767个结点的网络数据,但是结点达5,000-10,000时,速度就变得很慢了。

该软件可以免费使用60天。

UCINET的数据格式都是矩阵形式存储的,一个数据集通常包含两个文档[14],一个包含实际的数据,另一个包含的是数据的相关信息。

UCINET的数据集可以直接导入,也可以在UCINET中编辑,或者使用data菜单中spreadsheet转化成UCINET需要的数据,如图4是spreadsheet窗口。

可以被转化的数据类型主要包括:

ASCII数据、以DL形式存储的ASCII数据、EXCEL数据,以及来自KRACKPlot、NEGOPY和Pajek的数据。

UCINET提供了包括子集选择、合并、排序、变换、数据再编码等数据管理和处理工具。

值得注意的是,UCINET的数据不仅可以带有数据属性值,并且可以处理缺失值。

此外,因为含有强大的矩阵代数语言,可以自由处理一模、二模数据。

UCINET可以画散点图、系统图和树状图,并以BMP格式存储,但本身并没有图形可视化程序,通过集成NetDraw、Pajek、Mage实现可视化[14]。

此外,UCINET的数据还可以通过KrackPlot进行可视化。

UCINET中包括了社团发现和区域(regions分析、中心性(centrality分析、个体网络(egonetwork分析和结构洞(structureholes分析等网络分析程序[12]

还包含为数众多的基于过程的分析程序,

图2Pajek的绘图窗口

图3接近度中心性分析结果

35

2010年第5期(总第72期

人知,却是少有的专为复杂网络设计的软件。

它由AricHagberg

等人开发,可以免费获得。

图4UNCINETSpreadsheet窗口

图5UCINET聚类系数分析结果

如聚类(cluster分析、多维量表(multidimensionalscaling、二模标度(奇异值分解、因子分析和对应分析、角色和地位分析(结构、角色和正则对等性和拟合中心-边缘模型,以及中位数、标准偏差、回归分析、方差分析、自相关、QAP矩阵相关、回归分析、t检验等简单统计到拟合基于置换的p1模型在内的多种统计程序。

图5是UCINET自带数据聚类系数分析结果。

2.4NetworkX

NetworkX是基于Python的软件包,为创建、操作、研究复杂网络的结构特性、动态特征和功能特点而设计[15]。

NetWorkX虽然不像上面三个软件那样广为

图6Network绘制的随机几何图

图7NetMiner3绘制的社会网络分析图NetworkX主要有以下几个方面特点[15]:

1基于标准图论和统计物理。

2包含了很多经典的图和合成网络。

3结点和边可以是“任意”的,可以是时间序列、图像、XML记录等。

4在原有高质量软件的基础上开发而成。

5它是开源的。

6可以在多种系统平台上运行:

Linux、MacOSX、WindowsXP/2000/NT等。

NetWorkX使用“dictionaryofdictionariesofdictionaries”(简写:

dict-of-dicts-of-dicts数据格式,这使得它非常适合稀疏网络。

有向图DiGraph则有两个

dict-of-dicts-of-dicts结构,一个关于接受结点,另一个关于发出结点。

多边无向图或多边有向图采用“dict-of-dicts-of-dicts-of-dicts”格式,其中第三个“dict”是

36

边的标识,第四个“dict”是边的属性[16]。

图形对象的创建,可以通过Graphgenerators,或者从现有的资源中导入数据,例如矩阵列表、边的列表、GML、GraphML、LEDA等,或者通过添加结点和边的方式进行。

在NetWorkX中添加结点,可以单个添加,也可以批量添加,如含有结点的列表、结点集、图形、文件等。

边的添加类似。

NetWorkX提供的基本图形类型有:

Graph(无向图、DiGraph(有向图、MultiGraph(多边无向图、DimultiGraph(多边有向图。

所有的图形都用boolean属性描述图形的有向性、权重、多边图等性质。

尽管NetWorkX不是网络布图工具,也提供了简单的制图界面和简单布图算法。

NetWorkX对图形的操作主要是图形之间的合并、交集、差、子集等,但是要求原来的两个图必须是同类型的,都是无向图,或都是有向图[17]。

NetWorkX可以进行最短路径计算、广度优先聚类、同构分析、社团发现、个体网络分析、差异性分析、中心性分析等。

中心性分析包括结点介数、边介数、度、接近度等。

基本没有统计功能。

Pajek、UCINET、NetMiner都是菜单驱动的,但NetWorkX是通过命令行来进行操作的,相对增加了使用的难度。

2.5NetMiner3

NetMiner3是由CyramCo.,Ltd.开发的,是一款商业软件,也免费提供功能简单的学生版软件,但是需要通过身份认证才能获得许可密钥,还有14天的评估版。

根据适用的网络大小,NetMiner共有5种许可密钥,其中大型网络可以处理100,000个结点,1,000,000条链接,巨型网络可以处理1,000,000个结点,10,000,00条链接。

NetMiner是一款把社会网络分析和可视化探索技术结合在一起的软件工具。

它允许使用者以可视化和交互的方式探查网络数据,以找出网络潜在的模式和结构。

当前版本3.4.0.d是2009年9月24日更新的,最新版添加了3D图形可视化展示,并且提升了软件处理速度,对大型网络进行自我网络、k-core等的计算从几个小时降到一分钟以下[6]。

NetMiner采用了一种优化了的网络数据类型,包括三种类型的变量:

邻接矩阵(称作层、联系变量和行动者属性数据。

数据可以通过以下三种方式添加:

1直接通过“建立矩阵编辑器”,该功能类似于UCINET的spreadsheet编辑器;2通过导入Excel数据表格、CSV或者UCINETDL文件;3打开包含三种数据变量值的NetMiner数据文件、NTF文件。

导出的数据可以存储为NTF文件,或者导成Excel、CSV及UCINETDL文件。

NetMiner包含数据转换、再编码、对称处理、对分检索等数据处理功能。

缺点是不允许指定缺省值。

NetMiner拥有可与Pajek和NetDraw类比的可视化功能,并且所有的结果可以以文本和图形两种方式呈现。

网络图形的绘制基于spring-embedding算法、多维量表算法,分析处理程序包括结点中心性、聚类等,及环绕布图和随机布图等小程序。

spring-embedding的两大算法Kamada-Kawai和Fruchterman-Reingold,用于NetNiner可视化。

Kamada-Kawai算法意在得到各个点的坐标,从而计算得欧氏距离,该算法和Pajek中的Kamada-Kawai算法非常相似。

NetMiner也可以根据需要设置结点的颜色、形状、大小。

结点的大小反映被引数量,结点越大被引率越高。

NetMiner支持3D可视化,包含一个图形编辑器支持自动布图和人为绘制。

所有的可视化展示可以以EPS、GIF、JPEG、PDFPNG、EMF等格式存储。

NetMiner具有影响力、结构洞等关系和邻近结构分析、子图布局、中心性分析、派系分析、核分析、社团发现等基本的复杂网络分析功能。

同Pajek一样,NetMiner可以计算输入、输出及双向接近度,但是UCINET只能计算无向图的接近度。

此外,还包含为数众多的基于过程的分析程序,如聚类(cluster分析、多维量表(multidimensionalscaling、矩阵分解、对应分析、结构对等分析。

NetMiner作为一款网络挖掘分析和可视化工具,可以对数据进行有效的管理,进行What-if分析、交互的可视化分析,还嵌入强大的统计程序和图表[6]。

NetMiner支持一些标准的统计过程:

描述性统计、ANOVA、相关和回归,以及拟合优度统计、t检验等。

此外,值得一提的是,NetMiner3作为商业软件,充分考虑了使用者的需求,不仅整合了SNA标准可视化方法,提供很好的在线帮助和用户手册,帮助菜单内容详尽[6],并且使用者购买时可以根据实际的需要,购买各个单独的软件包,而不需要购买整个软件。

2.6其他复杂网络软件

37

2010年第5期(总第72期

本期话题http:

//除了上述4种复杂网络软件以外,还有其他可供选用的软件。

表3列举了6款软件。

Agna自03年以来没有继续更新,它是由Sun公司开发的一款独立于平台的、为社会网络分析和序列分析而设计的软件,能进行中心性分析、距离相关性系数的计算,适用于社会网络、血缘关系网络、沟通关系网络等。

GUESS是一款可以定制和修改界面的软件,功能直观多样,能进行动态网络分析,通过命令和菜单进行操作,适用于社会网络、知识网络、电脑网络、生物学网络等的分析[1],但仍属于高端学术类软件,对初学者来说,有一定的难度。

MultiNet自06年以来,也没有更新。

该软件能处理5,000以上的结点,它的特点主要是菜单设计合理,提供在线帮助,能够同时输出图形和文本结果,波谱分析的图形能展示链接的强度和方向及结点的属性。

它包含四种统计技术:

交叉表和卡方检验,ANOVA,相关和p*指数随机图模型[17]。

NetworkWorkbench在中国有一个工作室,该软件整合了网络分析、模型化和可视化功能,适用于社会学网络、生物医学网络、物理学网络,与众不同的是该软件的算法允许被免费使用在商业领域[18]。

STOCNET是一款开放软件系统,而且优于统计分析,整合了各种统计分析方法,每种统计方法可以以单独模块的形式嵌入其中,但是没有可视化功能,较难使用。

STOCNET包含的统计模块[19]有:

(1)BLOCKS,随机块模型;

(2)ULTRAS,使用超度量(Ultrametrics)估计潜在的传递性结构(latenttransitivestructures);(3)P2,拟合指数随机图p2模型;(4)SIENA,纵向网络数据的分析;(5)ZO,确定随机图统计量的分布概率;(6)PACNET,构造和拟合基于偏代数结构的结构模型(structuralmodelsbasedonpartialalgebraicstructures)。

表3其他复杂网络软件基本情况列表软件Agna版本2.1.1最新版时间12/12/2003平台Windows、MacIntosh、Solaris、Unix、Linux等Windows、UNIX、MacWindows开发语言Java开发者SunMicrosystems免费是数据格式AGN、CSV、TXT、DAT、TEXT、SVG、JPEG开源否可视化是菜单菜单手册有帮助有GUESS1.0.3-beta08/13/2007Jython/JavaJavaEytanAdar是GDF、GraphML、Pajek数是据、GIF、PNG、EPS、PDF、JPG、SVG.MultiNet-style(.nod、.lin)、CSV、Excel、MNW、OUT、PS、BMP否是菜单、命令菜单有有MultiNet4.7504/22/2006Richard等是是没有NetworkWorkbench1.0.009/15/2009Windows、Linux、MacJavaKatyBörner等是GraphML、XGMML、否Pajek数据、NWB、ISI、CSV、SCOUPUS、BIBTEX、EndoteExportFormat、Edgelis、TreeMLOUT、PQR、SNS、IN否是菜单有有STOCNET1.84/5/2007WindowsJavaPeterBoer等是否菜单有有3小结复杂网络软件纷繁复杂,远不止文中所提及的9个软件。

复杂网络软件的好坏,应该考虑以下几个方面:

功能、支持、开放性、界面友好性等。

表4给出简单的评价表,总分10分,各项得分见表4。

第一项:

功能,包括特征参数的计算,数据的处理,网络的可视化,统计方法,动态网络分析等。

其中特征参数依据表2,少一项扣0.1分。

其他内容,有则得1分,无则为0分。

2)支持:

使用手册和帮助是指导使用者入门和了解软件的门户,非常重要。

帮助支持包括在线帮助和软件附带的帮助功能。

手册、帮助文档易读性差得0.5,好则得1分。

Pajek软件不附带帮助文档,得分为0。

3)开放性:

在提倡资源共享的时代,源码公开,软件的免费分发,有助于软件的传播和知识的共享。

Pajek、NetwokX可以免费使用,因此得1分,UCINET、NetMiner提供一段时间的免费使用,得分0.5。

4)界面友好。

直观易掌握的界面设计能减少使用2010年第5期(总第72期)38

本期话题http:

//者在学习过程中的障碍。

NetwokX采用命令方式操作,界面友好性差,得分为0,其他得1分。

从表3可以看出,这四款软件都比较优异,尤其是NetMiner,得分最高,它在支持和界面友好上表现突出,这也折射出商业软件与科研软件在定位和设置上的差异。

另一方面,商业软件由于设计版权、著作权等问题,其开放性受到限制。

复杂网络分析软件的发展既要顺应人们分析复杂网络的需要,实现功能的完善、算法效率的提高,动态网络分析,同时也要使界面更加人性化、互操作化,手册和文档更具可理解性。

表4四大软件综合对比软件PajekUCINETNetwokXNetMiner3功能(5支持(2开放性(2参数(1动态(1可视化(1统计(1数据(1手册(1帮助(1源码(1软件(110.90.90.810101011010111110.50.50.5100.50.51001010.510.5界面友好(11101得分6.55.46.97.3参考文献[1]ADARE.GUESS:

TheGraphExplorationSystem[EB/OL].[2009-10-01].http:

//graphexploration.cond.org/.[2]CUMMINGSJ,NETVISN.Module-DynamicVisualizationofSocialNe

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1