Boost :: процентиль аккумулятора дает неправильные значения

я использую boost::accumulators::tag::extended_p_square_quantile для расчета процентиля. В этом мне также нужно передать вероятности в аккумулятор, поэтому я сделал это m_acc = AccumulatorType(boost::accumulators::extended_p_square_probabilities = probs); где probs — вектор, содержащий вероятности.

Значения в векторе prob являются {0.5,0.3,0.9,0.7}

Я предоставил некоторые примерные значения для аккумулятора.

Но когда я пытаюсь получить процентиль, используя boost::accumulators::quantile(m_acc, boost::accumulators::quantile_probability = probs[0]); он возвращает неправильные значения и даже иногда NAN.

Что здесь не так?

0

Решение

Я столкнулся с этой проблемой и потратил много времени, чтобы выяснить проблему и поэтому хочу ответить на нее.

Проблема с вектором. Вектор должен быть закорочен в порядке возрастания его значений.

Измените значения вектора на это {0.3,0.5,0.7,0.9} и это будет работать как положено.

Так что, если кто-то использует tag::extended_p_square_quantile для процентиля (который поддерживает множественные вероятности) тогда (ей) он должен дать вероятности (вектор / массив / список) в отсортированном порядке.

Это не так с tag::p_square_quantile потому что мы можем дать только одно значение (вероятность) в нем.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector