Lowess smoother: Robust locally weighted regression. The lowess
function fits a nonparametric regression curve to a scatterplot. The
arrays x and y contain an equal number of elements; each pair (x[i],
y[i]) defines a data point in the scatterplot. The function returns the
estimated (smooth) values of y.
The smoothing span is given by f. A larger value for f will result in
a smoother curve. The number of robustifying iterations is given by iter.
The function will run faster with a smaller number of iterations.
x and y should be numpy float arrays of equal length. The return
value is also a numpy float array of that length.
e.g. >>> import numpy >>> x = numpy.array([4, 4,
7, 7, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, ... 12,
13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, ...
17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, ...
20, 22, 23, 24, 24, 24, 24, 25], numpy.float) >>> y =
numpy.array([2, 10, 4, 22, 16, 10, 18, 26, 34, 17, 28, 14, 20, 24, ...
28, 26, 34, 34, 46, 26, 36, 60, 80, 20, 26, 54, 32, 40, ...
32, 40, 50, 42, 56, 76, 84, 36, 46, 68, 32, 48, 52, 56, ...
64, 66, 54, 70, 92, 93, 120, 85], numpy.float) >>> result =
lowess(x, y) >>> len(result) 50 >>> print "[%0.2f,
..., %0.2f]" % (result[0], result[-1]) [4.85, ..., 84.98]
- Returns: yest
|