Hi Carlisle, If I understand you correctly, the problem is smooth.spline() not handling sharp jump(s), right? If so, it's probably easier to try something that can handle such features. Wavelet `denoising' (as opposed to `smoothing', and available in the wavethresh package) is well known for being able to handle abrupt changes (very `spatially adaptive'). Other things you might consider are mars() in the `mda' package (which fits splines in an adaptive fashion) and locfit() in the `locfit' package. For locfit, you will want to specify local smoothing parameter selection, via a call like
locfit(..., alpha=c(0, 0, 2), acri="cp") You might need to play with the `2' a bit to get the right amount of smoothing. The details are in Loader's book `Local regression and Likelihood'. HTH, Andy > From: W. C. Thacker > > Andy, > > As the data are often noisy, smoothing splines should be appropriate. > > The first example profile shows an isothermal (constant temperature) > layer in the upper ocean followed by a sharp thermocline (large > temperature gradient), but there are relatively few observations > defining this sharp transition. In this case simple linear > interpolation works fine, but smooth.spline() with all defaults gives > an absolutely absurd value in the isothermal layer. With all.knots = > TRUE, the values in the isothermal layer are much better but still > peculiar. > > Given the sampling and the data, is it possible to get smooth.spline() > do better? If so, would that adversely impact its performance for > other cases? (There are thousands of profiles.) If not, is there a > simp[le way to select cases that smooth.spline() should not be > expected to handle, so they can be treated separately? > > Thanks, > > Carlisle > > "Liaw, Andy" wrote: > > > > If you really want interpolation, should you be using > spline() rather than > > smooth.spline()? The later is for smoothing data observed > with noise, not > > for interpolation. > > > > Andy > > > > > From: W. C. Thacker > > > > > > Dear R listers, > > > > > > When using smooth.spline to interpolate data, results are > generally > > > good. However, some cases produce totally unreasonable results. > > > > > > The data are values of pressure, temperature, and salinity from a > > > probe that is lowered into the ocean, and the objective is to > > > interpolate temperature and salinity to specified > pressures. While > > > smooth.spline provides excellent values at the observed pressures, > > > there are cases when the values at the desired pressures are > > > unusable. A dataframe with four such profiles, indicated > by values of > > > id, is attached. My target values for pressure are > seq(25,1600,25), > > > but 1:500 is also interesting. > > > > > > Setting all.knots = TRUE helps, but it would be nice to > be able to do > > > better. > > > > > > Any suggestions? > > > > > > Thanks, > > > > > > Carlisle > > > > > > > version > > > _ > > > platform sparc-sun-solaris2.9 > > > arch sparc > > > os solaris2.9 > > > system sparc, solaris2.9 > > > status > > > major 1 > > > minor 8.0 > > > year 2003 > > > month 10 > > > day 08 > > > language R > > > > > > > > > -- > > > > > > William Carlisle Thacker > > > > > > Atlantic Oceanographic and Meteorological Laboratory > > > 4301 Rickenbacker Causeway, Miami, Florida 33149 USA > > > Office: (305) 361-4323 Fax: (305) 361-4392 > > > > > > "Too many have dispensed with generosity > > > in order to practice charity." Albert Camus > > > > > > ______________________________________________ > > > [EMAIL PROTECTED] mailing list > > > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > > > PLEASE do read the posting guide! > > > http://www.R-project.org/posting-guide.html > > > > > > > > > > > -------------------------------------------------------------- > ---------------- > > Notice: This e-mail message, together with any > attachments,...{{dropped}} > > > > ______________________________________________ > > [EMAIL PROTECTED] mailing list > > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > > -- > > William > Carlisle Thacker > > Atlantic Oceanographic and Meteorological Laboratory > 4301 Rickenbacker Causeway, Miami, Florida 33149 USA > Office: (305) 361-4323 Fax: (305) 361-4392 > > "Too many have dispensed with generosity > in order to practice charity." Albert Camus > > ------------------------------------------------------------------------------ Notice: This e-mail message, together with any attachments,...{{dropped}} ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html