2014-02-20 3 views
0

Если у меня есть подача данных для переменной, как я могу рассчитать среднее значение и значение SD для этой переменной на лету i.e обновлять ее каждый раз, когда появляется новое входное значение.Вычислить среднее и стандартное отклонение

Я ищу решение в среде 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-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

Вы можете использовать SummaryStatistics class в библиотеке Commons Math для этого.

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()); 
Смежные вопросы