thresholded_random_geometric_graph#

thresholded_random_geometric_graph(n, radius, theta, dim=2, pos=None, weight=None, p=2, seed=None)[源代码]#

返回单位多维数据集中的阈值随机几何图形。

阈值随机几何图 [1] 模型场所 n 单位维立方体中均匀随机的节点 dim . 每个节点 u 分配了一个权重 \(w_u\) . 两节点 uv 如果在最大连接距离内,则由边缘连接, radius 通过计算 p -Minkowski距离和权重总和 \(w_u\) + \(w_v\) 大于或等于阈值参数 theta .

内边缘 radius 当scipy可用时,使用kdstree确定彼此之间的关系。这减少了时间复杂性 \(O(n^2)\)\(O(n)\) .

参数
n整型或可迭代

节点数或可迭代节点数

radius: float

距离阈值

theta: float

阈值

dim整型,可选

图的维度

posDICT,可选

以节点为关键字,以节点位置为值的词典。

weightDICT,可选

以节点为关键字的数字字典形式的节点权重。

p浮动,可选(默认为2)

要使用的Minkowski距离度量。 p 必须满足条件 1 <= p <= infinity

如果未指定此参数,则 \(L^2\) 使用公制(欧几里得距离公制),p=2。

这不应该与 p 一个Erd_s-r_nyi随机图,它表示概率。

seed整数、随机状态或无(默认)

随机数生成状态的指示器。见 Randomness .

返回

无向无自循环的阈值随机地理图。

每个节点都有一个节点属性 'pos' 在欧几里得空间中存储该节点的位置 pos 关键字参数或,如果 pos 未提供,由此函数生成。类似地,每个节点都有一个nodeThere属性 'weight' 它存储所提供或生成的节点的权重。

笔记

这使用了 k -D树来构建图表。

这个 pos 关键字参数可用于指定节点位置,以便为位置创建任意分布和域。

例如,使用平均值(0,0)和标准偏差2的节点位置的二维高斯分布

如果未指定权重,则通过从具有速率参数的指数分布中随机绘制来将其分配给节点。 \(\lambda=1\) . 要指定来自不同分布的权重,请使用 weight 关键字参数:

::
>>> import random
>>> import math
>>> n = 50
>>> pos = {i: (random.gauss(0, 2), random.gauss(0, 2)) for i in range(n)}
>>> w = {i: random.expovariate(5.0) for i in range(n)}
>>> G = nx.thresholded_random_geometric_graph(n, 0.2, 0.1, 2, pos, w)

工具书类

1

http://cole-maclean.github.io/blog/files/thesis.pdf

实例

默认图形:

g=nx.阈值_随机_几何_图(50,0.2,0.1)

自定义图:

在50个均匀分布的节点上创建一个阈值随机几何图,如果节点的和权重(从比率为5的指数分布中得出)大于等于theta=0.1,并且它们的欧几里得距离至多为0.2,则这些节点由边连接。