如何使用boost库获得SAMPLE标准偏差?

Gra*_*ent 4 boost sample standard-deviation

这是我所做的:

accumulator_set<double, stats<tag::variance> > accumulator;
accumulator = for_each(x.begin(), x.end(), accumulator);
double sDeviation = sqrt(variance(accumulator));
Run Code Online (Sandbox Code Playgroud)

但返回的标准差是总体标准差。我需要样本标准偏差(除以 n-1)。

Boost 能做到吗?

小智 5

在取平方根之前,只需将方差乘以 n/(n-1)。请参阅有关数学标准偏差的维基百科页面。请记住,虽然样本方差是无偏的,但如果您不知道所讨论的分布,则在取平方根后,样本标准偏差始终会略有偏差。