Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:郑晓雪 (南开大学)
邮箱:1547241075@qq.com
目录
复杂网络理论的基础点是图论,主要研究方法是梳理各要素在网络中的地位和各要素之间的关系。其中以节点代表要研究的要素,以边表示要素之间的关系。社会网络分析的精髓之处在于,从网络成员之间的关联角度出发,能够将分析视角扩展至社会现象乃至社会结构 (Borgatti 和 Foster,2003)。
指数族随机图模型 (ERGM) 越来越多地应用于社会网络的研究。ERGM 是为了解释网络的全局结构,同时允许在微观层面上对联系预测进行推断。例如为什么一些点之间会有链接?为什么某些点在网络中处于中心地位,其他点处于外围?为什么一些网络紧密相连,而另一些则稀疏?
ERGM 的目的是识别影响节点间关系创建的原因,即在给定一定数量的变量的情况下,评估两个节点之间连接的概率。在ERGM中,我们可以发现两种类型的解释变量:结构变量 (structural variables) 和节点或边缘变量 (node or edge-level variables)。后者来自其他数据来源,可以是年龄、公司规模、邻近程度、性别等等。结构变量可以包含三元闭包、度分布和子图等指标。
ERGM 区别于传统回归模型的是,在研究网络连边的影响因素时不用考虑变量的独立性假设,经过估计、诊断、仿真等一系列步骤,使得模拟网络无限趋近于真实网络,极大地减小了模型预测误差。ERGM 通常使用的参数估计方法为马尔可夫链蒙特卡洛最大似然估计。
我们注意到
其中,
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等) 有多种形式,本文只模拟了边和互惠性,其他网络结构的估计同理,但网络结构在实际中赋予的含义更为重要。
下面基于命令进行相应的实际操作和结果解读。
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 低的个体更容易与外界产生网络连接,femalel、eversmkl 同理。Mutual 估计系数为正,说明两点间具有互惠性,即 A 对 B 发生关系,B 也倾向于对 A 发生关系。以国际贸易为例,即表示若 A 国对 B 国出口,往往可以促进 B 国对 A 国的出口。
# 模型诊断
mcmc.diagnostics(mode4) # 采用蒙特卡洛模拟与真实网络的分布比较
由于之前 parallel 并行为 4,所以每个模拟中有 4 条线。从图中看出,hispanic 和 female1 的曲线最高点不在图中的中线处,因此拟合程度不好;而 eversmk1 的曲线最高处基本均在图的中线处,因此拟合程度较好。
# 数据拟合
gof <- gof(mode4)
plot(gof) # 拟合优度检验
从图中可以看出,曲线 (拟合) 与蓝色点 (真实网络) 有所出入,因此本网络拟合程度不好。
Note:产生如下推文列表的 Stata 命令为:
lianxh 网络, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh