pls.regression {plsgenomics} | R Documentation |
Multivariate Partial Least Squares Regression
Description
The function pls.regression
performs pls multivariate regression (with several response
variables and several predictor variables) using de Jong's SIMPLS algorithm. This function
is an adaptation of R. Wehrens' code from the package pls.pcr.
Usage
pls.regression(Xtrain, Ytrain, Xtest=NULL, ncomp=NULL, unit.weights=TRUE)
Arguments
Xtrain |
a (ntrain x p) data matrix of predictors. |
Ytrain |
a (ntrain x m) data matrix of responses. |
Xtest |
a (ntest x p) matrix containing the predictors for the test data
set. |
ncomp |
the number of latent components to be used for regression. If
|
unit.weights |
if |
Details
The columns of the data matrices Xtrain
and Ytrain
must not be centered to have
mean zero, since centering is performed by the function pls.regression
as a preliminary
step before the SIMPLS algorithm is run.
In the original definition of SIMPLS by de Jong (1993), the weight vectors have length 1. If the weight vectors are standardized to have length 1, they satisfy a simple optimality criterion (de Jong, 1993). However, it is also usual (and computationally efficient) to standardize the latent components to have length 1.
In contrast to the original version found in the package pls.pcr
,
the prediction for the observations from Xtest
is performed after
centering the columns of Xtest
by substracting the columns means
calculated from Xtrain
.
Value
A list with the following components:
B |
the (p x m x length( |
Ypred |
the (ntest x m x length( |
P |
the (p x max( |
Q |
the (m x max( |
T |
the (ntrain x max( |
R |
the (p x max( |
meanX |
the p-vector containing the means of the columns of |
Author(s)
Anne-Laure Boulesteix (https://www.ibe.med.uni-muenchen.de/mitarbeiter/professoren/boulesteix/index.html) and Korbinian Strimmer (https://strimmerlab.github.io/korbinian.html).
Adapted in part from pls.pcr code by R. Wehrens (in a former version of the 'pls' package https://CRAN.R-project.org/package=pls).
References
S. de Jong (1993). SIMPLS: an alternative approach to partial least squares regression, Chemometrics Intell. Lab. Syst. 18, 251–263.
C. J. F. ter Braak and S. de Jong (1993). The objective function of partial least squares regression, Journal of Chemometrics 12, 41–54.
See Also
pls.lda
, TFA.estimate
,
pls.regression.cv
.
Examples
# load plsgenomics library
library(plsgenomics)
# load the Ecoli data
data(Ecoli)
# perform pls regression
# with unit latent components
pls.regression(Xtrain=Ecoli$CONNECdata,Ytrain=Ecoli$GEdata,Xtest=Ecoli$CONNECdata,
ncomp=1:3,unit.weights=FALSE)
# with unit weight vectors
pls.regression(Xtrain=Ecoli$CONNECdata,Ytrain=Ecoli$GEdata,Xtest=Ecoli$CONNECdata,
ncomp=1:3,unit.weights=TRUE)