InferenceTestUtils.java
- /*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package org.apache.commons.math4.legacy.stat.inference;
- import java.util.Collection;
- import org.apache.commons.rng.UniformRandomProvider;
- import org.apache.commons.statistics.distribution.ContinuousDistribution;
- import org.apache.commons.math4.legacy.exception.ConvergenceException;
- import org.apache.commons.math4.legacy.exception.DimensionMismatchException;
- import org.apache.commons.math4.legacy.exception.InsufficientDataException;
- import org.apache.commons.math4.legacy.exception.MaxCountExceededException;
- import org.apache.commons.math4.legacy.exception.NoDataException;
- import org.apache.commons.math4.legacy.exception.NotPositiveException;
- import org.apache.commons.math4.legacy.exception.NotStrictlyPositiveException;
- import org.apache.commons.math4.legacy.exception.NullArgumentException;
- import org.apache.commons.math4.legacy.exception.NumberIsTooSmallException;
- import org.apache.commons.math4.legacy.exception.OutOfRangeException;
- import org.apache.commons.math4.legacy.exception.ZeroException;
- import org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary;
- /**
- * A collection of static methods to create inference test instances or to
- * perform inference tests.
- *
- * @since 1.1
- */
- public final class InferenceTestUtils {
- /** Singleton TTest instance. */
- private static final TTest T_TEST = new TTest();
- /** Singleton ChiSquareTest instance. */
- private static final ChiSquareTest CHI_SQUARE_TEST = new ChiSquareTest();
- /** Singleton OneWayAnova instance. */
- private static final OneWayAnova ONE_WAY_ANANOVA = new OneWayAnova();
- /** Singleton G-Test instance. */
- private static final GTest G_TEST = new GTest();
- /** Singleton K-S test instance. */
- private static final KolmogorovSmirnovTest KS_TEST = new KolmogorovSmirnovTest();
- /**
- * Prevent instantiation.
- */
- private InferenceTestUtils() {
- super();
- }
- // CHECKSTYLE: stop JavadocMethodCheck
- /**
- * @param sample1 array of sample data values
- * @param sample2 array of sample data values
- * @return t statistic
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#homoscedasticT(double[], double[])
- */
- public static double homoscedasticT(final double[] sample1, final double[] sample2)
- throws NullArgumentException, NumberIsTooSmallException {
- return T_TEST.homoscedasticT(sample1, sample2);
- }
- /**
- * @param sampleStats1 StatisticalSummary describing data from the first sample
- * @param sampleStats2 StatisticalSummary describing data from the second sample
- * @return t statistic
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#homoscedasticT(org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary, org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary)
- */
- public static double homoscedasticT(final StatisticalSummary sampleStats1,
- final StatisticalSummary sampleStats2)
- throws NullArgumentException, NumberIsTooSmallException {
- return T_TEST.homoscedasticT(sampleStats1, sampleStats2);
- }
- /**
- * @param sample1 array of sample data values
- * @param sample2 array of sample data values
- * @param alpha significance level of the test
- * @return true if the null hypothesis can be rejected with
- * confidence 1 - alpha
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#homoscedasticTTest(double[], double[], double)
- */
- public static boolean homoscedasticTTest(final double[] sample1, final double[] sample2,
- final double alpha)
- throws NullArgumentException, NumberIsTooSmallException,
- OutOfRangeException, MaxCountExceededException {
- return T_TEST.homoscedasticTTest(sample1, sample2, alpha);
- }
- /**
- * @param sample1 array of sample data values
- * @param sample2 array of sample data values
- * @return p-value for t-test
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#homoscedasticTTest(double[], double[])
- */
- public static double homoscedasticTTest(final double[] sample1, final double[] sample2)
- throws NullArgumentException, NumberIsTooSmallException, MaxCountExceededException {
- return T_TEST.homoscedasticTTest(sample1, sample2);
- }
- /**
- * @param sampleStats1 StatisticalSummary describing data from the first sample
- * @param sampleStats2 StatisticalSummary describing data from the second sample
- * @return p-value for t-test
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#homoscedasticTTest(org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary, org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary)
- */
- public static double homoscedasticTTest(final StatisticalSummary sampleStats1,
- final StatisticalSummary sampleStats2)
- throws NullArgumentException, NumberIsTooSmallException, MaxCountExceededException {
- return T_TEST.homoscedasticTTest(sampleStats1, sampleStats2);
- }
- /**
- * @param sample1 array of sample data values
- * @param sample2 array of sample data values
- * @return t statistic
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#pairedT(double[], double[])
- */
- public static double pairedT(final double[] sample1, final double[] sample2)
- throws NullArgumentException, NoDataException,
- DimensionMismatchException, NumberIsTooSmallException {
- return T_TEST.pairedT(sample1, sample2);
- }
- /**
- * @param sample1 array of sample data values
- * @param sample2 array of sample data values
- * @param alpha significance level of the test
- * @return true if the null hypothesis can be rejected with
- * confidence 1 - alpha
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#pairedTTest(double[], double[], double)
- */
- public static boolean pairedTTest(final double[] sample1, final double[] sample2,
- final double alpha)
- throws NullArgumentException, NoDataException, DimensionMismatchException,
- NumberIsTooSmallException, OutOfRangeException, MaxCountExceededException {
- return T_TEST.pairedTTest(sample1, sample2, alpha);
- }
- /**
- * @param sample1 array of sample data values
- * @param sample2 array of sample data values
- * @return p-value for t-test
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#pairedTTest(double[], double[])
- */
- public static double pairedTTest(final double[] sample1, final double[] sample2)
- throws NullArgumentException, NoDataException, DimensionMismatchException,
- NumberIsTooSmallException, MaxCountExceededException {
- return T_TEST.pairedTTest(sample1, sample2);
- }
- /**
- * @param mu comparison constant
- * @param observed array of values
- * @return t statistic
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#t(double, double[])
- */
- public static double t(final double mu, final double[] observed)
- throws NullArgumentException, NumberIsTooSmallException {
- return T_TEST.t(mu, observed);
- }
- /**
- * @param mu comparison constant
- * @param sampleStats DescriptiveStatistics holding sample summary statitstics
- * @return t statistic
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#t(double, org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary)
- */
- public static double t(final double mu, final StatisticalSummary sampleStats)
- throws NullArgumentException, NumberIsTooSmallException {
- return T_TEST.t(mu, sampleStats);
- }
- /**
- * @param sample1 array of sample data values
- * @param sample2 array of sample data values
- * @return t statistic
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#t(double[], double[])
- */
- public static double t(final double[] sample1, final double[] sample2)
- throws NullArgumentException, NumberIsTooSmallException {
- return T_TEST.t(sample1, sample2);
- }
- /**
- * @param sampleStats1 StatisticalSummary describing data from the first sample
- * @param sampleStats2 StatisticalSummary describing data from the second sample
- * @return t statistic
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#t(org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary, org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary)
- */
- public static double t(final StatisticalSummary sampleStats1,
- final StatisticalSummary sampleStats2)
- throws NullArgumentException, NumberIsTooSmallException {
- return T_TEST.t(sampleStats1, sampleStats2);
- }
- /**
- * @param mu constant value to compare sample mean against
- * @param sample array of sample data values
- * @param alpha significance level of the test
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#tTest(double, double[], double)
- */
- public static boolean tTest(final double mu, final double[] sample, final double alpha)
- throws NullArgumentException, NumberIsTooSmallException,
- OutOfRangeException, MaxCountExceededException {
- return T_TEST.tTest(mu, sample, alpha);
- }
- /**
- * @param mu constant value to compare sample mean against
- * @param sample array of sample data values
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#tTest(double, double[])
- */
- public static double tTest(final double mu, final double[] sample)
- throws NullArgumentException, NumberIsTooSmallException,
- MaxCountExceededException {
- return T_TEST.tTest(mu, sample);
- }
- /**
- * @param mu constant value to compare sample mean against
- * @param sampleStats StatisticalSummary describing sample data values
- * @param alpha significance level of the test
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#tTest(double, org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary, double)
- */
- public static boolean tTest(final double mu, final StatisticalSummary sampleStats,
- final double alpha)
- throws NullArgumentException, NumberIsTooSmallException,
- OutOfRangeException, MaxCountExceededException {
- return T_TEST.tTest(mu, sampleStats, alpha);
- }
- /**
- * @param mu constant value to compare sample mean against
- * @param sampleStats StatisticalSummary describing sample data
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#tTest(double, org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary)
- */
- public static double tTest(final double mu, final StatisticalSummary sampleStats)
- throws NullArgumentException, NumberIsTooSmallException,
- MaxCountExceededException {
- return T_TEST.tTest(mu, sampleStats);
- }
- /**
- * @param sample1 array of sample data values
- * @param sample2 array of sample data values
- * @param alpha significance level of the test
- * @return true if the null hypothesis can be rejected with
- * confidence 1 - alpha
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#tTest(double[], double[], double)
- */
- public static boolean tTest(final double[] sample1, final double[] sample2,
- final double alpha)
- throws NullArgumentException, NumberIsTooSmallException,
- OutOfRangeException, MaxCountExceededException {
- return T_TEST.tTest(sample1, sample2, alpha);
- }
- /**
- * @param sample1 array of sample data values
- * @param sample2 array of sample data values
- * @return p-value for t-test
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#tTest(double[], double[])
- */
- public static double tTest(final double[] sample1, final double[] sample2)
- throws NullArgumentException, NumberIsTooSmallException,
- MaxCountExceededException {
- return T_TEST.tTest(sample1, sample2);
- }
- /**
- * @param sampleStats1 StatisticalSummary describing sample data values
- * @param sampleStats2 StatisticalSummary describing sample data values
- * @param alpha significance level of the test
- * @return true if the null hypothesis can be rejected with
- * confidence 1 - alpha
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#tTest(org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary, org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary, double)
- */
- public static boolean tTest(final StatisticalSummary sampleStats1,
- final StatisticalSummary sampleStats2,
- final double alpha)
- throws NullArgumentException, NumberIsTooSmallException,
- OutOfRangeException, MaxCountExceededException {
- return T_TEST.tTest(sampleStats1, sampleStats2, alpha);
- }
- /**
- * @param sampleStats1 StatisticalSummary describing data from the first sample
- * @param sampleStats2 StatisticalSummary describing data from the second sample
- * @return p-value for t-test
- * @see org.apache.commons.math4.legacy.stat.inference.TTest#tTest(org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary, org.apache.commons.math4.legacy.stat.descriptive.StatisticalSummary)
- */
- public static double tTest(final StatisticalSummary sampleStats1,
- final StatisticalSummary sampleStats2)
- throws NullArgumentException, NumberIsTooSmallException,
- MaxCountExceededException {
- return T_TEST.tTest(sampleStats1, sampleStats2);
- }
- /**
- * @param observed array of observed frequency counts
- * @param expected array of expected frequency counts
- * @return chiSquare test statistic
- * @see org.apache.commons.math4.legacy.stat.inference.ChiSquareTest#chiSquare(double[], long[])
- */
- public static double chiSquare(final double[] expected, final long[] observed)
- throws NotPositiveException, NotStrictlyPositiveException,
- DimensionMismatchException {
- return CHI_SQUARE_TEST.chiSquare(expected, observed);
- }
- /**
- * @param counts array representation of 2-way table
- * @return chiSquare test statistic
- * @see org.apache.commons.math4.legacy.stat.inference.ChiSquareTest#chiSquare(long[][])
- */
- public static double chiSquare(final long[][] counts)
- throws NullArgumentException, NotPositiveException,
- DimensionMismatchException {
- return CHI_SQUARE_TEST.chiSquare(counts);
- }
- /**
- * @param observed array of observed frequency counts
- * @param expected array of expected frequency counts
- * @param alpha significance level of the test
- * @return true iff null hypothesis can be rejected with confidence
- * 1 - alpha
- * @see org.apache.commons.math4.legacy.stat.inference.ChiSquareTest#chiSquareTest(double[], long[], double)
- */
- public static boolean chiSquareTest(final double[] expected, final long[] observed,
- final double alpha)
- throws NotPositiveException, NotStrictlyPositiveException,
- DimensionMismatchException, OutOfRangeException, MaxCountExceededException {
- return CHI_SQUARE_TEST.chiSquareTest(expected, observed, alpha);
- }
- /**
- * @param observed array of observed frequency counts
- * @param expected array of expected frequency counts
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.ChiSquareTest#chiSquareTest(double[], long[])
- */
- public static double chiSquareTest(final double[] expected, final long[] observed)
- throws NotPositiveException, NotStrictlyPositiveException,
- DimensionMismatchException, MaxCountExceededException {
- return CHI_SQUARE_TEST.chiSquareTest(expected, observed);
- }
- /**
- * @param counts array representation of 2-way table
- * @param alpha significance level of the test
- * @return true iff null hypothesis can be rejected with confidence
- * 1 - alpha
- * @see org.apache.commons.math4.legacy.stat.inference.ChiSquareTest#chiSquareTest(long[][], double)
- */
- public static boolean chiSquareTest(final long[][] counts, final double alpha)
- throws NullArgumentException, DimensionMismatchException,
- NotPositiveException, OutOfRangeException, MaxCountExceededException {
- return CHI_SQUARE_TEST.chiSquareTest(counts, alpha);
- }
- /**
- * @param counts array representation of 2-way table
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.ChiSquareTest#chiSquareTest(long[][])
- */
- public static double chiSquareTest(final long[][] counts)
- throws NullArgumentException, DimensionMismatchException,
- NotPositiveException, MaxCountExceededException {
- return CHI_SQUARE_TEST.chiSquareTest(counts);
- }
- /**
- * @param observed1 array of observed frequency counts of the first data set
- * @param observed2 array of observed frequency counts of the second data set
- * @return chiSquare test statistic
- * @see org.apache.commons.math4.legacy.stat.inference.ChiSquareTest#chiSquareDataSetsComparison(long[], long[])
- *
- * @since 1.2
- */
- public static double chiSquareDataSetsComparison(final long[] observed1,
- final long[] observed2)
- throws DimensionMismatchException, NotPositiveException, ZeroException {
- return CHI_SQUARE_TEST.chiSquareDataSetsComparison(observed1, observed2);
- }
- /**
- * @param observed1 array of observed frequency counts of the first data set
- * @param observed2 array of observed frequency counts of the second data set
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.ChiSquareTest#chiSquareTestDataSetsComparison(long[], long[])
- *
- * @since 1.2
- */
- public static double chiSquareTestDataSetsComparison(final long[] observed1,
- final long[] observed2)
- throws DimensionMismatchException, NotPositiveException, ZeroException,
- MaxCountExceededException {
- return CHI_SQUARE_TEST.chiSquareTestDataSetsComparison(observed1, observed2);
- }
- /**
- * @param observed1 array of observed frequency counts of the first data set
- * @param observed2 array of observed frequency counts of the second data set
- * @param alpha significance level of the test
- * @return true iff null hypothesis can be rejected with confidence
- * 1 - alpha
- * @see org.apache.commons.math4.legacy.stat.inference.ChiSquareTest#chiSquareTestDataSetsComparison(long[], long[], double)
- *
- * @since 1.2
- */
- public static boolean chiSquareTestDataSetsComparison(final long[] observed1,
- final long[] observed2,
- final double alpha)
- throws DimensionMismatchException, NotPositiveException,
- ZeroException, OutOfRangeException, MaxCountExceededException {
- return CHI_SQUARE_TEST.chiSquareTestDataSetsComparison(observed1, observed2, alpha);
- }
- /**
- * @param categoryData <code>Collection</code> of <code>double[]</code>
- * arrays each containing data for one category
- * @return Fvalue
- * @see org.apache.commons.math4.legacy.stat.inference.OneWayAnova#anovaFValue(Collection)
- *
- * @since 1.2
- */
- public static double oneWayAnovaFValue(final Collection<double[]> categoryData)
- throws NullArgumentException, DimensionMismatchException {
- return ONE_WAY_ANANOVA.anovaFValue(categoryData);
- }
- /**
- * @param categoryData <code>Collection</code> of <code>double[]</code>
- * arrays each containing data for one category
- * @return Pvalue
- * @see org.apache.commons.math4.legacy.stat.inference.OneWayAnova#anovaPValue(Collection)
- *
- * @since 1.2
- */
- public static double oneWayAnovaPValue(final Collection<double[]> categoryData)
- throws NullArgumentException, DimensionMismatchException,
- ConvergenceException, MaxCountExceededException {
- return ONE_WAY_ANANOVA.anovaPValue(categoryData);
- }
- /**
- * @param categoryData <code>Collection</code> of <code>double[]</code>
- * arrays each containing data for one category
- * @param alpha significance level of the test
- * @return true if the null hypothesis can be rejected with
- * confidence 1 - alpha
- * @see org.apache.commons.math4.legacy.stat.inference.OneWayAnova#anovaTest(Collection,double)
- *
- * @since 1.2
- */
- public static boolean oneWayAnovaTest(final Collection<double[]> categoryData,
- final double alpha)
- throws NullArgumentException, DimensionMismatchException,
- OutOfRangeException, ConvergenceException, MaxCountExceededException {
- return ONE_WAY_ANANOVA.anovaTest(categoryData, alpha);
- }
- /**
- * @param observed array of observed frequency counts
- * @param expected array of expected frequency counts
- * @return G-Test statistic
- * @see org.apache.commons.math4.legacy.stat.inference.GTest#g(double[], long[])
- * @since 3.1
- */
- public static double g(final double[] expected, final long[] observed)
- throws NotPositiveException, NotStrictlyPositiveException,
- DimensionMismatchException {
- return G_TEST.g(expected, observed);
- }
- /**
- * @param observed array of observed frequency counts
- * @param expected array of expected frequency counts
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.GTest#gTest( double[], long[] )
- * @since 3.1
- */
- public static double gTest(final double[] expected, final long[] observed)
- throws NotPositiveException, NotStrictlyPositiveException,
- DimensionMismatchException, MaxCountExceededException {
- return G_TEST.gTest(expected, observed);
- }
- /**
- * @param observed array of observed frequency counts
- * @param expected array of expected frequency counts
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.GTest#gTestIntrinsic(double[], long[] )
- * @since 3.1
- */
- public static double gTestIntrinsic(final double[] expected, final long[] observed)
- throws NotPositiveException, NotStrictlyPositiveException,
- DimensionMismatchException, MaxCountExceededException {
- return G_TEST.gTestIntrinsic(expected, observed);
- }
- /**
- * @param observed array of observed frequency counts
- * @param expected array of expected frequency counts
- * @param alpha significance level of the test
- * @return true iff null hypothesis can be rejected with confidence 1 -
- * alpha
- * @see org.apache.commons.math4.legacy.stat.inference.GTest#gTest( double[],long[],double)
- * @since 3.1
- */
- public static boolean gTest(final double[] expected, final long[] observed,
- final double alpha)
- throws NotPositiveException, NotStrictlyPositiveException,
- DimensionMismatchException, OutOfRangeException, MaxCountExceededException {
- return G_TEST.gTest(expected, observed, alpha);
- }
- /**
- * @param observed1 array of observed frequency counts of the first data set
- * @param observed2 array of observed frequency counts of the second data
- * set
- * @return G-Test statistic
- * @see org.apache.commons.math4.legacy.stat.inference.GTest#gDataSetsComparison(long[], long[])
- * @since 3.1
- */
- public static double gDataSetsComparison(final long[] observed1,
- final long[] observed2)
- throws DimensionMismatchException, NotPositiveException, ZeroException {
- return G_TEST.gDataSetsComparison(observed1, observed2);
- }
- /**
- * @param k11 number of times the two events occurred together (AB)
- * @param k12 number of times the second event occurred WITHOUT the
- * first event (notA,B)
- * @param k21 number of times the first event occurred WITHOUT the
- * second event (A, notB)
- * @param k22 number of times something else occurred (i.e. was neither
- * of these events (notA, notB)
- * @return root log-likelihood ratio
- * @see org.apache.commons.math4.legacy.stat.inference.GTest#rootLogLikelihoodRatio(long, long, long, long)
- * @since 3.1
- */
- public static double rootLogLikelihoodRatio(final long k11, final long k12, final long k21, final long k22)
- throws DimensionMismatchException, NotPositiveException, ZeroException {
- return G_TEST.rootLogLikelihoodRatio(k11, k12, k21, k22);
- }
- /**
- * @param observed1 array of observed frequency counts of the first data set
- * @param observed2 array of observed frequency counts of the second data
- * set
- * @return p-value
- * @see org.apache.commons.math4.legacy.stat.inference.GTest#gTestDataSetsComparison(long[], long[])
- * @since 3.1
- */
- public static double gTestDataSetsComparison(final long[] observed1,
- final long[] observed2)
- throws DimensionMismatchException, NotPositiveException, ZeroException,
- MaxCountExceededException {
- return G_TEST.gTestDataSetsComparison(observed1, observed2);
- }
- /**
- * @param observed1 array of observed frequency counts of the first data set
- * @param observed2 array of observed frequency counts of the second data
- * set
- * @param alpha significance level of the test
- * @return true iff null hypothesis can be rejected with confidence 1 -
- * alpha
- * @see org.apache.commons.math4.legacy.stat.inference.GTest#gTestDataSetsComparison(long[],long[],double)
- * @since 3.1
- */
- public static boolean gTestDataSetsComparison(final long[] observed1,
- final long[] observed2,
- final double alpha)
- throws DimensionMismatchException, NotPositiveException,
- ZeroException, OutOfRangeException, MaxCountExceededException {
- return G_TEST.gTestDataSetsComparison(observed1, observed2, alpha);
- }
- /**
- * @param dist reference distribution
- * @param data sample being evaluated
- * @return Kolmogorov-Smirnov statistic \(D_n\)
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#kolmogorovSmirnovStatistic(ContinuousDistribution, double[])
- * @since 3.3
- */
- public static double kolmogorovSmirnovStatistic(ContinuousDistribution dist, double[] data)
- throws InsufficientDataException, NullArgumentException {
- return KS_TEST.kolmogorovSmirnovStatistic(dist, data);
- }
- /**
- * @param dist reference distribution
- * @param data sample being being evaluated
- * @return the p-value associated with the null hypothesis that {@code data} is a sample from
- * {@code distribution}
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#kolmogorovSmirnovTest(ContinuousDistribution, double[])
- * @since 3.3
- */
- public static double kolmogorovSmirnovTest(ContinuousDistribution dist, double[] data)
- throws InsufficientDataException, NullArgumentException {
- return KS_TEST.kolmogorovSmirnovTest(dist, data);
- }
- /**
- * @param dist reference distribution
- * @param data sample being being evaluated
- * @param strict whether or not to force exact computation of the p-value
- * @return the p-value associated with the null hypothesis that {@code data} is a sample from
- * {@code distribution}
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#kolmogorovSmirnovTest(ContinuousDistribution, double[], boolean)
- * @since 3.3
- */
- public static double kolmogorovSmirnovTest(ContinuousDistribution dist, double[] data, boolean strict)
- throws InsufficientDataException, NullArgumentException {
- return KS_TEST.kolmogorovSmirnovTest(dist, data, strict);
- }
- /**
- * @param dist reference distribution
- * @param data sample being being evaluated
- * @param alpha significance level of the test
- * @return true iff the null hypothesis that {@code data} is a sample from {@code distribution}
- * can be rejected with confidence 1 - {@code alpha}
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#kolmogorovSmirnovTest(ContinuousDistribution, double[], double)
- * @since 3.3
- */
- public static boolean kolmogorovSmirnovTest(ContinuousDistribution dist, double[] data, double alpha)
- throws InsufficientDataException, NullArgumentException {
- return KS_TEST.kolmogorovSmirnovTest(dist, data, alpha);
- }
- /**
- * @param x first sample
- * @param y second sample
- * @return test statistic \(D_{n,m}\) used to evaluate the null hypothesis that {@code x} and
- * {@code y} represent samples from the same underlying distribution
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#kolmogorovSmirnovStatistic(double[], double[])
- * @since 3.3
- */
- public static double kolmogorovSmirnovStatistic(double[] x, double[] y)
- throws InsufficientDataException, NullArgumentException {
- return KS_TEST.kolmogorovSmirnovStatistic(x, y);
- }
- /**
- * @param x first sample dataset
- * @param y second sample dataset
- * @return p-value associated with the null hypothesis that {@code x} and {@code y} represent
- * samples from the same distribution
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#kolmogorovSmirnovTest(double[], double[])
- * @since 3.3
- */
- public static double kolmogorovSmirnovTest(double[] x, double[] y)
- throws InsufficientDataException, NullArgumentException {
- return KS_TEST.kolmogorovSmirnovTest(x, y);
- }
- /**
- * @param x first sample dataset.
- * @param y second sample dataset.
- * @param strict whether or not the probability to compute is expressed as
- * a strict inequality (ignored for large samples).
- * @return p-value associated with the null hypothesis that {@code x} and
- * {@code y} represent samples from the same distribution.
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#kolmogorovSmirnovTest(double[], double[], boolean)
- * @since 3.3
- */
- public static double kolmogorovSmirnovTest(double[] x, double[] y, boolean strict)
- throws InsufficientDataException, NullArgumentException {
- return KS_TEST.kolmogorovSmirnovTest(x, y, strict);
- }
- /**
- * @param d D-statistic value
- * @param n first sample size
- * @param m second sample size
- * @param strict whether or not the probability to compute is expressed as a strict inequality
- * @return probability that a randomly selected m-n partition of m + n generates \(D_{n,m}\)
- * greater than (resp. greater than or equal to) {@code d}
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#exactP(double, int, int, boolean)
- * @since 3.3
- */
- public static double exactP(double d, int m, int n, boolean strict) {
- return KS_TEST.exactP(d, n, m, strict);
- }
- /**
- * @param d D-statistic value
- * @param n first sample size
- * @param m second sample size
- * @return approximate probability that a randomly selected m-n partition of m + n generates
- * \(D_{n,m}\) greater than {@code d}
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#approximateP(double, int, int)
- * @since 3.3
- */
- public static double approximateP(double d, int n, int m) {
- return KS_TEST.approximateP(d, n, m);
- }
- /**
- * @param d D-statistic value
- * @param n first sample size
- * @param m second sample size
- * @param iterations number of random partitions to generate
- * @param strict whether or not the probability to compute is expressed as a strict inequality
- * @param rng RNG used for generating the partitions.
- * @return proportion of randomly generated m-n partitions of m + n that result in \(D_{n,m}\)
- * greater than (resp. greater than or equal to) {@code d}
- * @see org.apache.commons.math4.legacy.stat.inference.KolmogorovSmirnovTest#monteCarloP(double,int,int,boolean,int,UniformRandomProvider)
- * @since 3.3
- */
- public static double monteCarloP(double d, int n, int m, boolean strict, int iterations, UniformRandomProvider rng) {
- return KS_TEST.monteCarloP(d, n, m, strict, iterations, rng);
- }
- // CHECKSTYLE: resume JavadocMethodCheck
- }