[R] Fitting spline using Pspline

guy33 david.reshef at magd.ox.ac.uk
Sun May 29 19:30:01 CEST 2011


Hey all,

I seem to be having trouble fitting a spline to a large set of data using
PSpline.  It seems to work fine for a data set of size n=4476, but not for
anything larger (say, n=4477).  For example:

THIS WORKS:
-----------------------------
random = array(0,c(4476,2))
random[,1] = runif(4476,0,1)
random[,2] = runif(4476,0,1)
random = random[order(random[,1]),]
plot(random[,1],random[,2])
fit2 = sm.spline(random[,1],random[,2], norder=2, cv=FALSE)
lines(fit2$x,fit2$y)

THIS FAILS:
-----------------------------
random = array(0,c(4477,2))
random[,1] = runif(4477,0,1)
random[,2] = runif(4477,0,1)
random = random[order(random[,1]),]
plot(random[,1],random[,2])
fit2 = sm.spline(random[,1],random[,2], norder=2, cv=FALSE)
lines(fit2$x,fit2$y)

It gives:
Error in smooth.Pspline(x = ux, y = tmp[, 1], w = tmp[, 2], method = method, 
: 
  Singularity error in solving equations

Does anyone know if this is just a limitation, or am I missing something. 
The dataset I'd like to run it on contains n=6000.  If it is a limitation,
does anyone know of any other ways to do this that would accommodate a
larger dataset (ideally with generalized cross validation)?

Thanks!
-guy33

--
View this message in context: http://r.789695.n4.nabble.com/Fitting-spline-using-Pspline-tp3559202p3559202.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list