R:bootstrap模拟poweRlaw包的错误

时间:2015-10-27 11:58:09

标签: r statistics power-law

我使用<select name="project-team" id="search" class="form-control" size="12" multiple="multiple"> {% for value, text in form.project_team.field.choices %} <option value="{{ value }}">{{ text }}</option> {% endfor %} </select> 包来拟合一些数据并计算p值。我注意到在某些情况下,如果数据的变化不是很少,而且观察数量相对较少,一旦模拟次数超过某个阈值,我就无法计算p值。

考虑以下数据:

poweRlaw

可以拟合幂律并计算p值:

library(poweRlaw)
vec<-c(1,1,1,1,1,2,1,1,4,1,1,1,1,1,1,1,1,2,1,1,1,2,2,1,2,1,
       1,2,1,1,2,1,1,1,1,1,1,2,2,2,2,1,1,1,1,2)

然而,当我增加模拟次数时,例如35,我得到以下错误:

pl=displ$new(vec)
est=estimate_xmin(pl)
bts=bootstrap_p(pl,no_of_sims=30,seed=42)

实际上,我并不真正理解错误的实际含义。 我想这里的一个问题是观察到的数据可能不遵循幂律,至少不是在这个相对较少的观测值。但是为什么这个错误发生在35次模拟而不是30?

1 个答案:

答案 0 :(得分:0)

解决方案此问题已在poweRlaw版本0.7.1中修复

运行update.packages()

我认为错误的产生是因为在引导过程中,主要选择1时。这在估计缩放参数时导致数值不稳定。

我在https://github.com/csgillespie/poweRlaw/issues/56

创建了一个问题