| ppls.splines.cv {ppls} | R Documentation |
Computes the nonlinear-regression model for penalized PLS based on B-Spline transformations.
ppls.splines.cv(X, y, lambda, ncomp, degree, order, nknot, k, kernel,scale,reduce.knots,select)
X |
matrix of input data |
y |
vector of response data |
lambda |
vector of candidate parameters lambda for the penalty term. Default value is 1 |
ncomp |
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 |
Degree of the splines. Default value is 3 |
order |
Order of the differences to be computed for the penalty term. Default value is 2. |
nknot |
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 |
Logical value. If kernel=TRUE, the kernelized version of penalized PLS is computed. Default value is kernel=FALSE |
scale |
logical value. If scale=TRUE, the X variables are standardized to have unit variance. Default value is FALSE |
reduce.knots |
Logical variable. If TRUE, the function
assures that there the transformed data does not contain a constant
column. Default value is FALSE. |
select |
Logical value. If select=TRUE, the function
fits only one variable per iteration. |
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. Consult Kr"amer, Boulesteix, and Tutz (2008) for details.
error.cv |
matrix of cross-validated errors. The rows correspond to the values of lambda, the columns correspond to the number of components. |
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 Kr"amer
N. Kr"amer, A.-L. Boulsteix, and G. Tutz (2008). Penalized Partial Least Squares with Applications to B-Spline Transformations and Functional Data. Chemometrics and Intelligent Laboratory Systems, doi: 10.1016/j.chemolab.2008.06.009
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)