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

Gilles Sadowski commented on STATISTICS-25:
-------------------------------------------

Workaround is in commit 5b79ca6b24f05eb4b45a48531129abba4d0b683a ("master" 
branch).
{quote}what the cutoff should be?
{quote}
According to Python output, it should be 1e10.
Unfortunately, I had to choose a much lower value (2.99e6) because it seems 
that the default computation (calling the "Beta" function) is inaccurate beyond 
that.
For accuracies higher than 1e-9, the issue should probably be explored further 
(e.g. by comparing with another's library implementation).

> T Distribution Inverse Cumulative Probability Function gives the Wrong Answer
> -----------------------------------------------------------------------------
>
>                 Key: STATISTICS-25
>                 URL: https://issues.apache.org/jira/browse/STATISTICS-25
>             Project: Apache Commons Statistics
>          Issue Type: Bug
>            Reporter: Andreas Stefik
>            Priority: Major
>
> Hi There,
> Given code like this:
>  
> import org.apache.commons.math3.analysis.UnivariateFunction;
> import org.apache.commons.math3.analysis.solvers.BrentSolver;
> import org.apache.commons.math3.distribution.TDistribution;
> public class Main {
>  public static void main(String[] args) {
>  double df = 1E38;
>  double t = 0.975;
>  TDistribution dist = new TDistribution(df);
>  
>  double prob = dist.inverseCumulativeProbability(1.0 - t);
>  
>  System.out.println("Prob: " + prob);
>  }
> }
>  
> It is possible I am misunderstanding, but that seems equivalent to:
>  
> scipy.stats.t.cdf(1.0 - 0.975, 1e38)
>  
> In Python. They give different answers. Python gives 0.509972518193, which 
> seems correct, whereas Apache Commons gives  Prob: -6.462184036284304E-10. 
> That's a huge difference.
> My hunch is that as you get closer to infinity it begins to fail, but I 
> haven't checked carefully. For calls with much smaller degrees of freedom, 
> you get answers that are basically the same as Python or online calculators.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to