G07 Chapter Contents
G07 Chapter Introduction
NAG Library Manual

# NAG Library Routine DocumentG07EAF

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

## 1  Purpose

G07EAF computes a rank based (nonparametric) estimate and confidence interval for the location parameter of a single population.

## 2  Specification

 SUBROUTINE G07EAF ( METHOD, N, X, CLEVEL, THETA, THETAL, THETAU, ESTCL, WLOWER, WUPPER, WRK, IWRK, IFAIL)
 INTEGER N, IWRK(3*N), IFAIL REAL (KIND=nag_wp) X(N), CLEVEL, THETA, THETAL, THETAU, ESTCL, WLOWER, WUPPER, WRK(4*N) CHARACTER(1) METHOD

## 3  Description

Consider a vector of independent observations, $x={\left({x}_{1},{x}_{2},\dots ,{x}_{n}\right)}^{\mathrm{T}}$ with unknown common symmetric density $f\left({x}_{i}-\theta \right)$. G07EAF computes the Hodges–Lehmann location estimator (see Lehmann (1975)) of the centre of symmetry $\theta$, together with an associated confidence interval. The Hodges–Lehmann estimate is defined as
 $θ^=median xi+xj2,1≤i≤j≤n .$
Let $m=\left(n\left(n+1\right)\right)/2$ and let ${a}_{\mathit{k}}$, for $\mathit{k}=1,2,\dots ,m$ denote the $m$ ordered averages $\left({x}_{i}+{x}_{j}\right)/2$ for $1\le i\le j\le n$. Then
• if $m$ is odd, $\stackrel{^}{\theta }={a}_{k}$ where $k=\left(m+1\right)/2$;
• if $m$ is even, $\stackrel{^}{\theta }=\left({a}_{k}+{a}_{k+1}\right)/2$ where $k=m/2$.
This estimator arises from inverting the one-sample Wilcoxon signed-rank test statistic, $W\left(x-{\theta }_{0}\right)$, for testing the hypothesis that $\theta ={\theta }_{0}$. Effectively $W\left(x-{\theta }_{0}\right)$ is a monotonically decreasing step function of ${\theta }_{0}$ with
 $mean ​W=μ= nn+14, varW=σ2= nn+12n+124.$
