toppic
当前位置: 首页> 科幻小说小说> 复杂网络分析库NetworkX进行网络拓扑性质分析

复杂网络分析库NetworkX进行网络拓扑性质分析

2020-08-24 07:31:35


无论是实际网络还是对模型网络进行分析,都离不开对网络拓扑统计指标的计算。反映网络结构与动力学特性的统计指标有很多,Costa等的Characterizationof Complex Networks: A Survey of measurements一文对此有全面的综述,在这里我们介绍一些常用的统计指标在NetworkX中如何计算。

一、度、度分布

NetworkX可以用来统计图中每个节点的度,并生成度分布序列。下边是一段示例代码(这段代码可以在Shell里一行一行的输入,也可以将其保存为一个以py结尾的纯文本文件后直接运行),注意看注释部分:


对上述结果稍作处理,就可以在Origin等软件里绘制度分布曲线了,当然也可以用matplotlib直接作图,在上述代码后接着输入:


二、群聚系数

这个在NetworkX里实现起来很简单,只需要调用方法nx.average_clustering(G)就可以完成平均群聚系数的计算,而调用nx.clustering(G)则可以计算各个节点的群聚系数。

三、直径和平均距离

nx.diameter(G)返回图G的直径(最长最短路径的长度),

nx.average_shortest_path_length(G)则返回图G所有节点间平均最短路径长度。

四、匹配性

这个也比较简单,调用nx.degree_assortativity(G) 方法可以计算一个图的度匹配性。

五、中心性

Degreecentrality measures. 度中心性

degree_centrality(G)     Compute the degree centrality for nodes.

in_degree_centrality(G)     Compute the in-degree centrality fornodes.

out_degree_centrality(G)     Compute the out-degree centrality fornodes.

Closenesscentrality measures. 紧密度中心性

closeness_centrality(G[,v, weighted_edges])     Compute closeness centrality for nodes.

Betweennesscentrality measures. 介数中心性

betweenness_centrality(G[,normalized, ...])     Compute betweenness centrality for nodes.

edge_betweenness_centrality(G[,normalized, ...])     Compute betweenness centrality for edges.

Current-flowcloseness centrality measures.流紧密中心性

current_flow_closeness_centrality(G[,...])     Compute current-flow closeness centralityfor nodes.

Current-FlowBetweenness

Current-flowbetweenness centrality measures.流介数中心性?

current_flow_betweenness_centrality(G[,...])     Compute current-flow betweenness centralityfor nodes.

edge_current_flow_betweenness_centrality(G)     Compute current-flow betweennesscentrality for edges.

Eigenvectorcentrality.特征向量中心性

eigenvector_centrality(G[,max_iter, tol, ...])     Compute the eigenvector centrality for thegraph G.

eigenvector_centrality_numpy(G)     Compute the eigenvector centrality for thegraph G.

六、小结

上边介绍的统计指标只是NetworkX能计算的指标中的一小部分内容,除此之外NetworkX还提供了很多统计指标计算方法,感兴趣的朋友可以去查NetworkX的在线帮助文档:http://networkx.lanl.gov/reference/index.html。对于加权图的统计指标计算,NetworkX似乎没有直接提供方法,估计需要自己动手编制一些程序来完成。

 

 


欢迎后台留言,一起进行学习奥~~


----------------------------------------------------------------------------------------------------

                    



友情链接