NAG CL Interface
g07ebc (robust_​2var_​ci)

Settings help

CL Name Style:


1 Purpose

g07ebc calculates a rank based (nonparametric) estimate and confidence interval for the difference in location between two independent populations.

2 Specification

#include <nag.h>
void  g07ebc (Nag_RCIMethod method, Integer n, const double x[], Integer m, const double y[], double clevel, double *theta, double *thetal, double *thetau, double *estcl, double *ulower, double *uupper, NagError *fail)
The function may be called by the names: g07ebc, nag_univar_robust_2var_ci or nag_rank_ci_2var.

3 Description

Consider two random samples from two populations which have the same continuous distribution except for a shift in the location. Let the random sample, x= (x1,x2,,xn) T, have distribution F(x) and the random sample, y= (y1,y2,,ym) T, have distribution F(x-θ).
g07ebc finds a point estimate, θ^, of the difference in location θ together with an associated confidence interval. The estimates are based on the ordered differences yj-xi. The estimate θ^ is defined by
θ^ = median {yj-xi,  i=1,2,,n;j=1,2,,m} .  
Let dk, for k=1,2,,nm, denote the nm (ascendingly) ordered differences yj-xi, for i=1,2,,n and j=1,2,,m. Then
This estimator arises from inverting the two sample Mann–Whitney rank test statistic, U(θ0), for testing the hypothesis that θ=θ0. Thus U(θ0) is the value of the Mann–Whitney U statistic for the two independent samples {(xi+θ0), for ​i=1,2,,n} and {yj, for ​j=1,2,,m} . Effectively U(θ0) is a monotonically increasing step function of θ0 with
mean ​(U)=μ= nm2, var(U)=σ2 nm(n+m+1)12.  
The estimate θ^ is the solution to the equation U(θ^)=μ; two methods are available for solving this equation. These methods avoid the computation of all the ordered differences dk; this is because for large n and m both the storage requirements and the computation time would be high.
The first is an exact method based on a set partitioning procedure on the set of all differences yj-xi, for i=1,2,,n and j=1,2,,m. This is adapted from the algorithm proposed by Monahan (1984) for the computation of the Hodges–Lehmann estimator for a single population.
The second is an iterative algorithm, based on the Illinois method which is a modification of the regula falsi method, see McKean and Ryan (1977). This algorithm has proved suitable for the function U(θ0) which is asymptotically linear as a function of θ0.
The confidence interval limits are also based on the inversion of the Mann–Whitney test statistic.
Given a desired percentage for the confidence interval, 1-α, expressed as a proportion between 0.0 and 1.0 initial estimates of the upper and lower confidence limits for the Mann–Whitney U statistic are found;
Ul=μ-0.5+(σ×Φ-1(α/2)) Uu=μ+0.5+(σ×Φ-1((1-α)/2))  
where Φ-1 is the inverse cumulative Normal distribution function.
Ul and Uu are rounded to the nearest integer values. These estimates are refined using an exact method, without taking ties into account, if n+m40 and max(n,m)30 and a Normal approximation otherwise, to find Ul and Uu satisfying
P(UUl)α/2 P(UUl+1)>α/2  
and
P(UUu)α /2 P(UUu-1)>α /2.  
The function U(θ0) is a monotonically increasing step function. It is the number of times a score in the second sample, yj, precedes a score in the first sample, xi+θ, where we only count a half if a score in the second sample actually equals a score in the first.
Let Ul=k; then θl=dk+1. This is the largest value θl such that U(θl)=Ul.
Let Uu=nm-k; then θu=dnm-k. This is the smallest value θu such that U(θu)=Uu.
As in the case of θ^, these equations may be solved using either the exact or iterative methods to find the values θl and θu.
Then (θl,θu) is the confidence interval for θ. The confidence interval is thus defined by those values of θ0 such that the null hypothesis, θ=θ0, is not rejected by the Mann–Whitney two sample rank test at the (100×α)% level.

