Learn R Programming

fda.usc (version 1.0.0)

fregre.pls.cv: Functional PLS regression with scalar response using selection of number of PLS components

Description

Functional Regression with scalar response using selection of number of partial leas squares (PLS) components through cross-validation. The algorithm selects the PLS 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 PLS components.

Usage

fregre.pls.cv(fdataobj, y, kmax=8, criteria = "SICc",...)

Arguments

fdataobj
fdata class object.
kmax
The number of PLS components to include in the model.
y
Scalar response with length n.
criteria
Type of cross-validation (CV) or Model Selection Criteria (MSC) applied. Possible values are "CV", "AIC", "AICc", "SIC".
...
Further arguments passed to fregre.pls

Value

  • Return:
  • pls.optIndex of PLS components selected.
  • MSC.minMinimum Model Selection Criteria (MSC) value for the code{pls.opt} components.
  • MSCMinimum Model Selection Criteria (MSC) value for kmax components.
  • fregre.plsFitted regression object by the best pls.opt components.

Details

The algorithm is as follows:
  • Select the bests PLS componentspls.optwith minimum MSC criteria by stepwise regression usingfregre.plsin each step.
  • Fit the functional PLS regression between$X(t)$and$Y$using the best selection of FPLS componentspls.opt.
For more details in estimation process see fregre.pls. 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 -\big< X_i,\hat{\beta}_{(-i,k_n)} \big>\Big)^2}$, criteria=``CV''
  • Model Selection Criteria:$MSC(k_n)=log \left[ \frac{1}{n}\sum_{i=1}^{n}{\Big(y_i-\big< X_i,\hat{\beta}_{(i,k_n)} \big>\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''
where criteria is an argument that controls the type of validation used in the selection of the smoothing parameter kmax$=k_n$. criteria=``CV'' is not recommended: time-consuming.

References

Preda C. and Saporta G. PLS regression on a stochastic process. Comput. Statist. Data Anal. 48 (2005): 149{-}158. 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/

See Also

See Also as: fregre.pls, summary.fregre.fd and predict.fregre.fd. Alternative method: fregre.pc, fregre.basis and fregre.np.

Examples

Run this code
data(tecator)
x<-tecator$absorp.fdata[1:129]
y<-tecator$y$Fat[1:129]
fregre.pls.cv(x,y,8)

Run the code above in your browser using DataLab