复杂网络软件分析精Word格式.docx
《复杂网络软件分析精Word格式.docx》由会员分享,可在线阅读,更多相关《复杂网络软件分析精Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
![复杂网络软件分析精Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/17/6f3aff3f-4819-4bbe-8d3d-b90e21bc110e/6f3aff3f-4819-4bbe-8d3d-b90e21bc110e1.gif)
表现在结点或链接会随着时间的变化而产生或消失。
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期
无尺度特性的判断等问题,这些内容的研究很多都落实到特征参数上。
例如,中心性的研究涉及结点度、接近度、介数、特征向量、子图等的研究,鲁棒性与脆弱性涉及平均路径长度、聚类系数等特征参数。
表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
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
人知,却是少有的专为复杂网络设计的软件。
它由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、Wi