Learn R Programming

fda.usc (version 1.2.3)

fregre.basis.cv: Cross-validation Functional Regression with scalar response using basis representation.

Description

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.

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
fdata class object.
y
Scalar response with length n.
basis.x
Basis for functional explanatory data fdataobj.
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 basis.x or basis.b are a vector of number of basis considered.
lambda
A roughness penalty. By default, no penalty lambda=0.
Lfdobj
type.CV
Type of cross-validation. By default generalized cross-validation GCV.S method.
par.CV
List of parameters for type.CV: trim, the alpha of the trimming and draw.
weights
weights
verbose
If TRUE information about the procedure is printed. Default is FALSE.
...
Further arguments passed to or from other methods.

Value

  • Return:
  • callThe matched call.
  • coefficientsA named vector of coefficients
  • residualsy minus fitted values.
  • fitted.valuesEstimated scalar response.
  • beta.estbeta parameter estimated of class fd
  • weights(only for weighted fits) the specified weights.
  • dfThe residual degrees of freedom.
  • r2Coefficient of determination.
  • sr2Residual variance.
  • HHat matrix.
  • yScalar response.
  • fdataobjFunctional explanatory data of class fdata.
  • x.fdCentered functional explanatory data of class fd.
  • lambda.optlambda value that minimizes CV or GCV method.
  • gcv.optMinimum value of CV or GCV method.
  • basis.x.optBasis used for functional explanatory data estimation fdata.
  • basis.b.optBasis used for for functional beta parameter estimation.
  • a.estIntercept parameter estimated
  • lmReturn lm object.

Details

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.

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. http://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

Run this code
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