[ https://issues.apache.org/jira/browse/MATH-1197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Neidhart updated MATH-1197: ---------------------------------- Attachment: MATH-1197.patch The attached patch fixes the two-sample KS test statistic calculation. Actually, I did not fully understand the way it was calculated before, but I followed now the formula from the wiki page and it results in the correct result. After fixing this issue, another problem popped up in test testTwoSampleProductSizeOverflow which relates to a TODO in the ksSum method. > Incorrect Kolmogorov–Smirnov Statistic for two samples > ------------------------------------------------------- > > Key: MATH-1197 > URL: https://issues.apache.org/jira/browse/MATH-1197 > Project: Commons Math > Issue Type: Bug > Affects Versions: 3.4.1 > Environment: Ubuntu 14.04 > Reporter: Danaja Thiyunuwan Maldeniya > Attachments: MATH-1197.patch > > > kolmogorovSmirnovTest(double[],double[]) against the samples given below > gives 5.699107852308316E-12 instead of 0.9793 (approx.) Traced the issue to > kolmogorovSmirnovStatistic(double[],double[]) which gives 0.49507389162561577 > instead of 0.064 (verified with ks.test in R and JDistlib) > double[] x = > {0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,2.202653,2.202653,2.202653 > > ,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653 > > ,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653 > > ,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,3.181199,3.181199,3.181199,3.181199,3.181199,3.181199,3.723539 > > ,3.723539,3.723539,3.723539,4.383482,4.383482,4.383482,4.383482,5.320671,5.320671,5.320671,5.717284,6.964001,7.352165 > > ,8.710510,8.710510,8.710510,8.710510,8.710510,8.710510,9.539004,9.539004, > 10.720619, 17.726077, 17.726077, 17.726077, 17.726077 > ,22.053875 ,23.799144 ,27.355308 ,30.584960 ,30.584960 > ,30.584960, 30.584960, 30.751808}; > double[] y = > {0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000 > > ,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,2.202653 > > ,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,2.202653,3.061758,3.723539,5.628420,5.628420,5.628420,5.628420 > ,5.628420,6.916982,6.916982,6.916982, 10.178538, 10.178538, > 10.178538, 10.178538, 10.178538 }; -- This message was sent by Atlassian JIRA (v6.3.4#6332)