fregre.basis.cv()
uses validation criterion defined by argument type.CV
to estimate the number of basis elements and/or the penalized parameter (lambda
) that best predicts the response.fregre.basis.cv(fdataobj,y,basis.x=NULL,basis.b=NULL,
type.basis=NULL,lambda=0,Lfdobj=vec2Lfd(c(0,0),rtt),
type.CV=GCV.S,par.CV=list(trim=0),weights= rep(1,n),
verbose=FALSE,...)
fdata
class object.n
.fdataobj
.basis.x
or basis.b
are a vector of number of basis considered.lambda=0
.GCV.S
method.type.CV
: trim
, the alpha of the trimming and draw
.TRUE
information about the procedure is printed. Default is FALSE
.y
minus fitted values
.fd
fdata
.fd
.lambda
value that minimizes CV or GCV method.fdata
.beta
parameter estimation.lm
object.basis = NULL
creates bspline basis.
If the functional covariate fdataobj
is in a format raw data
, such as matrix or data.frame, creates an object of class fdata
with default attributes, see fdata
.
If basis.x
is a vector of number of basis elements and basis.b=NULL
, the function force the same number of elements in the basis of x
and beta
.
If basis.x$type=``fourier''
and basis.b$type=``fourier''
, the function decreases the number of fourier basis elements on the $min(k_{n1},k_{n2})$, where $k_{n1}$ and $k_{n2}$ are the number of basis element of basis.x
and basis.b
respectively.fregre.basis
, summary.fregre.fd
and predict.fregre.fd
.
Alternative method: fregre.pc.cv
and fregre.np.cv
.data(tecator)
x<-tecator$absorp.fdata[1:129]
y=tecator$y$Fat[1:129]
b1<-c(15,21,31)
b2<-c(7,9)
res1=fregre.basis.cv(x,y,basis.x=b1)
res2=fregre.basis.cv(x,y,basis.x=b1,basis.b=b2)
res1$gcv
res2$gcv
l=2^(-4:10)
res3=fregre.basis.cv(x,y,basis.b=b1,type.basis="fourier",
lambda=l,type.CV=GCV.S,par.CV=list(trim=0.15))
res3$gcv
Run the code above in your browser using DataLab