Class MannWhitneyUTest

java.lang.Object
org.moeaframework.util.statistics.OrdinalStatisticalTest
org.moeaframework.util.statistics.MannWhitneyUTest
All Implemented Interfaces:
StatisticalTest

public class MannWhitneyUTest extends OrdinalStatisticalTest
The Mann-Whitney U test determines if two populations have different medians.
  • Null Hypothesis: The two populations have the same medians.
  • Alternative Hypothesis: The two populations have different medians.

Assumptions:

  1. Samples are randomly selected from their corresponding populations
  2. Samples are independent
  3. The dependent variable (value being sampled) is continuous
  4. The underlying distributions of the populations are identical in shape

References:

  1. Sheskin, D.J. "Handbook of Parametric and Nonparametric Statistical Procedures, Third Edition." Chapman & Hall/CRC. 2004.
  • Constructor Details

    • MannWhitneyUTest

      public MannWhitneyUTest()
      Constructs a Mann-Whitney U test.
  • Method Details

    • add

      public void add(double value, int group)
      Description copied from class: OrdinalStatisticalTest
      Adds a new observation with the specified value and group.
      Overrides:
      add in class OrdinalStatisticalTest
      Parameters:
      value - the value of the new observation
      group - the group to which the new observation belongs
    • addAll

      public void addAll(double[] values, int group)
      Description copied from class: OrdinalStatisticalTest
      Adds several new observations to the specified group.
      Overrides:
      addAll in class OrdinalStatisticalTest
      Parameters:
      values - the values of the new observations
      group - the group to which the new observations belong
    • getStatistics

      public org.apache.commons.math3.stat.descriptive.DescriptiveStatistics getStatistics(int group)
      Description copied from class: OrdinalStatisticalTest
      Returns the descriptive statistics for the given group.
      Overrides:
      getStatistics in class OrdinalStatisticalTest
      Parameters:
      group - the group
      Returns:
      the descriptive statistics
    • test

      public boolean test(double alpha)
      Returns true if the null hypothesis is rejected; false otherwise. The meaning of the null hypothesis and alternative hypothesis depends on the specific test.

      The prespecified level of confidence, alpha, can be used for either one-tailed or two-tailed (directional or non-directional) distributions, depending on the specific test. Some tests may only support specific values for alpha.

      When the samples from both populations are less than 20, only alpha values of 0.05 and 0.01 are valid. This is because a table is used to accurately determine the critical values. When more than 20 samples are available, the normal approximation is used allowing any value for alpha.

      Parameters:
      alpha - the prespecified level of confidence
      Returns:
      true if the null hypothesis is rejected; false otherwise
      Throws:
      IllegalArgumentException - if an insufficient sampling size is provided, or if an invalid alpha value is provided