楼主: wuxin19950510
7518 6

[有偿编程] 用R做网络分析,模型ERGMs求助 [推广有奖]

  • 2关注
  • 6粉丝

已卖:3393份资源

本科生

43%

还不是VIP/贵宾

-

威望
0
论坛币
7309 个
通用积分
20.5448
学术水平
17 点
热心指数
17 点
信用等级
16 点
经验
1921 点
帖子
70
精华
0
在线时间
59 小时
注册时间
2017-1-25
最后登录
2019-12-23

楼主
wuxin19950510 学生认证  发表于 2019-2-8 23:32:02 |AI写论文
100论坛币
我想使用R做一个ERGM的网络分析,我的被解释变量是26*26的矩阵,解释变量为26*9的矩阵,我将对应空白数据填为0,发现跑不出来结果,各位大神有没有什么方法帮帮忙?感激不尽!
  1. #被解释网络取非对角线上较小值为0
  2. BondyieldSpillover_test<-BondyieldSpillover[[88]]
  3. for (i in 1:26){
  4.   m<-which(abs(BondyieldSpillover[[88]][,i])<0.05)#取绝对值小于0.05的值为0
  5.   BondyieldSpillover_test[m,i]<-0
  6. }
  7. #被解释变量网络
  8. NET1<-as.network(BondyieldSpillover_test,directed = T,matrix.type = "a",ignore.eval = T,names.eval = "nominations")
  9. #解释变量网络
  10. NET2<-as.network(CapitalAllocation_Allocation[[88]],directed = T,matrix.type = "a",ignore.eval = T,names.eval = "nominations")
  11. #ergms回归
  12. summary(ergm(NET1~edges+edgecov(NET2)))
复制代码
MPLE结果显示为:
  1. Monte Carlo MLE Results:
  2.              Estimate Std. Error MCMC % z value Pr(>|z|)   
  3. edges               5.1818     0.5789      0   8.951   <1e-04 ***
  4. edgecov.NET2      Inf     0.0000      0     Inf   <1e-04 ***
复制代码

即参数为infinite。。。求教求教




关键词:网络分析 GMS Spillover Yields lover

沙发
tiesuoqiao 发表于 2019-2-12 00:59:22
我记得最普通的ERGM,被解释的网络只能是0-1
你的解释变量难道不应该也是26x26?

inf 估计是解释矩阵被认为为0


我曾经做过的

# adj_iobin  0-1 邻接方阵

io <- graph_from_adjacency_matrix(adj_iobin, mode = 'undirected', weighted = TRUE, add.colnames = 'label', diag = FALSE)

a_network <- network(adj_iobin, directed = FALSE)  #被解释网络


net_full <- asNetwork(make_full_graph(length(V(io)), directed = FALSE, loops = FALSE))
#解释网络  全连接

set.edge.value(net_full, "dist_io", as.matrix(distMatrix_io))
# distMatrix_io 是方阵,node--node距离,赋予到名为“dist_io"的属性

DSmod0 <- ergm(a_network ~ edges +  edgecov(net_full, "dist_io"), control = control.ergm(seed = 40))

已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 40 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 40  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

藤椅
tiesuoqiao 发表于 2019-2-20 03:21:35
我记得最普通的ERGM,被解释的网络只能是0-1
你的解释变量难道不应该也是26x26?

inf 估计是解释矩阵被认为为0


我曾经做过的

# adj_iobin  0-1 邻接方阵

io <- graph_from_adjacency_matrix(adj_iobin, mode = 'undirected', weighted = TRUE, add.colnames = 'label', diag = FALSE)

a_network <- network(adj_iobin, directed = FALSE)  #被解释网络


net_full <- asNetwork(make_full_graph(length(V(io)), directed = FALSE, loops = FALSE))
#解释网络  全连接

set.edge.value(net_full, "dist_io", as.matrix(distMatrix_io))
# distMatrix_io 是方阵,node--node距离,赋予到名为“dist_io"的属性

DSmod0 <- ergm(a_network ~ edges +  edgecov(net_full, "dist_io"), control = control.ergm(seed = 40))

板凳
网豆瓣 发表于 2019-6-1 09:54:17
应该把数据处理成26*26的处理成网络数据,然后26*9的作为节点数据加进网络属性,然后根据26*9的数据也可以计算边的属性,之后进行ergm就很简单了
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 20 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 20  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

报纸
是佳航啊 发表于 2022-11-22 14:51:17
看到一篇文章提到的是计数ergm,那被解释变量是不是就不要求必须是0或1

地板
福田678 发表于 2023-9-25 14:56:54
tiesuoqiao 发表于 2019-2-12 00:59
我记得最普通的ERGM,被解释的网络只能是0-1
你的解释变量难道不应该也是26x26?
你好,net_full <- asNetwork(make_full_graph(length(V(io)), directed = FALSE, loops = FALSE)) 提示没有asNetwork这个函数,请问是怎么回事

7
Baidu1123 发表于 2024-9-13 10:48:41
网豆瓣 发表于 2019-6-1 09:54
应该把数据处理成26*26的处理成网络数据,然后26*9的作为节点数据加进网络属性,然后根据26*9的数据也可以计 ...
您好,26*9的怎样作为节点数据加进网络属性?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 10:03