| ppls.splines.cv {ppls} | R Documentation |
This function computes the nonlinear-regression model for penalized PLS based on B-Splines Transformations.
ppls.splines.cv(X, y, lambda, ncomp, degree, order, nknot, k, kernel)
X |
A n x p matrix of input data. |
y |
A numeric n-vector of responses. |
lambda |
A numeric vector giving the (positive) candidate values for the parameter lambda determining the amount of penalization. Default value is 1. |
ncomp |
The number of PLS components, default value is
min(nrow(X)-1,ncol(Z)), where Z denotes the transformed data
obtained from the function X2s. |
degree |
The degree of the splines. Default value is 3. |
order |
The order of the differences to be computed for the penalty term. Default value is 2. |
nknot |
The number of knots. Default value is 20 for all variables. |
k |
The number of splits in k-fold cross-validation. Default value is k=5. |
kernel |
If kernel=TRUE, the kernelized version of
penalized PLS is computed. Default value is kernel=FALSE. |
This function computes the cv-optimal nonlinear regression
model with Penalized Partial Least Squares. In a nutshell, the
algorithm works as follows. Starting with a generalized additive
model for the columns of X, each additive component is expanded in terms of a generous
amount of B-Splines basis functions. The basis functions are determined
via their degree and nknot, the number of knots. In order to prevent
overfitting, the additive model is estimated via penalized PLS, where
the penalty term penalizes the differences of a specified order within each original variable.
See Kraemer, Boulesteix, and Tutz (2007) for details.
lambda.opt |
Optimal value of lambda |
ncomp.opt |
Optimal number of penalized PLS components |
min.ppls |
Cross-validated error for the optimal penalized PLS solution |
Nicole Kraemer
N. Kraemer, A.-L. Boulesteix, G. Tutz (2007) "Penalized Partial Least Squares with Applications to B-Splines Transformations and Functional Data", preprint
available at http://ml.cs.tu-berlin.de/~nkraemer/publications.html
penalized.pls,penalized.pls.cv
# this example does not make much sense, it only illustrates # how to use the functions properly X<-matrix(rnorm(100*5),ncol=5) y<-sin(X[,1]) +X[,2]^2 + rnorm(100) lambda<-c(0,1,10,100,1000) cv.result<-ppls.splines.cv(X,y,ncomp=10,k=10,lambda=lambda)