NAG FL Interface
g08ajf (prob_​mwu_​noties)

Settings help

FL Name Style:


FL Specification Language:


1 Purpose

g08ajf calculates the exact tail probability for the Mann–Whitney rank sum test statistic for the case where there are no ties in the two samples pooled together.

2 Specification

Fortran Interface
Subroutine g08ajf ( n1, n2, tail, u, p, wrk, lwrk, ifail)
Integer, Intent (In) :: n1, n2, lwrk
Integer, Intent (Inout) :: ifail
Real (Kind=nag_wp), Intent (In) :: u
Real (Kind=nag_wp), Intent (Out) :: p, wrk(lwrk)
Character (1), Intent (In) :: tail
C Header Interface
#include <nag.h>
void  g08ajf_ (const Integer *n1, const Integer *n2, const char *tail, const double *u, double *p, double wrk[], const Integer *lwrk, Integer *ifail, const Charlen length_tail)
The routine may be called by the names g08ajf or nagf_nonpar_prob_mwu_noties.

3 Description

g08ajf computes the exact tail probability for the Mann–Whitney U test statistic (calculated by g08ahf and returned through the argument u) using a method based on an algorithm developed by Harding (1983), and presented by Neumann (1988), for the case where there are no ties in the pooled sample.
The Mann–Whitney U test investigates the difference between two populations defined by the distribution functions F(x) and G(y) respectively. The data consist of two independent samples of size n1 and n2, denoted by x1,x2,,xn1 and y1,y2,,yn2, taken from the two populations.
The hypothesis under test, H0, often called the null hypothesis, is that the two distributions are the same, that is F(x)=G(x), and this is to be tested against an alternative hypothesis H1 which is using a two tailed, upper tailed or lower tailed probability respectively. You select the alternative hypothesis by choosing the appropriate tail probability to be computed (see the description of argument tail in Section 5).
Note that when using this test to test for differences in the distributions one is primarily detecting differences in the location of the two distributions. That is to say, if we reject the null hypothesis H0 in favour of the alternative hypothesis H1: F(x)>G(y) we have evidence to suggest that the location, of the distribution defined by F(x), is less than the location, of the distribution defined by G(y).
g08ajf returns the exact tail probability, p, corresponding to U, depending on the choice of alternative hypothesis, H1.
The value of p can be used to perform a significance test on the null hypothesis H0 against the alternative hypothesis H1. Let α be the size of the significance test (that is, α is the probability of rejecting H0 when H0 is true). If p<α then the null hypothesis is rejected. Typically α might be 0.05 or 0.01.

4 References

Conover W J (1980) Practical Nonparametric Statistics Wiley
Harding E F (1983) An efficient minimal-storage procedure for calculating the Mann–Whitney U, generalised U and similar distributions Appl. Statist. 33 1–6
Neumann N (1988) Some procedures for calculating the distributions of elementary nonparametric teststatistics Statistical Software Newsletter 14(3) 120–126
Siegel S (1956) Non-parametric Statistics for the Behavioral Sciences McGraw–Hill

5 Arguments

1: n1 Integer Input
On entry: the number of non-tied pairs, n1.
Constraint: n11.
2: n2 Integer Input
On entry: the size of the second sample, n2.
Constraint: n21.
3: tail Character(1) Input
On entry: indicates the choice of tail probability, and hence the alternative hypothesis.
tail='T'
A two tailed probability is calculated and the alternative hypothesis is H1:F(x)G(y).
tail='U'
An upper tailed probability is calculated and the alternative hypothesis H1:F(x)<G(y), i.e., the x's tend to be greater than the y's.
tail='L'
A lower tailed probability is calculated and the alternative hypothesis H1:F(x)>G(y), i.e., the x's tend to be less than the y's.
Constraint: tail='T', 'U' or 'L'.
4: u Real (Kind=nag_wp) Input
On entry: U, the value of the Mann–Whitney rank sum test statistic. This is the statistic returned through the argument u by g08ahf.
Constraint: u0.0.
5: p Real (Kind=nag_wp) Output
On exit: the exact tail probability, p, as specified by the argument tail.
6: wrk(lwrk) Real (Kind=nag_wp) array Workspace
7: lwrk Integer Input
On entry: the dimension of the array wrk as declared in the (sub)program from which g08ajf is called.
Constraint: lwrk(n1×n2)/2+1.
8: ifail Integer Input/Output
On entry: ifail must be set to 0, -1 or 1 to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of 0 causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of -1 means that an error message is printed while a value of 1 means that it is not.
If halting is not appropriate, the value -1 or 1 is recommended. If message printing is undesirable, then the value 1 is recommended. Otherwise, the value 0 is recommended. When the value -1 or 1 is used it is essential to test the value of ifail on exit.
On exit: ifail=0 unless the routine detects an error or a warning has been flagged (see Section 6).

6 Error Indicators and Warnings

If on entry ifail=0 or -1, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
ifail=1
On entry, n1=value.
Constraint: n11.
On entry, n2=value.
Constraint: n21.
ifail=2
On entry, tail=value.
Constraint: tail='T', 'U' or 'L'.
ifail=3
On entry, u=value.
Constraint: u0.0.
ifail=4
On entry, lwrk=value and the minimum workspace is value.
Constraint: lwrk(n1×n2)/2+1.
ifail=-99
An unexpected error has been triggered by this routine. Please contact NAG.
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
ifail=-399
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
ifail=-999
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.

7 Accuracy

The exact tail probability, p, is computed to an accuracy of at least 4 significant figures.

8 Parallelism and Performance

g08ajf is not threaded in any implementation.

9 Further Comments

The time taken by g08ajf increases with n1 and n2 and the product n1n2.

10 Example

This example finds the Mann–Whitney test statistic, using g08ahf for two independent samples of size 16 and 23 respectively. This is used to test the null hypothesis that the distributions of the two populations from which the samples were taken are the same against the alternative hypothesis that the distributions are different. The test statistic, the approximate normal statistic and the approximate two tail probability are printed. g08ajf is then called to obtain the exact two tailed probability. The exact probability is also printed.

10.1 Program Text

Program Text (g08ajfe.f90)

10.2 Program Data

Program Data (g08ajfe.d)

10.3 Program Results

Program Results (g08ajfe.r)