问题标签 [power-law]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何从直方图中拟合 R 中的幂律分布
我已经实现了将数据拟合到幂律分布的方法,该方法在论文“Clauset 等人的经验数据中的幂律分布”中进行了解释
然后你有我的代码,它运行良好,并使用实现的示例数据“moby”作为输入。输入数据格式必须是数字列表。所有这些代码都基于 powRlaw 包,该包有大量文档
因此,当 ia 说输入数据是像 [1,1,1,2,2,1,1,2,1,1,5,4,1,6,8.. .]
但在我的情况下,我将输入数据作为数据直方图中的两个向量。该直方图遵循幂律,我想使用先前的方法来检查该假设。从直方图中采样数据并使用前面的代码不是一种选择,因为我的向量很大。
如何像前面的代码一样使用拟合幂律分布,但使用直方图作为输入?
我的输入数据示例,其中第一列是值,第二列是频率:
r - 在R中具有指数截止分布的幂律参数估计过程中的nls误差
我想用几个已知的分布来拟合 mydata,power law with exponential cutoff
分布是候选之一。
fitdistr
包fitdistrplus
中的函数是使用 MLE、MME 或 QME 进行参数估计的好方法之一。
但power law with exponential cutoff
不是根据CRAN Task View: Probability Distributions的基本概率函数,所以我尝试了这个nls
函数。
的pdfpower law with exponential cutoff
是 f(x;α,λ)=C*x^(−α)*exp(−λ*x)
首先,我生成一些随机值来替换我的真实数据:
然后,我使用nls
函数进行参数估计:
nls(y~c*x^(-a)*exp(-b*x),start=list(a=1,b=1,c=1))
但它不起作用并且总是抛出以下两个错误之一:
Error in numericDeriv(form[[3L]], names(ind), env) : Missing value or an infinity produced when evaluating the model
或者:singular gradient matrix at initial parameter estimates
发帖之前,我已经阅读了几乎所有以前的帖子和google,错误有几个原因:
- 的起始值错误
nls
。我尝试了很多,但它不起作用。 Inf
可能会生成一些负值或小于 1 的值或等于的值。我尝试进行数据清理,但它也不起作用。
我现在该怎么办?还是有其他更好的方法来进行参数估计power law with exponential cutoff
?我需要你的帮助,谢谢!
r - 幂律分布拟合
我有一个数据样本,样本量约为 500,000。我目前正在尝试使用幂律分布拟合样本poweRlaw
R 中的包来拟合具有幂律分布的样本。
所以这是我的代码:
但是,当我尝试运行代码时出现问题x<-estimate_xmin(pl_rg,xmax = 100)
. 我发现这段代码非常非常耗时。到目前为止,我已经运行了这段代码长达 5 个小时,它仍在运行。
那么有什么方法可以加速这个过程或其他符合幂律的方法吗?
python - 使用 scipy 最小化拟合幂律
我想使用scipy minimize
形式的函数进行最大似然估计
假设误差在预测周围呈正态分布。目前,真正的参数根本无法恢复(见下文)。
负对数似然函数:
这是我目前使用的代码,但正如您所看到的,收敛后的参数与真实参数相差甚远。
生成虚假数据
拟合模型
r - 如何在 R 中为非常大的数据集使用 powerlaw 包?
我正在为 4500 万行向量拟合幂律,为此我使用 R 中的 powRlaw 包:https ://arxiv.org/pdf/1407.3492.pdf
该过程中计算量最大的部分是估计下限,这是通过estimate_xmin()
函数完成的。这需要很多时间。
代码是这样的(w
是向量,c_pl
来自“连续幂律”):
我想知道如何以estimate_xmin()
最小化处理时间(可能是并行计算?)的方式使用该函数,我正在使用具有 16 个内核和 64GB RAM 的 AWS 实例。谢谢。
python - 幂律曲线拟合 scipy,numpy 不工作
我在数据上拟合幂律曲线时遇到了问题。我有两个数据集: bins1 和 bins2
bins1 通过使用 numpy.linalg.lstsq 在曲线拟合中表现良好(然后我用它np.exp(coefs[0])*x**coefs[1]
来获得幂律方程)
另一方面,bins2 表现得很奇怪并且显示了一个糟糕的 R 平方
这两个数据的方程与 excel 显示的不同(更差的 R 平方)。
这是代码(和数据):
bins1[[x],[y]]python: y = 0.337*(x)^1.223 (R^2 = 0.7773), excel: y = 0.289*(x)^1.174 (R^2 = 0.8548)
的拟合公式: bins2[[x],[y]] 的拟合公式:python: y = 0.509*(x)^1.332 (R^2 = -1.753), excel: y = 0.311*(x)^1.174 (R^2 = 0.9116)
这是 30 个样本数据集中的两个样本数据集,我在我的数据中随机看到了这个拟合问题,有些的 R 平方在“-150”左右!!
Itried scipy "curve_fit" 但我没有得到更好的结果,实际上更糟!
任何人都知道如何在 python 中获得类似 excel 的适合度?
python - 幂律 Python 包错误
我目前正在尝试使用 powerlaw 包中的 powerlaw.Fit() 函数拟合一组(正)数据。但是,每次执行此操作时,我都会收到以下消息:
多年来我一直试图弄清楚这意味着什么,但显然没有成功。我一直面临的另一个问题是,每当我使用
和我的PDF使用
使用我的数据,我只获得了 CCDF 的图,但没有获得 PDF 的图。为什么会发生所有这些事情?我的数据在 NumPy 数组中,如下所示:
我怀疑我的数据是否存在任何问题,因为正如我所说,我得到的 CCDF 的情节非常好。任何形式的帮助将不胜感激。提前致谢。(编辑:数据由 1908 个非整数值组成)
matlab - 幂律函数 y= a(x^b)+c 的曲线拟合
我是 MATLAB 新手,我正在尝试通过数据集拟合幂律。我一直在尝试使用 isqcurvefit 函数,但我不确定如何继续,因为通过 Google 找到的说明对于初学者来说太复杂了。我想从方程 y = a(x^b)+c 导出值 b 和 c,任何建议都将不胜感激。谢谢。
matlab - MatLab 幂律,非正值误差
嗨,我正在尝试使用 MatLab 的拟合函数将幂模型拟合到我的数据中
但是,当我运行它时,我得到了错误
查看我的数据并检查是否有小于 1 的数据时,没有显示任何内容
M 是一个包含两列的 csv 文件。我还重新运行了代码
并没有显示任何内容。手动检查,似乎也没有低于 1。
i 只是正在解析的文件中的行。该文件看起来像
M(i,1) 将导致返回 >300 个数字之一,并且 M(i,2) 将返回 ~10 值任何帮助将不胜感激!
谢谢