closeness_centrality#

closeness_centrality(G, nodes, normalized=True)[source]#

计算二分网络中节点的接近中心性。

节点的接近性是指到图中所有其他节点的距离;或者在图不连通的情况下,是指到包含该节点的连通分量中所有其他节点的距离。

参数:
G

一个二分网络

nodes列表或容器

包含一个二分节点集合中所有节点的容器。

normalized布尔型,可选

如果为 True (默认),则按连通分量的大小进行归一化。

返回值:
closeness字典

以节点为键,以二分图接近中心性为值的字典。

注意事项

输入参数 nodes 必须包含一个二分节点集合中的所有节点,但返回的字典包含来自两个节点集合的所有节点。有关 NetworkX 中如何处理二分图的更多详细信息,请参阅二分图文档

接近中心性按可能的最小距离进行归一化。在二分图的情况下,一个二分节点集合中的节点的最小距离是到另一个节点集合中所有节点的距离为 1,以及到其自身集合中所有其他节点的距离为 2 [1]。因此,在包含 n 个节点的二分集合 U 和包含 m 个节点的 V 中,节点 v 的接近中心性为

\[ \begin{align}\begin{aligned}c_{v} = \frac{m + 2(n - 1)}{d}, \mbox{for} v \in U,\\c_{v} = \frac{n + 2(m - 1)}{d}, \mbox{for} v \in V,\end{aligned}\end{align} \]

其中 d 是从 v 到所有其他节点的距离总和。

接近性的值越高表示中心性越高。

与单部图的情况一样,设置 normalized=True 会使值进一步归一化为 n-1 / size(G)-1,其中 n 是包含该节点的图的连通部分中的节点数量。如果图不是完全连通的,则此算法会分别计算每个连通部分的接近中心性。

参考文献

[1]

Borgatti, S.P. and Halgin, D. In press. “Analyzing Affiliation Networks”. In Carrington, P. and Scott, J. (eds) The Sage Handbook of Social Network Analysis. Sage Publications. https://dx.doi.org/10.4135/9781446294413.n28

示例

>>> G = nx.wheel_graph(5)
>>> top_nodes = {0, 1, 2}
>>> nx.bipartite.closeness_centrality(G, nodes=top_nodes)
{0: 1.5, 1: 1.2, 2: 1.2, 3: 1.0, 4: 1.0}