在给定参数值的 R 中模拟网络

问题描述 投票:0回答:1

我正在努力模拟网络,特别是使用 ergm 包。似乎为了模拟网络,我们必须首先对某个初始矩阵运行回归,然后在“模拟”函数中使用该输出。下面是一个例子:

fit <- ergm(flobusiness~edges+degree(1))
flomodel.03.sim <- simulate(flomodel.03,nsim=10)

但在这个例子中,“flowbusiness”是一些观察到的数据。如果我没有,但我知道我想要使用的参数怎么办?那么,如果我想模拟一个具有 30 个节点、三角形参数=a、边参数=b 等的网络,该怎么办?有办法做到这一点吗?预先感谢。

r statistics ergm
1个回答
0
投票

您需要 2 件:

  1. 您想要模拟边缘的一些初始网络/节点集(下面的
    net0
    )。如果您从复杂模型中采样,它会用作链的初始点。
  2. coef
    参数(参见
    ?ergm::simulate.formula
    ?ergm::simulate_formula
    )提供参数值。

例如:

net0 <- network.initialize(100, directed = FALSE) # Empty graph with 100 nodes
net <- simulate(
  net0 ~ edges + triangles + degree(0),
  coef = c(-4, - 0.3, -Inf) # Rather sparse, avoid triangles, no isolates
)
plot(net)
© www.soinside.com 2019 - 2024. All rights reserved.