This help topic is for R version 0.90. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/modreg/html/supsmu.html
supsmu {modreg}R Documentation

Friedman's SuperSmoother

Description

Smooth the (x, y) values by Friedman's "super smoother".

Usage

supsmu(x, y, wt=rep(1, length(y)), span="cv", periodic=FALSE, bass=0)

Arguments

x

x values for smoothing

y

y values for smoothing

wt

case weights

span

the fraction of the observations in the span of the running lines smoother, or "cv" to choose this by leave-one-out cross-validation.

periodic

If true, the x values are assumed to be in [0, 1] and of period 1.

bass

controls the smoothness of the fitted curve. Values of up to 10 indicating increasing smoothness.

Details

supsmu is a running lines smoother which chooses between three spans for the lines. The running lines smoothers are symmetric, with k/2 data points each side of the predicted point, and values of k as 0.5n, 0.2n and 0.05n. If span is specified, as single smoother with span span * n is used.

The best of the three smoothers is chosen by cross-validation for each prediction. The best spans are then smoothed by a running lines smoother and the final prediction chosen by linear interpolation.

The Fortran code says: "For small samples (n < 40) or if there are substantial serial correlations between observations close in x - value, then a prespecified fixed span smoother (span > 0) should be used. Reasonable span values are 0.2 to 0.4."

Value

A list with components

x

the input values in increasing order with duplicates removed.

y

the corresponding y values on the fitted curve.

Author(s)

B.D. Ripley

References

Friedman, J. H. (1984) SMART User's Guide. Laboratory for Computational Statistics, Stanford University Technical Report No. 1.

Friedman, J. H. (1984) A variable span scatterplot smoother. Laboratory for Computational Statistics, Stanford University Technical Report No. 5.

See Also

ppr

Examples

data(cars)
attach(cars)
plot(speed, dist)
lines(supsmu(speed, dist))
lines(supsmu(speed, dist, bass=7), lty=2)
detach()