From: Ravi Varadhan <rvaradhan_at_jhmi.edu>

Date: Sun, 29 May 2011 23:11:07 -0400

From: r-help-bounces_at_r-project.org [r-help-bounces_at_r-project.org] On Behalf Of guy33 [david.reshef_at_magd.ox.ac.uk] Sent: Sunday, May 29, 2011 6:28 PM

To: r-help_at_r-project.org

Subject: Re: [R] Fitting spline using Pspline

*}
*

plot(x,y)

Date: Sun, 29 May 2011 23:11:07 -0400

Yes, you are right that the results of smooth.spline are slightly worse than that of sm.spline.

The Doppler function is "tricky". At small `x' values, it oscillates rapidly. Hence it is not surprising that the smoothers do not do as well.

Here is a noisy version of your Doppler function. I have also considered another smoother `glkerns'. As you can see, the smoothers do better for larger `x' than for small `x'. It is impossible to distinguish changes in function from noise.

require(pspline)

require(lokern)

x=array(0,1000)

y=array(0,1000)

for (i in 1:1000){

x[i] = i/1000

y[i] = (x[i]*(1-x[i]))^.5 * sin(2*pi*(1.05/(x[i]+.05)))

*}
*

y <- y * (1 + rnorm(1000, 0, 0.2))

plot(x,y, cex=0.4, xlim=c(0,0.1))

fit = sm.spline(x, y, norder=2, cv=FALSE) lines(fit$x,fit$y, col=2)

fit2 = smooth.spline(x, y, cv=FALSE)

lines(fit2$x,fit2$y, col=3)

fit3 = glkerns(x, y)

lines(fit3$x.out,fit3$est, col=4)

Ravi.

From: r-help-bounces_at_r-project.org [r-help-bounces_at_r-project.org] On Behalf Of guy33 [david.reshef_at_magd.ox.ac.uk] Sent: Sunday, May 29, 2011 6:28 PM

To: r-help_at_r-project.org

Subject: Re: [R] Fitting spline using Pspline

Ravi,

Thanks so much! You're right, smooth.spline does work on larger n.

Although, for some reason it's results are different (slightly less good?, but I'm not sure). For example, on the simple doppler function below, sm.spline seems to be closer to the true function than smooth.spline:

x=array(0,1000)

y=array(0,1000)

for (i in 1:1000){

x[i] = i/1000 y[i] = (x[i]*(1-x[i]))^.5 * sin(2*pi*(1.05/(x[i]+.05)))

plot(x,y)

fit = sm.spline(x, y, norder=2, cv=FALSE) lines(fit$x,fit$y)

fit2 = smooth.spline(x, y, cv=FALSE)

lines(fit2$x,fit2$y)

What do you make of that?

-guy33

-- View this message in context: http://r.789695.n4.nabble.com/Fitting-spline-using-Pspline-tp3559202p3559610.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help_at_r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help_at_r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.Received on Mon 30 May 2011 - 03:14:04 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Mon 30 May 2011 - 06:20:11 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*