Обратная кумулятивная функция бета-распределения в Java с меньшим значением Double

Я использую apache-commons-math для функции обратного кумулятивного бета-распределения, но она дает неверные результаты для значений меньше 2E-15. Вплоть до значений 2E-15 результаты верны и также проверяются из R.

Value 2E-15
Result in R = -7.854929
Result in Java  = -7.8529

Value 2E-16
Result in R = -8.1385
Result in Java  = -35355339.059

Может ли кто-нибудь предложить мне какое-либо решение


person K.Liaqat    schedule 07.03.2017    source источник


Ответы (1)


Обратный CDF для бета-распределения имеет диапазон [0, 1]. Поскольку и R, и Apache Commons Math возвращают отрицательные значения, очевидно, что при вычислении обратного CDF для таких малых вероятностей есть некоторые числовые ошибки.

Скорее всего, у вашей задачи нет численного решения. Вместо этого должно быть достаточно рассматривать все отрицательные выходные данные обратного CDF как нулевые.

person Brent Worden    schedule 01.08.2017