fregre.pls(fdataobj, y=NULL, l = NULL,lambda=0,P=c(0,0,1),...)
fdata
class object.n
.P
is a vector: P
are coefficients to define the penalty matrix object. By default P=c(0,0,1)
penalize the second derivative (curvature) or acceleration.
If P
is a matrix: P is the penalty matrix ofregre.pls
function.fdata
.y
-fitted values
.fdata2pls
function.lm
functionfdata2pls
by alternative formulation of the NIPALS algorithm proposed by Kraemer and Sugiyama (2011).
Let $\left{\tilde{\nu}_k\right}_{k=1}^{\infty}$ the functional PLS components and $\tilde{X}_i(t)=\sum_{k=1}^{\infty}\tilde{\gamma}_{ik}\tilde{\nu}_k$ and $\beta(t)=\sum_{k=1}^{\infty}\tilde{\beta}_k\tilde{\nu}_k$. The functional linear model is estimated by:
$$\hat{y}=\big< X,\hat{\beta} \big> \approx \sum_{k=1}^{k_n}\tilde{\gamma}_{k}\tilde{\beta}_k$$
The response can be fitted by:
P=P.penalty(fdataobj["argvals"],P)
,$$\hat{y}=\nu_k^{\top}(\nu_k\top \nu_k+\lambda \nu_k^{\top} \textbf{P}\nu_k)^{-1}\nu_k^{\top}y$$P.penalty
and fregre.pls.cv
.
Alternative method: fregre.pc
.data(tecator)
x<-tecator$absorp.fdata
y<-tecator$y$Fat
res=fregre.pc(x,y,c(1:8))
summary(res)
res2=fregre.pls(x,y,c(1:8),lambda=10)
summary(res2)
Run the code above in your browser using DataLab