Completed cleanup of flawed fix for MATH-1246.
Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/3d055c62 Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/3d055c62 Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/3d055c62 Branch: refs/heads/field-ode Commit: 3d055c620c7132b0fbe61ffeba87fd9f2391826f Parents: a6b74ac Author: Phil Steitz <[email protected]> Authored: Sun Nov 15 15:03:38 2015 -0700 Committer: Phil Steitz <[email protected]> Committed: Sun Nov 15 15:03:38 2015 -0700 ---------------------------------------------------------------------- .../stat/inference/KolmogorovSmirnovTest.java | 59 -------------------- 1 file changed, 59 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-math/blob/3d055c62/src/main/java/org/apache/commons/math3/stat/inference/KolmogorovSmirnovTest.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/math3/stat/inference/KolmogorovSmirnovTest.java b/src/main/java/org/apache/commons/math3/stat/inference/KolmogorovSmirnovTest.java index aaab914..0b8332e 100644 --- a/src/main/java/org/apache/commons/math3/stat/inference/KolmogorovSmirnovTest.java +++ b/src/main/java/org/apache/commons/math3/stat/inference/KolmogorovSmirnovTest.java @@ -974,65 +974,6 @@ public class KolmogorovSmirnovTest { } /** - * Computes the exact p value for a two-sample Kolmogorov-Smirnov test with - * {@code x} and {@code y} as samples, possibly containing ties. This method - * uses the same implementation as {@link #exactP(double, int, int, boolean)} - * with the exception that it examines partitions of the combined sample, - * preserving ties in the data. What is returned is the exact probability - * that a random partition of the combined dataset into a subset of size - * {@code x.length} and another of size {@code y.length} yields a \(D\) - * value greater than (resp greater than or equal to) \(D(x,y)\). - * <p> - * This method should not be used on large samples (a good rule of thumb is - * to keep the product of the sample sizes less than - * {@link #SMALL_SAMPLE_PRODUCT} when using this method). If the data do - * not contain ties, {@link #exactP(double[], double[], boolean)} should be - * used instead of this method.</p> - * - * @param x first sample - * @param y second sample - * @param strict whether or not the inequality in the null hypothesis is strict - * @return p-value - */ - public double exactP(double[] x, double[] y, boolean strict) { - final long d = integralKolmogorovSmirnovStatistic(x, y); - final int n = x.length; - final int m = y.length; - - // Concatenate x and y into universe, preserving ties in the data - final double[] universe = new double[n + m]; - System.arraycopy(x, 0, universe, 0, n); - System.arraycopy(y, 0, universe, n, m); - - // Iterate over all n, m partitions of the n + m elements in the universe, - // Computing D for each one - Iterator<int[]> combinationsIterator = CombinatoricsUtils.combinationsIterator(n + m, n); - long tail = 0; - final double[] nSet = new double[n]; - final double[] mSet = new double[m]; - while (combinationsIterator.hasNext()) { - // Generate an n-set - final int[] nSetI = combinationsIterator.next(); - // Copy the elements of the universe in the n-set to nSet - // and the others to mSet - int j = 0; - int k = 0; - for (int i = 0; i < n + m; i++) { - if (j < n && nSetI[j] == i) { - nSet[j++] = universe[i]; - } else { - mSet[k++] = universe[i]; - } - } - final long curD = integralKolmogorovSmirnovStatistic(nSet, mSet); - if (curD > d || (curD == d && !strict)) { - tail++; - } - } - return (double) tail / (double) CombinatoricsUtils.binomialCoefficient(n + m, n); - } - - /** * Uses the Kolmogorov-Smirnov distribution to approximate \(P(D_{n,m} > d)\) where \(D_{n,m}\) * is the 2-sample Kolmogorov-Smirnov statistic. See * {@link #kolmogorovSmirnovStatistic(double[], double[])} for the definition of \(D_{n,m}\).
