Computes functional regression between functional explanatory variables and scalar response using basis representation.
The function 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.
Scalar response with length n
.
Basis for functional explanatory data fdataobj
.
Basis for functional beta parameter.
A vector of character string which determines type of basis. By default "bspline". It is only used when
basis.x
or basis.b
are a vector of number of basis considered.
A roughness penalty. By default, no penalty lambda=0
.
See eval.penalty.
Type of cross-validation. By default generalized cross-validation GCV.S
method.
List of parameters for type.CV
: trim
, the alpha of the trimming and draw
.
weights
If TRUE
information about the procedure is printed. Default is FALSE
.
Further arguments passed to or from other methods.
Return:
The matched call.
A named vector of coefficients
y
minus fitted values
.
Estimated scalar response.
beta parameter estimated of class fd
(only for weighted fits) the specified weights.
The residual degrees of freedom.
Coefficient of determination.
Residual variance.
Hat matrix.
Scalar response.
Functional explanatory data of class fdata
.
Centered functional explanatory data of class fd
.
lambda
value that minimizes CV or GCV method.
Minimum value of CV or GCV method.
Basis used for functional explanatory data estimation fdata
.
Basis used for for functional beta
parameter estimation.
Intercept parameter estimated
Return lm
object.
If 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.
Ramsay, James O. and Silverman, Bernard W. (2006), Functional Data Analysis, 2nd ed., Springer, New York.
Febrero-Bande, M., Oviedo de la Fuente, M. (2012). Statistical Computing in Functional Data Analysis: The R Package fda.usc. Journal of Statistical Software, 51(4), 1-28. http://www.jstatsoft.org/v51/i04/
See Also as: fregre.basis
, summary.fregre.fd
and predict.fregre.fd
.
Alternative method: fregre.pc.cv
and fregre.np.cv
.
# NOT RUN {
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
# }
# NOT RUN {
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