这是我做的:
accumulator_set<double, stats<tag::variance> > accumulator;
accumulator = for_each(x.begin(), x.end(), accumulator);
double sDeviation = sqrt(variance(accumulator));
但返回的标准差是人口标准差。我需要样本标准差(由n-1除)。
Can Boost能做到吗?
答案 0 :(得分:4)
在取平方根之前,只需将方差乘以n /(n-1)。有关数学,请参阅wikipedia page标准偏差。请记住,虽然样本方差是无偏的,但如果您不知道有问题的分布,则在取平方根后,样本标准偏差总是略有偏差。