2014-02-20 300 views
0

如果我有一个变量数字数据输入,我该如何计算这个变量的平均值和标准差,即每次新输入值变为可用时更新它。计算平均值和标准差

我正在寻找Java环境中的解决方案。

问候

+1

参见:http://stackoverflow.com/questions/1930454/what-is-a-good-solution-for-calculating-an-average-where-the-sum-of-all-values- e和http://stackoverflow.com/questions/895929/how-do-i-determine-the-standard-deviation-stddev-of-a-set-of-values/897463 – qqilihq

回答

1

均值: 你会保持两个变量:1. runnting总2.运行项目迄今所看到的计数。意思是总计除以跑步数。

对于标准偏差: See John D. Cook's Accurately computing running variance。我曾经在SQL中使用过它使用窗口函数,并发现它非常有用

0

您可以使用Commons Math库中的SummaryStatistics class来执行此操作。

SummaryStatistics stats = new SummaryStatistics(); 
stats.addValue(1.0); 
stats.addValue(2.0); 
stats.addValue(3.5); 
stats.addValue(8.0); 

System.out.println("Mean: " + stats.getMean() + ", SD: " + stats.getStandardDeviation()); 
相关问题