Functional Regression with scalar response using selection of number of penalized principal componentes PPLS through cross-validation. The algorithm selects the PPLS components with best estimates the response. The selection is performed by cross-validation (CV) or Model Selection Criteria (MSC). After is computing functional regression using the best selection of PPLS components.
fregre.pls.cv(
fdataobj,
y,
kmax = 8,
lambda = 0,
P = c(0, 0, 1),
criteria = "SIC",
...
)
Return:
fregre.pls
Fitted regression object by the best (pls.opt
) components.
pls.opt
Index of PLS components' selected.
MSC.min
Minimum Model Selection Criteria (MSC) value for
the (pls.opt
components.
MSC
Minimum Model Selection Criteria (MSC) value for kmax
components.
fdata
class object.
Scalar response with length n
.
The number of components to include in the model.
Vector with the amounts of penalization. Default value is 0,
i.e. no penalization is used. If lambda=TRUE
the algorithm computes
a sequence of lambda values.
The vector of coefficients to define the penalty matrix object. For
example, if P=c(0,0,1)
, penalized regression is computed penalizing
the second derivative (curvature).
Type of cross-validation (CV) or Model Selection Criteria (MSC) applied. Possible values are "CV", "AIC", "AICc", "SIC", "SICc", "HQIC".
Further arguments passed to fregre.pls
.
Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@udc.es
The algorithm selects the best principal components
pls.opt
from the first kmax
PLS and (optionally) the best
penalized parameter lambda.opt
from a sequence of non-negative
numbers lambda
.
The method selects the best principal components with
minimum MSC criteria by stepwise regression using fregre.pls
in each step.
The process (point 1) is repeated for each lambda
value.
The method selects the principal components (pls.opt
=pls.order[1:k.min]
) and (optionally) the lambda parameter with minimum MSC criteria.
Finally, is computing functional PLS regression between functional explanatory variable \(X(t)\) and scalar response \(Y\) using the best selection of PLS pls.opt
and ridge parameter rn.opt
.
The criteria selection is done by cross-validation (CV) or Model Selection Criteria (MSC).
Predictive Cross-Validation: \(PCV(k_n)=\frac{1}{n}\sum_{i=1}^{n}{\Big(y_i -\hat{y}_{(-i,k_n)}\Big)^2}\), criteria
=``CV''
Model Selection Criteria:
\(MSC(k_n)=log \left[ \frac{1}{n}\sum_{i=1}^{n}{\Big(y_i-\hat{y}_i\Big)^2} \right] +p_n\frac{k_n}{n} \)
\(p_n=\frac{log(n)}{n}\), criteria
=``SIC'' (by default)
\(p_n=\frac{log(n)}{n-k_n-2}\),
criteria
=``SICc''
\(p_n=2\), criteria
=``AIC''
\(p_n=\frac{2n}{n-k_n-2}\), criteria
=``AICc''
\(p_n=\frac{2log(log(n))}{n}\),
criteria
=``HQIC''
where criteria
is an argument that controls the
type of validation used in the selection of the smoothing parameter
kmax
\(=k_n\) and penalized parameter lambda
\(=\lambda\).
Preda C. and Saporta G. PLS regression on a stochastic process. Comput. Statist. Data Anal. 48 (2005): 149-158.
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 as:fregre.pc
.
if (FALSE) {
data(tecator)
x<-tecator$absorp.fdata[1:129]
y<-tecator$y$Fat[1:129]
# no penalization
pls1<- fregre.pls.cv(x,y,8)
# 2nd derivative penalization
pls2<-fregre.pls.cv(x,y,8,lambda=0:5,P=c(0,0,1))
}
Run the code above in your browser using DataLab