【发布时间】:2014-03-21 17:07:26
【问题描述】:
如果我有一个变量的数字数据馈送,我如何计算这个变量的平均值和 SD 动态变量,即每次有新的输入值可用时更新它。
我正在寻找Java环境中的解决方案。
问候
【问题讨论】:
标签: standard-deviation mean java
如果我有一个变量的数字数据馈送,我如何计算这个变量的平均值和 SD 动态变量,即每次有新的输入值可用时更新它。
我正在寻找Java环境中的解决方案。
问候
【问题讨论】:
标签: standard-deviation mean java
意思是: 您将保留两个变量: 1. 运行总数 2. 到目前为止看到的项目的运行计数。平均值只是运行总数除以运行计数。
对于标准偏差: See John D. Cook's Accurately computing running variance。我过去在 SQL 中使用窗口函数使用过它,发现它非常有用
【讨论】:
您可以使用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());
【讨论】: