org.apache.commons.math.stat.inference
Class MannWhitneyUTestImpl

java.lang.Object
  extended by org.apache.commons.math.stat.inference.MannWhitneyUTestImpl
All Implemented Interfaces:
MannWhitneyUTest

public class MannWhitneyUTestImpl
extends java.lang.Object
implements MannWhitneyUTest

An implementation of the Mann-Whitney U test (also called Wilcoxon rank-sum test).

Version:
$Id: MannWhitneyUTestImpl.java 1131229 2011-06-03 20:49:25Z luc $

Constructor Summary
MannWhitneyUTestImpl()
          Create a test instance using where NaN's are left in place and ties get the average of applicable ranks.
MannWhitneyUTestImpl(NaNStrategy nanStrategy, TiesStrategy tiesStrategy)
          Create a test instance using the given strategies for NaN's and ties.
 
Method Summary
 double mannWhitneyU(double[] x, double[] y)
          Computes the Mann-Whitney U statistic comparing mean for two independent samples possibly of different length.
 double mannWhitneyUTest(double[] x, double[] y)
          Ties give rise to biased variance at the moment.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MannWhitneyUTestImpl

public MannWhitneyUTestImpl()
Create a test instance using where NaN's are left in place and ties get the average of applicable ranks. Use this unless you are very sure of what you are doing.


MannWhitneyUTestImpl

public MannWhitneyUTestImpl(NaNStrategy nanStrategy,
                            TiesStrategy tiesStrategy)
Create a test instance using the given strategies for NaN's and ties. Only use this if you are sure of what you are doing.

Parameters:
nanStrategy - specifies the strategy that should be used for Double.NaN's
tiesStrategy - specifies the strategy that should be used for ties
Method Detail

mannWhitneyU

public double mannWhitneyU(double[] x,
                           double[] y)
                    throws java.lang.IllegalArgumentException
Computes the Mann-Whitney U statistic comparing mean for two independent samples possibly of different length.

This statistic can be used to perform a Mann-Whitney U test evaluating the null hypothesis that the two independent samples has equal mean.

Let Xi denote the i'th individual of the first sample and Yj the j'th individual in the second sample. Note that the samples would often have different length.

Preconditions:

Specified by:
mannWhitneyU in interface MannWhitneyUTest
Parameters:
x - the first sample
y - the second sample
Returns:
mannWhitneyU statistic U (maximum of Ux and Uy)
Throws:
java.lang.IllegalArgumentException - if preconditions are not met

mannWhitneyUTest

public double mannWhitneyUTest(double[] x,
                               double[] y)
                        throws java.lang.IllegalArgumentException,
                               MathException
Ties give rise to biased variance at the moment. See e.g. http://mlsc.lboro.ac.uk/resources/statistics/Mannwhitney.pdf. Returns the asymptotic observed significance level, or p-value, associated with a Mann-Whitney U statistic comparing mean for two independent samples.

Let Xi denote the i'th individual of the first sample and Yj the j'th individual in the second sample. Note that the samples would often have different length.

Preconditions:

Specified by:
mannWhitneyUTest in interface MannWhitneyUTest
Parameters:
x - the first sample
y - the second sample
Returns:
asymptotic p-value (biased for samples with ties)
Throws:
java.lang.IllegalArgumentException - if preconditions are not met
MathException - if an error occurs computing the p-value


Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.