The estimate $\stackrel{^}{\theta }$ is the solution to the equation $W\left(x-\stackrel{^}{\theta }\right)=\mu$; two methods are available for solving this equation. These methods avoid the computation of all the ordered averages ${a}_{k}$; 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 $\left({x}_{i}+{x}_{j}\right)/2$ for $i\le j$. 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 $W\left(x-{\theta }_{0}\right)$ which is asymptotically linear as a function of ${\theta }_{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-\alpha$, expressed as a proportion between $0$ and $1$, initial estimates for the lower and upper confidence limits of the Wilcoxon statistic are found from
 $Wl=μ-0.5+σΦ-1α/2$
and
 $Wu=μ+ 0.5+σ Φ-11-α /2,$
where ${\Phi }^{-1}$ is the inverse cumulative Normal distribution function.
${W}_{l}$ and ${W}_{u}$ are rounded to the nearest integer values. These estimates are then refined using an exact method if $n\le 80$, and a Normal approximation otherwise, to find ${W}_{l}$ and ${W}_{u}$ satisfying
 $PW≤Wl≤α/2 PW≤Wl+1>α/2$
and
 $PW≥Wu≤α /2 PW≥Wu- 1>α /2.$
Let ${W}_{u}=m-k$; then ${\theta }_{l}={a}_{k+1}$. This is the largest value ${\theta }_{l}$ such that $W\left(x-{\theta }_{l}\right)={W}_{u}$.
Let ${W}_{l}=k$; then ${\theta }_{u}={a}_{m-k}$. This is the smallest value ${\theta }_{u}$ such that $W\left(x-{\theta }_{u}\right)={W}_{l}$.
As in the case of $\stackrel{^}{\theta }$, these equations may be solved using either the exact or the iterative methods to find the values ${\theta }_{l}$ and ${\theta }_{u}$.
Then $\left({\theta }_{l},{\theta }_{u}\right)$ is the confidence interval for $\theta$. The confidence interval is thus defined by those values of ${\theta }_{0}$ such that the null hypothesis, $\theta ={\theta }_{0}$, is not rejected by the Wilcoxon signed-rank test at the $\left(100×\alpha \right)%$ 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

## 5  Parameters

1:     $\mathrm{METHOD}$ – CHARACTER(1)Input
On entry: specifies the method to be used.
${\mathbf{METHOD}}=\text{'E'}$
The exact algorithm is used.
${\mathbf{METHOD}}=\text{'A'}$
The iterative algorithm is used.
Constraint: ${\mathbf{METHOD}}=\text{'E'}$ or $\text{'A'}$.
2:     $\mathrm{N}$ – INTEGERInput
On entry: $n$, the sample size.
Constraint: ${\mathbf{N}}\ge 2$.
3:     $\mathrm{X}\left({\mathbf{N}}\right)$ – REAL (KIND=nag_wp) arrayInput
On entry: the sample observations, ${x}_{\mathit{i}}$, for $\mathit{i}=1,2,\dots ,n$.
4:     $\mathrm{CLEVEL}$ – REAL (KIND=nag_wp)Input
On entry: the confidence interval desired.
For example, for a $95%$ confidence interval set ${\mathbf{CLEVEL}}=0.95$.
Constraint: $0.0<{\mathbf{CLEVEL}}<1.0$.
5:     $\mathrm{THETA}$ – REAL (KIND=nag_wp)Output
On exit: the estimate of the location, $\stackrel{^}{\theta }$.
6:     $\mathrm{THETAL}$ – REAL (KIND=nag_wp)Output
On exit: the estimate of the lower limit of the confidence interval, ${\theta }_{l}$.
7:     $\mathrm{THETAU}$ – REAL (KIND=nag_wp)Output
On exit: the estimate of the upper limit of the confidence interval, ${\theta }_{u}$.
8:     $\mathrm{ESTCL}$ – REAL (KIND=nag_wp)Output
On exit: an estimate of the actual percentage confidence of the interval found, as a proportion between $\left(0.0,1.0\right)$.
9:     $\mathrm{WLOWER}$ – REAL (KIND=nag_wp)Output
On exit: the upper value of the Wilcoxon test statistic, ${W}_{u}$, corresponding to the lower limit of the confidence interval.
10:   $\mathrm{WUPPER}$ – REAL (KIND=nag_wp)Output
On exit: the lower value of the Wilcoxon test statistic, ${W}_{l}$, corresponding to the upper limit of the confidence interval.
11:   $\mathrm{WRK}\left(4×{\mathbf{N}}\right)$ – REAL (KIND=nag_wp) arrayWorkspace
12:   $\mathrm{IWRK}\left(3×{\mathbf{N}}\right)$ – INTEGER arrayWorkspace
13:   $\mathrm{IFAIL}$ – INTEGERInput/Output
On entry: IFAIL must be set to $0$, $-1\text{​ or ​}1$. If you are unfamiliar with this parameter you should refer to Section 3.3 in the Essential Introduction for details.
For environments where it might be inappropriate to halt program execution when an error is detected, the value $-1\text{​ or ​}1$ is recommended. If the output of error messages is undesirable, then the value $1$ is recommended. Otherwise, if you are not familiar with this parameter, the recommended value is $0$. When the value $-\mathbf{1}\text{​ or ​}\mathbf{1}$ is used it is essential to test the value of IFAIL on exit.
On exit: ${\mathbf{IFAIL}}={\mathbf{0}}$ unless the routine detects an error or a warning has been flagged (see Section 6).

## 6  Error Indicators and Warnings

If on entry ${\mathbf{IFAIL}}={\mathbf{0}}$ or $-{\mathbf{1}}$, explanatory error messages are output on the current error message unit (as defined by X04AAF).
Errors or warnings detected by the routine:
${\mathbf{IFAIL}}=1$
 On entry, ${\mathbf{METHOD}}\ne \text{'E'}$ or $\text{'A'}$, or ${\mathbf{N}}<2$, or ${\mathbf{CLEVEL}}\le 0.0$, or ${\mathbf{CLEVEL}}\ge 1.0$.
${\mathbf{IFAIL}}=2$
There is not enough information to compute a confidence interval since the whole sample consists of identical values.
${\mathbf{IFAIL}}=3$
For at least one of the estimates $\stackrel{^}{\theta }$, ${\theta }_{l}$ and ${\theta }_{u}$, the underlying iterative algorithm (when ${\mathbf{METHOD}}=\text{'A'}$) failed to converge. This is an unlikely exit but the estimate should still be a reasonable approximation.
${\mathbf{IFAIL}}=-99$
See Section 3.8 in the Essential Introduction for further information.
${\mathbf{IFAIL}}=-399$
Your licence key may have expired or may not have been installed correctly.
See Section 3.7 in the Essential Introduction for further information.
${\mathbf{IFAIL}}=-999$
Dynamic memory allocation failed.
See Section 3.6 in the Essential Introduction for further information.

## 7  Accuracy

G07EAF 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×\left({\mathbf{THETAU}}-{\mathbf{THETAL}}\right)$.

## 8  Parallelism and Performance

G07EAF is threaded by NAG for parallel execution in multithreaded implementations of the NAG Library.
Please consult the X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this routine. Please also consult the Users' Note for your implementation for any additional implementation-specific information.

The time taken increases with the sample size $n$.

## 10  Example

The following program calculates a 95% confidence interval for $\theta$, a measure of symmetry of the sample of $50$ observations.

### 10.1  Program Text

Program Text (g07eafe.f90)

### 10.2  Program Data

Program Data (g07eafe.d)

### 10.3  Program Results

Program Results (g07eafe.r)