This function computes the Partial Least Squares fit.

pls.model(
X,
y,
m = ncol(X),
Xtest = NULL,
ytest = NULL,
compute.DoF = FALSE,
compute.jacobian = FALSE,
use.kernel = FALSE,
method.cor = "pearson"
)

## Arguments

X matrix of predictor observations. vector of response observations. The length of y is the same as the number of rows of X. maximal number of Partial Least Squares components. Default is m=min(ncol(X),nrow(X)-1). optional matrix of test observations. Default is Xtest=NULL. optional vector of test observations. Default is ytest=NULL. Logical variable. If compute.DoF=TRUE, the Degrees of Freedom of Partial Least Squares are computed. Default is compute.DoF=FALSE. Should the first derivative of the regression coefficients be computed as well? Default is FALSE Should the kernel representation be used to compute the solution. Default is FALSE. How should the correlation to the response be computed? Default is ''pearson''.

## Value

coefficients

matrix of regression coefficients

intercept

vector of intercepts

DoF

vector of Degrees of Freedom

vector of residual sum of error

sigmahat

vector of estimated model error

Yhat

matrix of fitted values

yhat

vector of squared length of fitted values

covariance

if compute.jacobian is TRUE, the function returns the array of covariance matrices for the PLS regression coefficients.

predictionif Xtest is provided, the predicted y-values for Xtest. mseif Xtest and ytest are provided, the mean squared error on the test data. corif Xtest and ytest are provided, the correlation to the response on the test data.

## Details

This function computes the Partial Least Squares fit and its Degrees of Freedom. Further, it returns the regression coefficients and various quantities that are needed for model selection in combination with information.criteria.

Kraemer, N., Sugiyama M. (2011). "The Degrees of Freedom of Partial Least Squares Regression". Journal of the American Statistical Association 106 (494) https://www.tandfonline.com/doi/abs/10.1198/jasa.2011.tm10107

Kraemer, N., Sugiyama, M., Braun, M.L. (2009) "Lanczos Approximations for the Speedup of Partial Least Squares Regression", Proceedings of the 12th International Conference on Artificial Intelligence and Stastistics, 272 - 279

pls.ic, pls.cv

## Author

Nicole Kraemer, Mikio L. Braun

## Examples


n<-50 # number of observations
p<-15 # number of variables
X<-matrix(rnorm(n*p),ncol=p)
y<-rnorm(n)

ntest<-200 #
Xtest<-matrix(rnorm(ntest*p),ncol=p) # test data
ytest<-rnorm(ntest) # test data

# compute PLS + degrees of freedom + prediction on Xtest
first.object<-pls.model(X,y,compute.DoF=TRUE,Xtest=Xtest,ytest=NULL)

# compute PLS + test error
second.object=pls.model(X,y,m=10,Xtest=Xtest,ytest=ytest)