Language Reference

MAD Function

finds the univariate (scaled) median absolute deviation

MAD( (x\lt,spt\gt))

where



x
is an n x p input data matrix.
spt
is an optional string argument with the following values:
"MAD"
for computing the MAD (which is the default)
"NMAD"
for computing the normalized version of MAD
"SN"
for computing s_n
"QN"
for computing q_n

The MAD function treats the input matrix x as univariate data by appending each row to the previous row to make a single row vector with elements x_{11},  ... , x_{1p}, x_{21},  ... , x_{2p},  ... , x_{n1}, ... ,   x_{np}. In the following description, the notation x_i means the ith element of x when thought of as a row vector.

The MAD function can be used for computing one of the following three robust scale estimates: The scalars c_n and d_n are defined as follows:
c_n = 1.1926 * \{ .743 & {for n=2} \    1.851 & {for n=3} \    .954 & {for n=4} \ ...   ...   .872 & {for n=9} \    n/(n + 1.4) & {uneven n} \    n/(n + 3.8) & {even n}    .

Example

The following example uses the univariate data set of Barnett and Lewis (1978). The data set is used in Chapter 9 to illustrate the univariate LMS and LTS estimates. Here is the code:

  
   b = { 3, 4, 7, 8, 10, 949, 951 }; 
  
   rmad1 = mad(b); 
   rmad2 = mad(b,"mad"); 
   rmad3 = mad(b,"nmad"); 
   rmad4 = mad(b,"sn"); 
   rmad5 = mad(b,"qn"); 
   print "Default MAD=" rmad1, 
         "Common MAD =" rmad2, 
         "MAD*1.4826 =" rmad3, 
         "Robust S_n =" rmad4, 
         "Robust Q_n =" rmad5;
 

This program produces the following output:

  
              Default MAD=         4 
              Common MAD =         4 
              MAD*1.4826 = 5.9304089 
              Robust S_n =  7.143674 
              Robust Q_n = 5.7125049
 

Previous Page | Next Page | Top of Page