LOWESS
Name
lowess
Purpose
Lowess smoothing of data.
Description
This algorithm was gleaned from a description of LOWESS, standing
for LOcally WEighted Scatterplot Smoother, found in "The Elements of
Graphing Data", by William S. Cleveland, Wadsworth Advanced Books and
Software. This implementation is probably not the same as the one
described. I have tried to include the provision for using different
weighting functions. At the time of writing I don't know what effect
different functions have upon the smoothing process. This procedure
in itself is not intended to be robust (as defined by Cleveland). By
including the possiblity of varying weights for the data points it is
possible to acheive robustness by multiple calls of this routine.
Category
Numerical
Calling Sequence
lowess,x,y,width,ysmoo,WEIGHT=weight
Inputs
x - Independant variable values.
y - Dependant variable values.
width - Width of smoothing function (in same units sa X).
Optional Input Parameters
Keyword Input Parameters
NEWX - If provided, the smoothed curve is computed over this input
range of x values rather than the input x range. ysmoo
will have the same length as NEWX if it is provided.
ORDER - Order of polynomial fit during the lowess smoothing. (default=1)
WEIGHT - Weight to use for each point (default is to have equal weight)
Outputs
ysmoo - Smoothed version of Y, same number of points as input x and y.
Keyword Output Parameters
Common Blocks
Side Effects
Restrictions
Procedure
By default, the weighting function is triangular where the weight is
1 at the output point location, and drops linearly to zero +/- width from
the output point.
Modification History
98/06/16, Written by Marc W. Buie, Lowell Observatory
2001/02/01, MWB, changed Polyfitw call to poly_fit equivalent
2006/11/13, MWB, forced loop variables to LONG