gpt4 book ai didi

r - 输入以将幂律拟合到网络的度分布

转载 作者:行者123 更新时间:2023-12-01 20:12:06 25 4
gpt4 key购买 nike

我想使用R测试网络的度分布是否表现得像具有无标度属性的幂律。尽管如此,我读过不同的人以多种不同的方式做这件事,一个令人困惑的点是模型中应该使用的输入。

例如,Barabasi 建议将幂律拟合到度数的“互补累积分布”( see Advanced Topic 3.B of chapter 4, figure 4.22 )。然而,我见过人们将幂律拟合到图表的度数(通过 igraph::degree(g) 获得),我也看到其他人将幂律拟合到度数分布,通过 igraph::degree_distribution(g, cumulative = T) 获得。

正如您在下面的可重现示例中看到的,这些选项给出了截然不同的结果。哪一个是正确的?我怎样才能从图表中得到“度数的互补累积分布”,以便我可以拟合幂律?

library(igraph)

# create a graph
set.seed(202)
g <- static.power.law.game(500, 1000, exponent.out= 2.2, exponent.in = 2.2, loops = FALSE, multiple = T)

# get input to fit power-law.

# 1) degrees of the nodes
d <- degree(g, v = V(g), mode ="all")
d <- d[ d > 0] # remove nodes with no connection

# OR ?

# 2) cumulative degree distribution
d <- degree_distribution(g, mode ="all", cumulative = T)

# Fit power law
fit <- fit_power_law(d, impelementation = "R.mle")

最佳答案

好吧,这里的问题是这里有两个不同的统计数据。节点的度表示它与其他节点有多少连接。度分布是这些度在网络上的概率分布。

对我来说,应用 igraph::fit_power_law 没有多大意义。度分布,因为度分布在一定程度上已经是幂律了。

但是,不要忘记 igraph::fit_power_law比实现参数有更多的选项,这将导致不同的结果,具体取决于您“提供”的内容。

关于r - 输入以将幂律拟合到网络的度分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43769677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com