创建具有“相同”幂律度分布的随机图

时间:2014-11-14 09:08:27

标签: r igraph

我有一个无向图(蛋白质 - 蛋白质相互作用网络,PPi),我知道它的度分布近似于幂律分布。我想创建1000个随机图,复制节点数,边数和"类似"幂律法外分布。

我的真实图g.lcc有:

> g.lcc
#IGRAPH UN-- 12551 166189 -- 
#+ attr: name (v/c), V3 (e/n)

到目前为止我做的是:

#Calculate the alpha for my distribution
alpha <- power.law.fit(degree(g.lcc, mode="out"))
#$continuous
#[1] FALSE

#$alpha
#[1] 4.529602

#$xmin
#[1] 178

#$logLik
#[1] -1123.405

#$KS.stat
#[1] 0.0446421

#$KS.p
#[1] 0.7825008

然后我使用statitc.power.law.game使用exp.out生成的alpha power.law.fit运行random.g <- static.power.law.game(12551, 166189, 4.53, exponent.in=-1, finite.size.correction=T)

{{1}}

然而,当我这样做时,这两个发行版甚至不相似......

任何帮助??

P.S用real.ppi和random.g附上两张图片

Random graph Real PPI

1 个答案:

答案 0 :(得分:2)

您如何知道PPI网络的学位分布近似于幂律?它也可以是任何其他胖尾分布。此外,得到的幂律拟合的$xmin值表示最佳拟合是通过在= 178处的较低截止值实现的,并且在178以下的度数处发生的任何值都不是通过该方法拟合的指数来近似。 p>

如果您想创建一个随机网络完全相同的度数分布,您可以尝试使用degree.sequence.game从头开始生成一个(确保使用{{ 1}}或method="vl"如果要避免同一对节点之间有多条边),或使用method="simple.no.multiple重写图形的边缘。

反电力法,我建议阅读this paper关于经验数据中类似幂律的分布。