问题标签 [boost-accumulators]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何在升压累加器中使用/访问用户参数?
我有一个自定义累加器的要点。我想知道如何从“参数包”中获取整数参数,或者这是否可能:
-
c++ - 使用空的 Boost 累加器
我很好奇,从这个代码片段中得到的平均值是多少?蓄能器是空的。
当我测试它时,平均值是非零的。有什么方法可以告诉我平均值是针对空数据集的吗?为什么“平均值”的结果值非零?
我正在查看 accumulator 库的文档,但找不到这个问题的答案。
c++ - 使用具有 Eigen::Vector 类型的 Boost 累加器
我在将Eigen::VectorXd
类型与 Boost 累加器库结合时遇到了一些问题:
在我的系统上,这会产生:
因此,虽然直接计算很好(特征向量支持所有常用的数值运算符)但 Boost 累加器在运行时失败而没有错误。
c++ - 对两个 boost::accumulator_set 实例求和
我最近发现了优秀的库 boost::accumulators,我想用它来替换我的一些积累统计数据的代码。
我在文档中找不到的一件事是能够对两个累加器集求和,如 operator+=
例子:
如何使用可用的 API 实现这一点?我不知道这是否可以用于库中所有类型的累加器(可能不适用于尾部),但它肯定可以用于重要的事情,如计数、总和、均值、矩、协方差等
c++ - 均值标签如何影响提升方差累加器?
包括均值标签会返回不正确的方差。我已经尝试过加权方差和直线方差,结果相似。我在下面包含了我的代码。难道我做错了什么?
样本输出:
代码:
c++ - 升压累加器可以用作类成员吗
我正在尝试使用升压累加器来计算滚动平均值。当我像这样声明变量内联时:
它工作得很好。当我将累加器声明为这样的类的成员时:
它失败了,给出了编译器错误:
c++ - 升压累加器error_of的目的是什么?
boost accumulators 的 error_of<mean> 特性的文档指出,它通过以下公式计算平均值的误差:
sqrt(方差/(计数 - 1)),
其中方差通过以下方式计算:
方差 = 1/count sum[ (x_i - x_m)^2 ] 其中总和超过样本的所有值 x_i i=1..count,x_m 是平均值。这给出了使用的公式(对于错误值):
sqrt(1/ (count(count - 1)) sum[ (x_i - x_m)^2 ] ),
维基百科指出,对于标准偏差,使用未校正或校正的样本标准偏差。后者通过以下方式计算:
sqrt(1/(count-1) * sum[ (x_i - x_m)^2] )
这是我通常用来计算平均值误差的方法。那么error_of<mean>的目的是什么?那里计算了哪个错误?
c++ - C++ 提升的滚动最小值和滚动最大值?
我有一些代码使用 Boost 累加器来跟踪滚动窗口的平均值——“滚动平均值”。除了滚动平均值之外,我还想跟踪同一滚动窗口中的最小值和最大值。
有没有办法用 Boost 累加器计算滚动最小值和滚动最大值?我没有看到方法...
我尝试将 min 和 max 标签添加到用于 rolling_mean 的累加器中,但这并没有给我想要的东西。
变成
但是,此处提供的最小值和最大值是在整个累加器上计算的,而不是限于与平均值相同的滚动窗口。
Boost文档说 min 和 max 是在所有样本中计算的,不限于滚动窗口。它们似乎没有提供限制或加权样本的方法。
我希望能够在滚动窗口中报告平均值/最小值/最大值。
我目前正在使用 Boost 版本 1.48.0。我查看了最新版本 (1.54.0) 的文档,并没有看到那里实现了滚动最小值/最大值。
我找到了一种非 Boost 方法来跟踪滑动窗口最小值,但这似乎也不是我想要的。我不想仅仅因为它们大于/小于之前的最小值/最大值而删除值,因为这会使 rolling_mean 不准确。
c++ - 使用 Boost::accumulators 查找超过 (µ + 3 sigma) 的值
这是我的问题:我有一个包含数据的二维矩阵。数据是高斯的,我需要找出哪些数据点是极端数据点。作为第一个估计,值 > (µ + 3 sigma) 应该没问题。只是为了确定我是否正确执行以下操作:我可以将数据添加到累加器,我能够计算 µ,但我怎样才能得到 f** sigma?