NAG CL Interface
g07dac (robust_​1var_​median)

Settings help

CL Name Style:


1 Purpose

g07dac finds the median, median absolute deviation, and a robust estimate of the standard deviation for a set of ungrouped data.

2 Specification

#include <nag.h>
void  g07dac (Integer n, const double x[], double y[], double *xme, double *xmd, double *xsd, NagError *fail)
The function may be called by the names: g07dac, nag_univar_robust_1var_median or nag_median_1var.

3 Description

The data consists of a sample of size n , denoted by x 1 , x 2 , , x n , drawn from a random variable X . g07dac first computes the median
θ med = med i { x i }  
and from this the median absolute deviation can be computed,
σ med = med i {| x i - θ med |} .  
Finally, a robust estimate of the standard deviation is computed,
σ med = σ med / Φ −1 (0.75)  
where Φ −1 (0.75) is the value of the inverse standard Normal function at the point 0.75. g07dac is based upon the algorithm used in the function LTMDDV in the ROBETH library, see Marazzi (1987).

4 References

Huber P J (1981) Robust Statistics Wiley
Marazzi A (1987) Subroutines for robust and bounded influence regression in ROBETH Cah. Rech. Doc. IUMSP, No. 3 ROB 2 Institut Universitaire de Médecine Sociale et Préventive, Lausanne

5 Arguments

1: n Integer Input
On entry: the number of observations, n .
Constraint: n>1 .
2: x[n] const double Input
On entry: the vector of observations, x 1 , x 2 , , x n .
3: y[n] double Output
On exit: the observations sorted into ascending order.
4: xme double * Output
On exit: the median, θ med .
5: xmd double * Output
On exit: the median absolute deviation, σ med .
6: xsd double * Output
On exit: the robust estimate of the standard deviation, σ med .
7: 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_INT_ARG_GT
On entry, n=value.
Constraint: nvalue.
NE_INT_ARG_LE
On entry, n=value.
Constraint: n>1.

7 Accuracy

The computations are believed to be stable.

8 Parallelism and Performance

Background information to multithreading can be found in the Multithreading documentation.
g07dac is not threaded in any implementation.

9 Further Comments

g07dac may be called with the same actual array supplied for arguments x and y, in which case the sorted data values will overwrite the original contents of x.

10 Example

The following program reads in a set of data consisting of eleven observations of a variable x. The median, median absolute deviation and a robust estimate of the standard deviation are calculated and printed along with the sorted data in output array y.

10.1 Program Text

Program Text (g07dace.c)

10.2 Program Data

Program Data (g07dace.d)

10.3 Program Results

Program Results (g07dace.r)