标准差计算-我是否遵循正确的方法?我们如何找到SD百分比?

Cur*_*arn 2 java deviation variance standard-deviation

我有一个查询,该查询提供了以下数据。

item_name, total_purchase_count_per_week, previous_day_purchase_count.
Run Code Online (Sandbox Code Playgroud)

例如,

iPhone , 4800, 200 
Samsung, 3000, 470
Moto, 1700, 80
Run Code Online (Sandbox Code Playgroud)

现在,我想知道昨天购买的商品与前一周购买的每样商品有多少百分比。

例如:

  • 5%,这意味着昨天的购买量比前一周的购买量高,相差5%
  • -11%,这意味着昨天的购买量低于前一周的购买量,偏差为-11%

这是我尝试的:

我写的Java方法,这需要avg(total_purchase_count_per_week)previous_day_purchase_count作为输入提供给SummaryStatistics并计算SD和方差。

 SummaryStatistics txnCountSummary = new SummaryStatistics();

 txnCountSummary.addValue(totalCount);
 txnCountSummary.addValue(avgCountPWeek);

 Double sd = txnCountSummary.getStandardDeviation();
Run Code Online (Sandbox Code Playgroud)

在这种情况下,SummaryStatistics需要685(即4800/7前一周的平均计数)和200(昨天的计数)得出SD为342.94

  1. 我是否使用正确的输入来计算SD?仅取上周的平均值并用昨天的计数来计算SD就足够了吗?
  2. 如果是,我们如何计算百分比偏差?例如,如上例中所述,昨天的购买量比前一周的平均水平偏离了5%或-2%。
  3. 如果否,请告诉我正确的方法以得出正确的偏差百分比。如果需要,我可以更改查询以提取其他详细信息。

提前致谢。

小智 5

我认为您想要找到的是昨天计数与上周平均值的偏差。这基本上是(yesterdayCount - (sumOfLastWeekCount/numberOfDaysLastWeek))/(sumOfLastWeekCount/numberOfDaysLastWeek)

这与标准偏差不同,标准偏差基本上是测量一系列数据点相对于其平均值的散布程度。(标准偏差定义