[ 
https://issues.apache.org/jira/browse/MATH-718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253381#comment-13253381
 ] 

Thomas Neidhart commented on MATH-718:
--------------------------------------

The problem is not only related to the Beta function, also the 
ContinuedFraction.evaluate is numerically unstable.

The reason the cumulativeProbability returns infinity instead of NaN is because 
the evaluate return 0.0 when called from Beta.regularizedBeta, which leads to a 
division by zero. The used default epsilon of 10e-15 seems also quite 
restrictive, when relaxing the epsilon I got much better results (e.g. with 
10e-5 I got a result of 499997).
                
> inverseCumulativeProbability of BinomialDistribution returns wrong value for 
> large trials.
> ------------------------------------------------------------------------------------------
>
>                 Key: MATH-718
>                 URL: https://issues.apache.org/jira/browse/MATH-718
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 2.2, 3.0
>            Reporter: Yuji Uchiyama
>            Assignee: Sébastien Brisard
>             Fix For: 3.1, 4.0
>
>
> The inverseCumulativeProbability method of the BinomialDistributionImpl class 
> returns wrong value for large trials.  Following code will be reproduce the 
> problem.
> {{System.out.println(new BinomialDistributionImpl(1000000, 
> 0.5).inverseCumulativeProbability(0.5));}}
> This returns 499525, though it should be 499999.
> I'm not sure how it should be fixed, but the cause is that the 
> cumulativeProbability method returns Infinity, not NaN.  As the result the 
> checkedCumulativeProbability method doesn't work as expected.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to