我试图将分层随机图模型拟合到edgelist (表示无权、无向大网络中的交互),并度量模型的聚类和路径长度。我不太确定我所做的是否正确,因为我可能没有完全掌握这些文档。
这是密码。
#Import Edgelist, convert to igraph
imported_g=read.csv('graph_edgelist.csv',header=FALSE,check.names=FALSE)
g=graph.data.frame(imported, directed=FALSE, vertices=NULL)
#Calculate parameters, make sure network is ok.
transitivity(g)
>0.3352213
average.path.length(g)
>3.6299
#Fit HRG model, convert back to igraph object to measure metrics.
hrg_model = hrg.fit (g, hrg = g, start = FALSE, steps = 0)
igraph_hrg=as.igraph(hrg_model)
#Measure metrics of fit_hrg
average.path.length(igraph_hrg)
>50
transitivity(igraph_hrg)
>0基本上,igraph的度量标准与我导入的edgelist非常不同(它具有更低的路径长度和更高的聚类)。我认为这意味着模型未能捕捉到edgelist的属性,但我不确定我是否正在生成HRG模型。
将HRG模型拟合到图中与实际生成HRG模型之间有什么区别,我可以用它来测量有用的参数?会不会是igraph函数hrg.create?
igraph代码的基础是:http://tuvalu.santafe.edu/~aaronc/hierarchy/
希望我的问题有意义。
发布于 2015-10-25 19:55:59
不要将hrg=...参数传递给hrg.fit --只有当您有一个要用作起点的HRG模型时,才应该使用它。(除非将start设置为TRUE,否则无论如何都会忽略它)。否则,您的代码似乎是正确的-并且请注意,HRG模型从未打算捕获平均路径长度或原始图的传递性。不久前,我用几个随机图模型做了一些实验,看看它们有多紧密地复制了一些生物网络的不同结构特性。我的结果表明,分层随机图模型在复制网络的平均度和平均顶点--顶点距离方面做得很好,但在再现平均顶点传递率或motif事件方面还不够好--但公平地说,我也没有找到任何其他能很好地完成这项工作的随机图模型。
将HRG模型拟合到图中与实际生成HRG模型之间有什么区别,我可以用它来测量有用的参数?
模型拟合采用实际(实)图,并为层次随机图模型寻找参数,该模型能很好地逼近真实图(在某种意义上)。生成步骤采用参数化的HRG模型(通常是从前一个拟合步骤建立的),然后创建另一个图。这是用sample_hrg实现的。
会不会是igraph函数hrg.create?
不,hrg.create采用二叉树表示的HRG模型的结构(类似于您在亚伦的论文中看到的图),然后创建一个HRG模型对象,您以后可以传递给sample_hrg。
https://stackoverflow.com/questions/33272778
复制相似问题