非随机性#

non_randomness(G, k=None, weight='weight')[source]#

计算图 G 的非随机性。

第一个返回的值 nr 是图中所有边的非随机性值之和(当一条边连接的两个节点来自不同的社区时,该边的非随机性往往很小)。

第二个计算值 nr_rd 是一个相对度量,表示图 G 在概率上与随机图的差异程度。当它接近 0 时,该图更可能由 Erdos Renyi 模型生成。

参数:
GNetworkX 图

图必须是对称、连通且没有自环的。

kint

G 中的社区数量。如果未设置 k,函数将使用默认的社区检测算法来设置它。

weight字符串或 None,可选(默认为 None)

用作权重的边的属性名称。如果为 None,则每条边的权重为 1,即图是二元的。

返回:
非随机性(float, float) 元组

非随机性,相对于 Erdos Renyi 随机图的相对非随机性。

抛出:
NetworkXException

如果输入图不连通。

NetworkXError

如果输入图包含自环或图没有边。

注意

这计算了参考文献 [1] 中的公式 (4.4) 和 (4.5)。

如果传入 weight 字段,该算法将使用加权邻接矩阵的特征值来计算公式 (4.4) 和 (4.5)。

参考文献

[1]

Xiaowei Ying and Xintao Wu, On Randomness Measures for Social Networks, SIAM International Conference on Data Mining. 2009

示例

>>> G = nx.karate_club_graph()
>>> nr, nr_rd = nx.non_randomness(G, 2)
>>> nr, nr_rd = nx.non_randomness(G, 2, "weight")