0

boost::accumulators::tag::extended_p_square_quantile用于计算百分位数。在这种情况下,我还需要将概率提供给累加器,所以我这样做了m_acc = AccumulatorType(boost::accumulators::extended_p_square_probabilities = probs);,其中 probs 是一个包含概率的向量。

概率向量中的值是{0.5,0.3,0.9,0.7}

我为累加器提供了一些示例值。

但是,当我尝试使用boost::accumulators::quantile(m_acc, boost::accumulators::quantile_probability = probs[0]);它来获取百分位数时,它会返回不正确的值,有时甚至会返回 nan。

这里有什么问题?

4

1 回答 1

0

我遇到了这个问题,浪费了很多时间来解决这个问题,因此想回答这个问题。

问题在于向量。Vector 应按其值的递增顺序短接。

将向量值更改为此{0.3,0.5,0.7,0.9},它将按预期工作。

因此,如果有人使用tag::extended_p_square_quantile百分位数(支持多个概率),那么(s)他需要按排序顺序给出概率(向量/数组/列表)。

情况并非如此,tag::p_square_quantile因为我们只能在其中给出一个值(概率)。

于 2016-06-23T06:37:32.590 回答