- statistics: yy = monotone_smooth (x, y, h)
 Produce a smooth monotone increasing approximation to a sampled functional
 dependence.
 A kernel method is used (an Epanechnikov smoothing kernel is applied to y(x);
 this is integrated to yield the monotone increasing form.  See Reference 1
 for details.)
 
Arguments
 
- 
 x is a vector of values of the independent variable.
 
- 
 y is a vector of values of the dependent variable, of the same size as
 x. For best performance, it is recommended that the y already be
 fairly smooth, e.g. by applying a kernel smoothing to the original values if
 they are noisy.
 
- 
 h is the kernel bandwidth to use. If h is not given,
 a "reasonable" value is computed.
Return values
 
- 
 yy is the vector of smooth monotone increasing function values at
 x.
Examples
 |  |    x = 0:0.1:10;
 y = (x .^ 2) + 3 * randn(size(x)); # typically non-monotonic from the added
 noise
 ys = ([y(1) y(1:(end-1))] + y + [y(2:end) y(end)])/3; # crudely smoothed via
 moving average, but still typically non-monotonic
 yy = monotone_smooth(x, ys); # yy is monotone increasing in x
 plot(x, y, '+', x, ys, x, yy)
    | 
 
References
 
- 
 Holger Dette, Natalie Neumeyer and Kay F. Pilz (2006), A simple nonparametric
 estimator of a strictly monotone regression function, Bernoulli,
 12:469-490
 
- 
 Regine Scheder (2007), R Package ’monoProc’, Version 1.0-6,
 http://cran.r-project.org/web/packages/monoProc/monoProc.pdf (The
 implementation here is based on the monoProc function mono.1d)
 
Source Code: 
  monotone_smooth