Partial least squares components for functional data.
Compute penalized partial least squares (PLS) components for functional data.
fdata2pls(fdataobj, y, ncomp = 2, lambda = 0, P = c(0, 0, 1), norm = TRUE, ...)
fdataobj |
|
y |
Scalar response with length |
ncomp |
The number of components to include in the model. |
lambda |
Amount of penalization. Default value is 0, i.e. no penalization is used. |
P |
If P is a vector: coefficients to define the penalty matrix object. By default P=c(0,0,1) penalizes the second derivative (curvature) or acceleration. If P is a matrix: the penalty matrix object. |
norm |
If |
... |
Further arguments passed to or from other methods. |
If norm=TRUE, computes the PLS by
NIPALS algorithm and the Degrees of Freedom using the Krylov
representation of PLS, see Kraemer and Sugiyama (2011).
If norm=FALSE, computes the PLS by Orthogonal Scores Algorithm and
the Degrees of Freedom are the number of components ncomp, see
Martens and Naes (1989).
fdata2pls function return:
df degree of freedom
rotation fdata class object.
x Is true the value of the rotated data (the centred data multiplied by the rotation matrix) is returned.
fdataobj.cen The centered fdataobj object.
mean mean of fdataobj.
lVector of index of principal components.
C The matched call.
lambda Amount of penalization.
P Penalty matrix.
Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@usc.es
Kraemer, N., Sugiyama M. (2011). The Degrees of Freedom of Partial Least Squares Regression. Journal of the American Statistical Association. Volume 106, 697-705.
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/
Martens, H., Naes, T. (1989) Multivariate calibration. Chichester: Wiley.
Used in:
fregre.pls, fregre.pls.cv.
Alternative method: fdata2pc.
## Not run: n= 500;tt= seq(0,1,len=101) x0<-rproc2fdata(n,tt,sigma="wiener") x1<-rproc2fdata(n,tt,sigma=0.1) x<-x0*3+x1 beta = tt*sin(2*pi*tt)^2 fbeta = fdata(beta,tt) y<-inprod.fdata(x,fbeta)+rnorm(n,sd=0.1) pls1=fdata2pls(x,y) norm.fdata(pls1$rotation) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.