4 References

Lehmann E L (1975) Nonparametrics: Statistical Methods Based on Ranks Holden–Day
McKean J W and Ryan T A (1977) Algorithm 516: An algorithm for obtaining confidence intervals and point estimates based on ranks in the two-sample location problem ACM Trans. Math. Software 10 183–185
Monahan J F (1984) Algorithm 616: Fast computation of the Hodges–Lehman location estimator ACM Trans. Math. Software 10 265–270

5 Arguments

1: method Nag_RCIMethod Input
On entry: specifies the method to be used.
method=Nag_RCI_Exact
The exact algorithm is used.
method=Nag_RCI_Approx
The iterative algorithm is used.
Constraint: method=Nag_RCI_Exact or Nag_RCI_Approx.
2: n Integer Input
On entry: n, the size of the first sample.
Constraint: n1.
3: x[n] const double Input
On entry: the observations of the first sample, xi, for i=1,2,,n.
4: m Integer Input
On entry: m, the size of the second sample.
Constraint: m1.
5: y[m] const double Input
On entry: the observations of the second sample, yj, for j=1,2,,m.
6: clevel double Input
On entry: the confidence interval required, 1-α; e.g., for a 95% confidence interval set clevel=0.95.
Constraint: 0.0<clevel<1.0.
7: theta double * Output
On exit: the estimate of the difference in the location of the two populations, θ^.
8: thetal double * Output
On exit: the estimate of the lower limit of the confidence interval, θl.
9: thetau double * Output
On exit: the estimate of the upper limit of the confidence interval, θu.
10: estcl double * Output
On exit: an estimate of the actual percentage confidence of the interval found, as a proportion between (0.0,1.0).
11: ulower double * Output
On exit: the value of the Mann–Whitney U statistic corresponding to the lower confidence limit, Ul.
12: uupper double * Output
On exit: the value of the Mann–Whitney U statistic corresponding to the upper confidence limit, Uu.
13: fail NagError * Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).

6 Error Indicators and Warnings

NE_ALLOC_FAIL
Dynamic memory allocation failed.
See Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
NE_BAD_PARAM
On entry, argument value had an illegal value.
NE_CONVERGENCE
The iterative procedure used to estimate θ has not converged. This is an unlikely exit but the estimate should still be a reasonable approximation.
The iterative procedure used to estimate, θl, the lower confidence limit has not converged. This is an unlikely exit but the estimate should still be a reasonable approximation.
The iterative procedure used to estimate, θu, the upper confidence limit has not converged. This is an unlikely exit but the estimate should still be a reasonable approximation.
NE_INT
On entry, m=value.
Constraint: m1.
On entry, n=value.
Constraint: n1.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
See Section 7.5 in the Introduction to the NAG Library CL Interface for further information.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library CL Interface for further information.
NE_REAL
On entry, clevel=value.
Constraint: 0.0<clevel<1.0.
NE_SAMPLE_IDEN
Not enough information to compute an interval estimate since each sample has identical values. The common difference is returned in theta, thetal and thetau.

7 Accuracy

g07ebc should return results accurate to five significant figures in the width of the confidence interval, that is the error for any one of the three estimates should be less than 0.00001×(thetau-thetal).

8 Parallelism and Performance

Background information to multithreading can be found in the Multithreading documentation.
g07ebc is threaded by NAG for parallel execution in multithreaded implementations of the NAG Library.
g07ebc makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this function. Please also consult the Users' Note for your implementation for any additional implementation-specific information.

9 Further Comments

The time taken increases with the sample sizes n and m.

10 Example

The following program calculates a 95% confidence interval for the difference in location between the two populations from which the two samples of sizes 50 and 100 are drawn respectively.

10.1 Program Text

Program Text (g07ebce.c)

10.2 Program Data

Program Data (g07ebce.d)

10.3 Program Results

Program Results (g07ebce.r)