idlastro / Robust Statistics procedures: BIWEIGHT_MEAN

[Source code]

NAME
BIWEIGHT_MEAN 
PURPOSE
Calculate the center and dispersion (like mean and sigma) of a 
distribution using bisquare weighting.
CALLING SEQUENCE
Mean = BIWEIGHT_MEAN( Vector, [ Sigma, Weights ] ) 
INPUTS
Vector = Distribution in vector form
OUTPUT
Mean - The location of the center.
OPTIONAL OUTPUT ARGUMENTS
Sigma = An outlier-resistant measure of the dispersion about the 
      center, analogous to the standard deviation. 
Weights = The weights applied to the data in the last iteration, 
         floating point vector
NOTES
Since a sample mean  scaled by sigma/sqrt(N), has a Student's T 
distribution, the half-width of the  95% confidence interval for 
the sample mean  can be determined as follows: 
   ABS( T_CVF( .975, .7*(N-1) )*SIGMA/SQRT(N) ) 
where N = number of  points, and  0.975 = 1 - (1 - 0.95)/2. 
PROCEDURES USED
ROBUST_SIGMA()
REVISION HISTORY
Written,  H. Freudenreich, STX, 12/89
Modified 2/94, H.T.F.: use a biweighted standard deviation rather than
        median absolute deviation.
Modified 2/94, H.T.F.: use the fractional change in SIGMA as the 
        convergence criterion rather than the change in center/SIGMA.
odified May 2002  Use MEDIAN(/EVEN)
odified October 2002, Faster computation of weights 
orrected documentation on 95% confidence interval of mean 
         P.Broos/W. Landsman   July 2003