R语言随机指数图分析-statnet

发布时间:2022-05-24 阅读 3862

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:郑晓雪 (南开大学)
邮箱1547241075@qq.com


目录


1. 简介

复杂网络理论的基础点是图论,主要研究方法是梳理各要素在网络中的地位和各要素之间的关系。其中以节点代表要研究的要素,以边表示要素之间的关系。社会网络分析的精髓之处在于,从网络成员之间的关联角度出发,能够将分析视角扩展至社会现象乃至社会结构 (Borgatti 和 Foster,2003)。

指数族随机图模型 (ERGM) 越来越多地应用于社会网络的研究。ERGM 是为了解释网络的全局结构,同时允许在微观层面上对联系预测进行推断。例如为什么一些点之间会有链接?为什么某些点在网络中处于中心地位,其他点处于外围?为什么一些网络紧密相连,而另一些则稀疏?

2. 理论背景

ERGM 的目的是识别影响节点间关系创建的原因,即在给定一定数量的变量的情况下,评估两个节点之间连接的概率。在ERGM中,我们可以发现两种类型的解释变量:结构变量 (structural variables) 和节点或边缘变量 (node or edge-level variables)。后者来自其他数据来源,可以是年龄、公司规模、邻近程度、性别等等。结构变量可以包含三元闭包、度分布和子图等指标。

ERGM 区别于传统回归模型的是,在研究网络连边的影响因素时不用考虑变量的独立性假设,经过估计、诊断、仿真等一系列步骤,使得模拟网络无限趋近于真实网络,极大地减小了模型预测误差。ERGM 通常使用的参数估计方法为马尔可夫链蒙特卡洛最大似然估计。

我们注意到 G 是一个图,i 和 j 有两个节点存在于图中。如果 i 在图 G 中链接到 j,写成 Gij=1,如果这两个节点之间没有链接,则写成 Gij=0。此外,我们注意到 θ 是一个参数向量,X 是一个包含变量的向量。我们假设链接的概率受不同变量的影响。我们感兴趣的是确定每个变量对链接概率的影响程度。研究概率的一种普遍方法是逻辑回归,优点是确保计算值保持在 0 和 1 之间。ERGM 的形式为:

其中,y 表示在给定节点下观测到的真实网络,当任意两个节点 i 和 j 之间有连边时,则 Y=1,否则 Y=0θ 表示模型的待估参数,包括网络内生结构变量、外生情景变量和行动者属性变量。k 表示对节点集合 y 上所有可能的网络求和,是确保等式是合法概率分布的归一化因子。通常使用赤池信息 (AIC) 准则和贝叶斯 (BIC) 信息准则来评判模型的拟合程度。被解释变量是一个网络出现的概率,解释变量是一系列影响网络形成的变量。  

3. R 语言实操

3.1 命令简介

Statnet 是 R 中构建社会网络并进行分析的程序包,里面包括 NETWORK、IGRAPH、ERGM 等。ERGM 的被解释变量是真实的网络结构,解释变量可以分为网络结构、节点属性和外部网络等,网络结构如节点连接数、中心性、互惠性、闭合性等,节点属性为 GDP、人口等节点固有属性,外部网络可以是地理距离等网络。

ergm(
formula,          # 研究对象,形式为y~,y为要研究的网络
response = NULL,  # ERGM是字符、01 (默认) 还是其他,默认为0-1
reference = ~Bernoulli, # 指定要使用的参考度量 (h (y)) 的单边公式 constraints = ~.,  
                        # ERGM中对模拟的网络的约束条件默认为~,即无约束模型。
offset.coef = NULL,
target.stats = NULL,  # “观察到的网络统计数据”的向量,
                      # 如果这些统计数据与网络的实际统计数据不同,则该向量是模型的平均值参数值。
eval.loglik = getOption("ergm.eval.loglik"),  # 不需要似然值 (以及基于似然的值,如AIC和BIC),
                                              # 设置为FALSE可能会加快性能;默认为TURE
estimate = c("MLE", "MPLE", "CD"),  # 选择估计方式,默认MLE
control = control.ergm(),           # 算法调整的控制参数列表,使结果可复制
verbose = FALSE,                    # 需要输出的数据,默认为F/0,运算会快,最大可设置为5
...,
basis = ergm.getnetwork(formula)
)

有关 ERGM 包中实现的约束,请参阅 ERGM 约束文档。其他包可能会添加自己的约束 (要保证真实的网络符合限制条件)。网络结构 (边、互惠性、中心性、发送者效应、接受者效应、DSP、ESP等) 有多种形式,本文只模拟了边和互惠性,其他网络结构的估计同理,但网络结构在实际中赋予的含义更为重要。

3.2 命令实操

下面基于命令进行相应的实际操作和结果解读。

library(statnet)
xz <-read.csv("xz.csv")    # 被解释变量,真实网络
xzs <-read.csv("xzs.csv")  # 外生属性值,如GDP等
xznet <- as.network(xz,matrix.type="edgelist")
plot(xznet)

本图为 0-1 联系的社会网络图,从图中可以看出,该网络图具有互惠性 (双边联系)、传递性 (三角形) 等网络特征,且该友谊网络节点间联系较为紧密。

set.vertex.attribute(xznet,"hispanic",xzs$hispanic)
set.vertex.attribute(xznet,"female1",xzs$female1)
set.vertex.attribute(xznet,"eversmk1",xzs$eversmk1)
# 给每个节点赋予属性值,如GDP、人口等
mode <- ergm(
xznet ~
nodematch("hispanic") +  # 加入节点的属性
nodematch("female1") +
nodematch("eversmk1") +
mutual ,                 # 互惠性——结构效应
constraints = ~bd(maxout = 19),  # 最大度链接
control = control.ergm(
seed  = 1,         # 随机数设置
MCMLE.maxit = 10,  # 每步基于当前样本的最大值
parallel  = 4,     # 并行计算
CD.maxit  = 10  
)
)

上述是模拟的模型,其中 edges 是 ERGM 模型中常数项,一般不予解释。nodematch.hispanic 负向显著,说明 hispanic 低的个体更容易与外界产生网络连接,femaleleversmkl 同理。Mutual 估计系数为正,说明两点间具有互惠性,即 A 对 B 发生关系,B 也倾向于对 A 发生关系。以国际贸易为例,即表示若 A 国对 B 国出口,往往可以促进 B 国对 A 国的出口。

# 模型诊断
mcmc.diagnostics(mode4)  # 采用蒙特卡洛模拟与真实网络的分布比较

由于之前 parallel 并行为 4,所以每个模拟中有 4 条线。从图中看出,hispanicfemale1 的曲线最高点不在图中的中线处,因此拟合程度不好;而 eversmk1 的曲线最高处基本均在图的中线处,因此拟合程度较好。

# 数据拟合
gof <- gof(mode4)
plot(gof)  # 拟合优度检验

从图中可以看出,曲线 (拟合) 与蓝色点 (真实网络) 有所出入,因此本网络拟合程度不好。

4. 参考资料

  • Borgatti S P, Foster P C. The network paradigm in organizational research: A review and typology[J]. Journal of management, 2003, 29(6): 991-1013. -PDF-
  • Hunter D R, Handcock M S, Butts C T, et al. ergm: A package to fit, simulate and diagnose exponential-family models for networks[J]. Journal of statistical software, 2008, 24(3): nihpa54860. -PDF-
  • the statnet website -Link-
  • network: Classes for Relational Data -Link-
  • 许银银. 多行业增加值对国际贸易网络形成机理的研究[D]. 浙江大学, 2020. -Link-

5. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 网络, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxhsongbl 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh