fregre.basis.cv {fda.usc} | R Documentation |
Cross-validation Functional Regression with scalar response using basis representation.
Description
Computes functional regression between functional explanatory variables and scalar response using basis representation.
Usage
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,
...
)
Arguments
fdataobj |
|
y |
Scalar response with length |
basis.x |
Basis for functional explanatory data |
basis.b |
Basis for functional beta parameter. |
type.basis |
A vector of character string which determines type of
basis. By default "bspline". It is only used when |
lambda |
A roughness penalty. By default, no penalty |
Lfdobj |
See eval.penalty. |
type.CV |
Type of cross-validation. By default generalized
cross-validation |
par.CV |
List of parameters for |
weights |
weights |
verbose |
If |
... |
Further arguments passed to or from other methods. |
Details
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.
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.
Value
Return:
-
fregre.basis
Fitted regression object by the best parameters (basis elements for data and beta and lambda penalty). -
basis.x.opt: Basis used for functional explanatory data estimation
fdata
. -
basis.b.opt: Basis used for for functional
beta
parameter estimation. -
lambda.opt:
lambda
value that minimizes CV or GCV method. -
gcv.opt: Minimum value of CV or GCV method.
Author(s)
Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@udc.es
References
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. https://www.jstatsoft.org/v51/i04/
See Also
See Also as: fregre.basis
,
summary.fregre.fd
and predict.fregre.fd
.
Alternative method: fregre.pc.cv
and
fregre.np.cv
.
Examples
## 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
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
## End(Not run)