igraph 算网络指标_网络分析概述之网络基础简介

b39f94a107acba1462b5000095ca6cfd.gif 网络分析概述之网络基础简介 6822f4e425858f34c2a18145708d12b3.gif 从本节开始介绍网络分析 。本篇暂且对网络概念作个初步简介,随后的章节再一一展示怎样分析数据。根据白鱼同学目前比较熟悉的领域,今后的章节主要以“微生物互作网络”、“基因共表达网络”为例作阐述。 注:该“网络”是指数学中分析数据的一种方法,不是“互联网”,也不是“神经网络”之类的。

网络基础概述

何为网络,及其基本结构

在数学中,“网络”(networks)通常被称为“图”(graphs),关于图研究的数学领域称为“图理论”(graph theory)。网络图中的基本元素是节点和边,构建网络图时,将对象称为“节点”(vertices或nodes),并通常将它们绘制为点;将节点之间的连接称为“边”(edges或links),并且通常将它们绘制为点之间的线。如此,得到了网络图。

6190fa7d6f947799461c541e3e2f25b8.png

正式地来说,一个图G=(V,E)是一种包含“节点”集合V与“边”集合E的数学结构,其中E的元素是不同节点的无序组合{u,v},u,v∈V。节点的数量Nv=|V|和边的数量Ne=|E|有时分别被称为图G的“阶数”(order)和“规模”(size)。不失一般性,常简单地使用整数1,…,Nv对节点和边进行标记。

网络可以代表现实世界中的各种系统,例如,可以将因特网描述为网络,其中节点是计算机或其他设备,边是设备之间的物理连接(线路,或者无线);食物链中,节点是物种,边代表了能量的单向流动。

也可以反映假定的关联模型,例如,通过转录组的基因表达水平的相对变化,推测基因间的相互作用关系;微生物物种的互作关系难以像宏观物种那样直接观测,也常根据丰度的协变去推断。

其他示例如社交网络、运输网络、代谢网络、通信网络等等。如下展示一些网络图示例。

1334e82ad12a113ee0318231727a282f.png

(https://mathinsight.org/image/internet_map_jurvetson_2004)

b9ddf652c1586c5f257e8fab3a976931.png

(https://mathinsight.org/image/us_congress_twitterers_porternovelli_2009)

8bb30e0341300d2c5e56b8de7086bf1a.png 

(https://mathinsight.org/image/c_elegans_connectome_anatomy_model)

48b74961ff803fbd0902e4d89920cc6d.png

(https://mathinsight.org/image/metabolic_network_model_for_Escherichia_coli)

网络图基本类型,有向图和无向图

对于网络图G,若集合E中每条边的两个节点都有次序(即对于u,v∈V,(u,v)与(v,u)不同),则图G称为“有向图”(directed graph或digraph)。这些边被称为“有向边”(directed edges)或“弧”(ares),有向边(u,v)的方向规定从左到右,即从起点u指向终点v。需要注意的是,有向图中一对节点间可能有两条有向边,分别以其中一个节点作为起点,另一个作为终点,此时,两条有向边称为是“双向”(mutual)的。类似的,对于网络图G,若每条边的两个节点没有次序,则图G称为“无向图”(undirected graph)。在某些情况下,也可能允许节点具有自连接,这意味着在网络图中出现某节点从自身到自身的边,即“自环”(loops)。

若两个节点间存在多余一条

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
igraph是一个用于分析和可视化复杂网络的开源库。它提供了许多功能,包括计网络指标的能力。 要计网络指标,你可以使用igraph提供的各种函数。以下是一些常用的网络指标及其对应的igraph函数: 1. 度数(Degree):表示节点的连接数,即与该节点直接相连的边的数量。在igraph中,可以使用degree函数计节点的度数。 ```python g = Graph() # 创建一个图 g.add_vertices(10) # 添加10个节点 g.add_edges([(0, 1), (1, 2), (2, 3)]) # 添加边 degrees = g.degree() # 计所有节点的度数 print(degrees) ``` 2. 聚类系数(Clustering Coefficient):度量节点周围节点之间紧密连接程度的指标。在igraph中,可以使用transitivity函数计聚类系数。 ```python clustering_coefficient = g.transitivity_undirected() # 计无向图的聚类系数 print(clustering_coefficient) ``` 3. 中心性(Centrality):衡量节点在网络中的重要性。常见的中心性指标包括度中心性、接近中心性、介数中心性等。在igraph中,可以使用相应的函数计各种中心性指标。 ```python degree_centrality = g.degree() # 计度中心性 closeness_centrality = g.closeness() # 计接近中心性 betweenness_centrality = g.betweenness() # 计介数中心性 print(degree_centrality) print(closeness_centrality) print(betweenness_centrality) ``` 除了上述指标igraph还提供了其他许多函数和法,用于计网络的其他性质和指标。你可以根据自己的需求选择合适的函数进行计

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值