计算方差/标准差-JAVA

时间:2019-09-28 02:45:22

标签: java standard-deviation variance

有一张带有购买明细表。假设一个商品“巧克力”在过去的一个星期(从昨天开始的一个星期)内总共售出1500。昨天它总共被卖了230。我有每天和每周的计数。

是否可以通过对过去一周的计数取平均值并与昨天的计数进行比较来获得方差/标准差。基本上是avg(1500)和230上的方差/ sd。请提出其正确的使用方法,并就如何在Java中执行操作提供建议。

谢谢。

1 个答案:

答案 0 :(得分:1)

请查看以下答案:

https://stackoverflow.com/a/36186227/8310211

也许您想修改它以使用double []数组作为输入:

  public static double stdDev(double[] inputArray) {
    double sum = 0;
    double sq_sum = 0;
    for (int i = 0; i < inputArray.length; ++i) {
      double ai = inputArray[i];
      sum += ai;
      sq_sum += ai * ai;
    }
    double mean = sum / inputArray.length;
    double variance = sq_sum / inputArray.length - mean * mean;
    return Math.sqrt(variance);
  }