java - Apache Commons Math 的标准偏差

标签 java math apache-commons apache-commons-math

我正在使用 Apache Commons Math 计算 vector 的 SD。问题:我得到的值与手动得到的值不同

DescriptiveStatistics stats = new DescriptiveStatistics();
stats.addValue(value1);
...
stats.addValue(value8);
stats.getStandardDeviation();

例如,取值 [1699.0, 1819.0, 1699.0, 1719.0, 1689.0, 1709.0, 1819.0, 1689.0]。 SD 应为 52.067,但 Commons Math = 55.662。

我做错了什么?

最佳答案

Apache StandardDeviation 类可用于计算两个值:“标准差”和“总体标准差”。

为了计算第二个值,将其初始化为

    StandardDeviation sd = new StandardDeviation(false);

例子:

    double[] v = {1.0, 2.0, 3.0, 4.0, 5.0};
    StandardDeviation sd = new StandardDeviation(false);
    sd.evaluate(v);
    // returns 1.414

    StandardDeviation sd2 = new StandardDeviation();
    sd2.evaluate(v);
    // returns 1.581

关于java - Apache Commons Math 的标准偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15306207/

相关文章:

c - 较小的股息和较大的除数的模数如何工作?

arrays - 给定两个数组 A 和 B ,找到两个数组中的第一个数字,使得替换它们使得数组 A 的总和等于数组 B 的总和

java - 使用 Apache IO Java 的多线程复制 IO 操作

java - 包结构命名约定?

Java : Converting colored image to monochrome and keep text readable

c - 数学幂运算符未按预期工作

Apache Commons 的 sbt 配置

java - Apache Commons 的最新 Maven 依赖项

java - 为 Java Web Start 应用程序动态生成 JNLP 文件?

java - 为什么使用 JavaIO 加载此 jpg 会出现 CMMException?