2

MathNet.Numerics.Statistics只有Push()方法,没有Pop()方法。

假设我的窗口大小设置为 5,并且我已经使用 对 5 个值进行了采样Push(),此时我希望当我对下一个(第六个)值进行采样时,它会删除第一个值。

因为没有从运行/累积标准偏差中的采样值中删除样本的方法,所以我无法仅跟踪整个采样值的最后一个窗口。

这样我就可以将自己的逻辑用于固定大小的队列,并且能够继续跟踪均值、方差和标准差。每次采样一个新值时都不会重新计算整个最后一个样本窗口的偏差。

如果没有“Pop”方法(删除第一个值),那么WindowedStandardDeviation在使用时是否已经存在RunningStatistics我缺少的功能?

4

1 回答 1

1

从 v3.7.0 开始,有一个新类 MovingStatistics,其工作方式与 RunningStatistics 类似,但仅跟踪最后 N 项:

var s = new MovingStatistics(5);
s.Push(2.0);
// ....
var std = s.StandardDeviation;
于 2015-06-08T05:12:54.280 回答