计算 Variance/Standard 偏差 - JAVA
Computing Variance/Standard deviation - JAVA
有一个 table 包含购买详情。假设一件商品 "chocolate" 在过去一周(从昨天开始的一周)总共售出 1500 件。昨天一共卖了230个。我有每天和每周的计数。
是否可以通过对过去一周的计数取平均值并与昨天的计数进行比较来获得 variance/standard 偏差。基本上是 avg(1500) 和 230 上的方差/sd。请在 java.
中建议其正确的方法和建议
提前致谢。
请看一下这个回答:
也许您想修改它以使用双精度[] 数组作为输入:
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);
}
有一个 table 包含购买详情。假设一件商品 "chocolate" 在过去一周(从昨天开始的一周)总共售出 1500 件。昨天一共卖了230个。我有每天和每周的计数。
是否可以通过对过去一周的计数取平均值并与昨天的计数进行比较来获得 variance/standard 偏差。基本上是 avg(1500) 和 230 上的方差/sd。请在 java.
中建议其正确的方法和建议提前致谢。
请看一下这个回答:
也许您想修改它以使用双精度[] 数组作为输入:
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);
}