hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_univar_robust_1var_ci (g07ea)


    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example


nag_univar_robust_1var_ci (g07ea) computes a rank based (nonparametric) estimate and confidence interval for the location argument of a single population.


[theta, thetal, thetau, estcl, wlower, wupper, ifail] = g07ea(method, x, clevel, 'n', n)
[theta, thetal, thetau, estcl, wlower, wupper, ifail] = nag_univar_robust_1var_ci(method, x, clevel, 'n', n)


Consider a vector of independent observations, x=x1,x2,,xnT with unknown common symmetric density fxi-θ. nag_univar_robust_1var_ci (g07ea) computes the Hodges–Lehmann location estimator (see Lehmann (1975)) of the centre of symmetry θ, together with an associated confidence interval. The Hodges–Lehmann estimate is defined as
θ^=median xi+xj2,1ijn .  
Let m=nn+1/2 and let ak, for k=1,2,,m denote the m ordered averages xi+xj/2 for 1ijn. Then
This estimator arises from inverting the one-sample Wilcoxon signed-rank test statistic, Wx-θ0, for testing the hypothesis that θ=θ0. Effectively Wx-θ0 is a monotonically decreasing step function of θ0 with
mean ​W=μ= nn+14, varW=σ2= nn+12n+124.  
The estimate θ^ is the solution to the equation Wx-θ^=μ; two methods are available for solving this equation. These methods avoid the computation of all the ordered averages ak; this is because for large n both the storage requirements and the computation time would be excessive.
The first is an exact method based on a set partitioning procedure on the set of all ordered averages xi+xj/2 for ij. This is based on the algorithm proposed by Monahan (1984).
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 Wx-θ0 which is asymptotically linear as a function of θ0.
The confidence interval limits are also based on the inversion of the Wilcoxon test statistic.
Given a desired percentage for the confidence interval, 1-α, expressed as a proportion between 0 and 1, initial estimates for the lower and upper confidence limits of the Wilcoxon statistic are found from
Wu=μ+ 0.5+σ Φ-11-α /2,  
where Φ-1 is the inverse cumulative Normal distribution function.
Wl and Wu are rounded to the nearest integer values. These estimates are then refined using an exact method if n80, and a Normal approximation otherwise, to find Wl and Wu satisfying
PWWlα/2 PWWl+1>α/2  
PWWuα /2 PWWu- 1>α /2.  
Let Wu=m-k; then θl=ak+1. This is the largest value θl such that Wx-θl=Wu.
Let Wl=k; then θu=am-k. This is the smallest value θu such that Wx-θu=Wl.
As in the case of θ^, these equations may be solved using either the exact or the 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 Wilcoxon signed-rank test at the 100×α% level.


Lehmann E L (1975) Nonparametrics: Statistical Methods Based on Ranks Holden–Day
Marazzi A (1987) Subroutines for robust estimation of location and scale in ROBETH Cah. Rech. Doc. IUMSP, No. 3 ROB 1 Institut Universitaire de Médecine Sociale et Préventive, Lausanne
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


Compulsory Input Parameters

1:     method – string (length ≥ 1)
Specifies the method to be used.
The exact algorithm is used.
The iterative algorithm is used.
Constraint: method='E' or 'A'.
2:     xn – double array
The sample observations, xi, for i=1,2,,n.
3:     clevel – double scalar
The confidence interval desired.
For example, for a 95% confidence interval set clevel=0.95.
Constraint: 0.0<clevel<1.0.

Optional Input Parameters

1:     n int64int32nag_int scalar
Default: the dimension of the array x.
n, the sample size.
Constraint: n2.

Output Parameters

1:     theta – double scalar
The estimate of the location, θ^.
2:     thetal – double scalar
The estimate of the lower limit of the confidence interval, θl.
3:     thetau – double scalar
The estimate of the upper limit of the confidence interval, θu.
4:     estcl – double scalar
An estimate of the actual percentage confidence of the interval found, as a proportion between 0.0,1.0.
5:     wlower – double scalar
The upper value of the Wilcoxon test statistic, Wu, corresponding to the lower limit of the confidence interval.
6:     wupper – double scalar
The lower value of the Wilcoxon test statistic, Wl, corresponding to the upper limit of the confidence interval.
7:     ifail int64int32nag_int scalar
ifail=0 unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

Errors or warnings detected by the function:
On entry,method'E' or 'A',
There is not enough information to compute a confidence interval since the whole sample consists of identical values.
For at least one of the estimates θ^, θl and θu, the underlying iterative algorithm (when method='A') failed to converge. This is an unlikely exit but the estimate should still be a reasonable approximation.
An unexpected error has been triggered by this routine. Please contact NAG.
Your licence key may have expired or may not have been installed correctly.
Dynamic memory allocation failed.


nag_univar_robust_1var_ci (g07ea) should produce 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.

Further Comments

The time taken increases with the sample size n.


The following program calculates a 95% confidence interval for θ, a measure of symmetry of the sample of 50 observations.
function g07ea_example

fprintf('g07ea example results\n\n');

x = [-0.23;  0.35; -0.77;  0.35;  0.27; -0.72;  0.08; -0.40; -0.76;  0.45;
      0.73;  0.74;  0.83; -0.87;  0.21;  0.29; -0.91; -0.04;  0.82; -0.38;
     -0.31;  0.24; -0.47; -0.68; -0.77; -0.86; -0.59;  0.73;  0.39; -0.44;
      0.63; -0.22; -0.07; -0.43; -0.21; -0.31;  0.64; -1.00; -0.86; -0.73];

method = 'Exact';
clevel = 0.95;

[theta, thetal, thetau, estcl, wlower, wupper, ifail] = ...
  g07ea(method, x, clevel);

fprintf(' Location estimator     Confidence Interval\n\n');
fprintf('%13.4f%12s%7.4f,%7.4f )\n\n', theta, '(', thetal, thetau);
fprintf(' Corresponding Wilcoxon statistics\n\n');
fprintf('  Lower : %8.2f\n', wlower);
fprintf('  Upper : %8.2f\n', wupper);

g07ea example results

 Location estimator     Confidence Interval

      -0.1300           (-0.3300, 0.0350 )

 Corresponding Wilcoxon statistics

  Lower :   556.00
  Upper :   264.00

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015