spls
Fit SPLS regression models
Fit a SPLS regression.
- Keywords
- multivariate, regression
Usage
spls( x, y, K, eta, kappa=0.5, select="pls2", fit="simpls",
scale=TRUE, center=TRUE, scale.y=FALSE, eps=1e-4, maxstep=100)
Arguments
- x
- Matrix of predictors.
- y
- Vector or matrix of responses.
- K
- Number of hidden components.
- eta
- Thresholding parameter.
eta
should be between 0 and 1. - kappa
- Parameter to control the effect of
the concavity of the objective function
and the closeness of the original and surrogate direction vectors.
kappa
is relevant only when the responses are multivariate.kappa
- select
- PLS algorithm for variable selection.
Alternatives are
"pls2"
or"simpls"
. Default is"pls2"
. - fit
- PLS algorithm for model fitting. Alternatives are
"kernelpls"
,"widekernelpls"
,"simpls"
, or"oscorespls"
. Default is"simpls"
. - scale
- Scale the predictors by dividing each predictor variable by its sample standard deviation?
- center
- Center the predictors?
- scale.y
- Scale the responses by dividing each response variable by its sample standard deviation?
- eps
- An effective zero. Default is 1e-4.
- maxstep
- Maximum number of iterations when fitting direction vectors. Default is 100.
Details
The SPLS method is described in detail in Chun and Keles (2007).
SPLS directly imposes sparsity on the dimension reduction step of PLS
in order to achieve accurate prediction and variable selection simultaneously.
The option select
refers to the PLS algorithm for variable selection.
The option fit
refers to the PLS algorithm for model fitting
and spls
utilizes the algorithms offered by the plsr
in the select
and fit
are independent.
Value
- A
spls object is returned. print, plot, predict, coef, ci.spls, coefplot.spls methods use this object.
References
Chun, H. and Keles, S. (2007). "Sparse partial least squares
for simultaneous dimension reduction and variable selection",
(
See Also
print, plot, predict, coef, ci.spls, coefplot.spls methods for spls.
Examples
data(yeast)
# SPLS with eta=0.7 & 8 hidden components
f <- spls( yeast$x, yeast$y, K=8, eta=0.7 )
print(f)
# Print out coefficients
coef.f <- coef(f)
coef.f[,1]
# Coefficient path plot
plot( f, yvar=1 )
x11()
# Coefficient plot of the selected variables
coefplot.spls( f, xvar=c(1:4) )