用igraph与poweRlaw拟合幂律时KS p值过小的矛盾问题
幂律分布拟合的矛盾结果疑问
我在使用R语言igraph包的fit_power_law函数时遇到了矛盾情况:该函数返回的KS.p(Kolmogorov-Smirnov检验的p值)用于判断拟合优度,按逻辑,KS p值越小越可能拒绝“数据来自幂律分布”的假设,若数据确实符合幂律,应得到较大的KS p值。
但我通过sample_fitness_pl生成了预期服从幂律度分布的随机图:
set.seed(137) g <- sample_fitness_pl(10000, 60000, exponent.out=2.2)
接着运行fit_power_law函数:
fit_power_law(degree(g))
得到的结果如下:
$continuous [1] FALSE $alpha [1] 2.363965 $xmin [1] 8 $logLik [1] -16114.15 $KS.stat [1] 0.02660938 $KS.p [1] 0.002639624
这里KS.p值极小,若以0.05为显著性水平,会拒绝“该度分布来自幂律”的假设,但这个图原本就是基于幂律度分布生成的。我还参考相关指引,用poweRlaw包的bootstrap方法估计p值:
data_pl = displ$new(degree(g)[degree(g)>0]) est <- estimate_xmin(data_pl) data_pl$xmin <- est$xmin data_pl$pars <- est$pars ds <- bootstrap_p(data_pl)
返回的p值为0:
bs$p [1] 0
请问该如何解释这一矛盾?欢迎各位提出见解!
内容的提问来源于stack exchange,提问作者Mengjun Wu
相关产品推荐
相关产品推荐

