首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >poweRlaw包截断分布的幂律拟合

poweRlaw包截断分布的幂律拟合
EN

Stack Overflow用户
提问于 2017-07-15 15:06:33
回答 3查看 1.9K关注 0票数 3

我目前正试图找到一种方法,以计算适合于与MLE切断分布的幂律。分布情况如下:

正如你所看到的,我能够分别拟合整个分布(幂律匹配)和下界(exp拟合)。我没有搞清楚的是,如何拟合分布的上限(f.e。8

对于poweRlaw包或任何其他R包,有什么方法可以这样做吗?我希望看到的是这样的东西(注意:这只是一个随机分布):

代码(如有必要):

代码语言:javascript
复制
#Power-Law
library("poweRlaw")
xmin1 <- 8
xmin2 <- 100
plf0 <- displ$new(deg)
plf0$setXmin(xmin1)
plf0_pars <- estimate_pars(plf0)
plf0$setPars(plf0_pars)

#Exponential
exp1 <- disexp$new(deg)
exp1$setXmin(xmin2)
exp1_pars <- estimate_pars(exp1)
exp1$setPars(exp1_pars)
plot(plf0)
lines(plf0, col="green")
lines(exp1, col="red")
EN

回答 3

Stack Overflow用户

发布于 2017-07-17 06:50:19

您不能将这种类型的模型与poweRlaw包相匹配(我是包作者)。

不太可能将它添加到近包中的包中。

票数 0
EN

Stack Overflow用户

发布于 2017-08-21 14:51:01

下面的解决方案提供了可以使用rpy2运行的R代码。

它提供了基于权力法库的源代码(如凯尔文的答复所建议的)的说明,主要来自:https://github.com/jeffalstott/powerlaw/blob/master/testing/pli-R-v0.0.3-2007-07-25/powerexp.R文件。

  1. 安装Gnu科学图书馆(GSL) 在Debian中:apt-get install libgl2
  2. 从github下载权力法 python库代码。
  3. 解压缩并生成位于以前下载的库的exponential-integral.tgz文件夹中的testing/pli-R-v0.0.3-2007-07-25/文件。 tar指数积分.tar cd指数积分
  4. 从这里开始,将exp_int文件移动到可执行路径,名为yourexecutablepathmv exp_int yourexecutablepath
  5. 使用exp_int可执行文件的完整路径修改powerexp.R文件中的exp_int变量,即yourexecutablepath/exp_int
  6. eval exp.Rpareto.Rpowerexp.R R源代码,包括所有需要的函数。
  7. 将您的数据与幂律相匹配,并对以下R调用进行指数截断评估: 数据<-列表(5,3,.)Powerexp.fit(取消列表(数据))

最后一个命令的输出提供了几个输出值,其中exponent给出幂律α值,rate给出指数截断参数。

票数 0
EN

Stack Overflow用户

发布于 2021-09-04 12:52:33

你试过在亚伦·克劳塞特的网页上使用R源代码吗?我指的是Cosma Shalizi,在计算似然比检验结果的部分.根据文档的说法,它用指数型袖口处理幂律。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45119636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档