You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R的ergm包中基于指定参数模拟网络(无观测数据)

直接指定参数模拟ERGM网络的方法

当然可以实现,不需要依赖观测数据,直接通过指定参数构造ERGM模型就能模拟出符合需求的网络,具体步骤和代码示例如下:

  1. 创建初始网络
    首先生成一个包含目标节点数的初始空网络,作为模拟的起点:
library(ergm)
# 创建30个节点的空网络
net <- network(30)
  1. 构造带目标参数的ERGM模型
    通过ergm()函数直接定义模型结构,并使用coef参数传入你想要的参数值,注意公式中的项顺序必须和coef的参数顺序完全对应:
# 替换b为edges的目标参数值,a为triangles的目标参数值
target_model <- ergm(net ~ edges + triangles, coef = c(b, a))
  1. 模拟网络
    用simulate()函数基于构造好的模型生成指定数量的模拟网络:
# 模拟10个符合参数要求的网络
simulated_nets <- simulate(target_model, nsim = 10)

补充说明

  • 如果需要添加其他网络统计量的参数(比如degree(1)),只需在公式中加入对应项,并在coef中按顺序传入参数值即可。例如:
    # 加入degree(1)项,参数为c
    target_model <- ergm(net ~ edges + triangles + degree(1), coef = c(b, a, c))
    
  • 初始网络不局限于空网络,你也可以根据需求设置初始结构,但空网络是最常用的起点,ERGM会通过MCMC过程调整到符合参数的网络状态。

内容的提问来源于stack exchange,提问作者LifeisGood94

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 12:22:10