问题标签 [apache-commons-math]
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.
java - 在 Scala 中构造 EnumeratedDistribution 的实例
我在做一些琐碎的事情时遇到了可怕的事情:在 Scala 中创建org.apache.commons.math3.distribution.EnumeratedDistribution的新实例。最好我能做出以下应该工作......
...这失败并在 REPL 中出现以下错误...
我的印象java.util.List
是抽象的,因此必须使用类似的东西ArrayList
。我确信这是微不足道的。想法?
apache - 为什么 Apache 数学中的尾部概率在 1E-16 之后下降到零?
Apache Math 3.4(和 3.3),java 1.8.0_25
为什么 Apache Math 在第二次调用中返回 0.0?一些统计库(Excel,但不是 R)确实返回的值远小于 1E-16 的尾部概率。
附加编辑:在下面的评论中,Robert 提供了一种直接计算卡方尾概率的方法,该方法使用 Apache 数学库 (regularizedGammaQ) 中不存在此精度问题的另一个函数。
java - `org.apache.commons.math3.distribution.BinomialDistribution(1,p)` 会带来很多性能开销吗?
伯努利分布等价于只有 1 次试验的二项分布,即BinomialDistribution(1,p)
来自 Apache Commons Math 库。伯努利分布显然比一般的二项分布要简单得多。
BernoulliDistribution(p)
如果性能很重要,我应该通过子类化自己来AbstractIntegerDistribution
实现,还是仅仅通过使用就可以获得几乎相同的性能BinomialDistribution(1,p)
?
java - Java上的插值和导数
我正在尝试制作一个项目,其中涉及从原始数据及其导数计算插值。我有两个看起来像这样的数组:
我想要一个函数来描述以下数组,所以我使用 apache-common-math 库来插入将描述函数的多项式,其中:F(A[i]) = B[i]。之后,我希望计算这个函数的导数,以便能够找到极值(最大值/最小值)。
出于某种原因,我在衍生部分遇到了麻烦。
目前使用:
现在我有了多项式,它是代表我以前的数组的函数。我应该如何计算它的导数..?
谢谢。
java - 学生 t 分布不同的值
当我在 中运行学生 t-distribution 时R
,我得到以下信息:
当我使用Apache Commons Math
库运行时,我得到以下信息:
价值观完全不同。这是预期的行为(或)我错过了什么吗?
编辑:
当我使用时cumulativeProbability
,我得到了以下输出,这也与 R 值有很大不同。
java - Apache DBSCANClusterer 总是在集群中返回一个点
我正在尝试使用 apache.commons.math3.ml.clustering 包中的 DBSCANClusterer,但没有成功。我正在使用 Apache Common Math 3.4.1
当我运行 DBSCANClusterer.cluster() 方法时,我总是得到一个带有一个点的集群,它始终对应于我的点列表中的第一个点。
我的输出总是: [1009.0, 1019.0] 。我在这里做错了什么?
java - 检查离散数据集的正态分布假设
我是统计主题的新手,所以我想我在这里遗漏的东西可能很明显。
基本上,我想根据Apache Commons Math的统计测试double
来检查某些整数值数组(直方图)是否符合具有一定显着性水平的正态分布(指定平均值和标准差) 。
我已经了解的是,常见的方法是计算p 值,然后确定零假设是否为真。
我的第一个“婴儿”步骤是使用单向方差分析测试检查两个数组是否来自同一分布(第二部分取自文档中的示例):
结果是:
假设显着性水平为 0.05,我可以推断假设为真(即两个数组来自相同的分布)p > 0.05
。
现在让我们进行 Kolmogorov-Smirnov 检验。文档中的示例代码显示了如何针对某个NormalDistribution
对象检查单个数组(这是我的目标)。然而,它也允许检查两个数组。在这两种情况下我都无法得到正确的结果。例如,让我们将上面的例子改编成 KS:
结果是:
我的问题是为什么本质上相同数据的 p 值现在这么小?这是否意味着该测试不适合此类数据?
我是不是该:
- 生成参考数组
NormalDistribution
(即具有指定的平均值和标准差),然后使用单向方差分析测试(或其他)将其与我的数组进行比较 - 以某种方式调整我的数据,然后使用 KS 将单个数组与
NormalDistribution
对象进行比较
?
java - 在 Apache Commons Math 中的程序流期间更改分布参数
我需要在我的代码中生成随机数,但我想根据当前场景更改分布的参数。该应用程序可以作为单线程或多线程应用程序运行。
我的问题是,我应该RandomGenerator
在我的类的构造函数中初始化对象,然后使用该RandomGenerator
对象来(重新)初始化NormalDistribution
,BetaDistribution
或任何其他AbstractRealDistribution
重复对象,还是在我需要更新参数后初始化我的分布对象。
就生成良好的随机数和最优性而言,哪个是更好的选择?
情况1:
案例二:
java - 用于提取密度可达点的 DBSCAN 库
我正在使用 DBSCAN 库从一组数据中提取集群。到目前为止,我已经使用 Apache Common Math 和 WEKA 库测试了 DBSCAN。(我的问题不在于哪些库可用于 DBSCAN 的实现)
到目前为止,我已经了解到在 DBSCAN 中有 3 种类型的点(根据维基百科):核心点、(密度)可达点和异常值。我的问题是我需要提取集群及其边界点或其密度可达点。
你知道任何允许我提取每个集群的密度可达点的 DBSCAN 库吗?
java - Apache Commons Math 正态累积概率
维基百科列出了多种计算正态分布累积概率的数值方法。但是,使用 Apache Commons Math,您不需要了解它们中的任何一个,因为该库只是为您完成了这项工作:
对于一些研究项目,我很想知道他们使用什么方法。有谁知道 Apache Commons Math 使用什么方法来近似正常累积值?是来自维基百科中列出的方法还是他们实现了不同的东西?