mvr
Partial Least Squares and Principal Components Regression
Functions to perform partial least squares regression (PLSR) or principal components regression (PCR), with a formula interface. Cross-validation can be used. Prediction, model extraction, plot, print and summary methods exist.
- Keywords
- multivariate, regression
Usage
mvr(formula, ncomp, data, subset, na.action,
method = c("kernelpls", "simpls", "oscorespls", "svdpc"),
validation = c("none", "CV", "LOO"),
model = TRUE, x = FALSE, y = FALSE, ...)
plsr(..., method = c("kernelpls", "simpls", "oscorespls"))
pcr(..., method = "svdpc")
Details
The functions fit PLSR or PCR models with 1, $\ldots$,
ncomp
number of components. Multi-response models are fully
supported.
Three PLSR algorithms are available: the kernel algorithm, SIMPLS and
the classical orthogonal scores algorithm. One PCR algorithm is
available: using the singular value decomposition. The type of
regression is specified with the method
argument. pcr
and plsr
are wrappers for mvr
, with different values for method
.
If validation = "CV"
, cross-validation is performed. The number and
type of cross-validation segments are specified with the arguments
segments
and segment.type
. See mvrCv
for
details. If validation = "LOO"
, leave-one-out cross-validation
is performed. It is an error to specify the segments when
validation = "LOO"
is specified.
Note that the cross-validation is optimised for speed, and some
generality has been sacrificed. Especially, the model matrix is
calculated only once for the complete cross-validation, so models like
y ~ msc(X)
will not be properly cross-validated. For proper
cross-validation of models where the model matrix must be
updated/regenerated for each segment, use the separate function
crossval
.
Value
mvr
returns an object of classmvr
. The object contains all components returned by the underlying fit function. In addition, it contains the following components:validation if validation was requested, the results of the cross-validation. See mvrCv
for details.ncomp the number of components of the model. method the method used to fit the model. See the argument method
for possible values.call the function call. terms the model terms. model if model = TRUE
, the model frame.x if x = TRUE
, the model matrix.y if y = TRUE
, the model response.
References
Martens, H., N�s, T. (1989) Multivariate calibration. Chichester: Wiley.
See Also
kernelpls.fit
,
simpls.fit
,
oscorespls.fit
,
svdpc.fit
,
mvrCv
,
loadings
,
scores
,
loading.weights
,
coef.mvr
,
predict.mvr
,
R2
,
MSEP
,
RMSEP
Examples
data(NIR)
## Default methods:
NIR.pcr <- pcr(y ~ X, 6, data = NIR, CV = TRUE)
NIR.pls <- plsr(y ~ X, 6, data = NIR, CV = TRUE)
## Alternative methods:
NIR.oscorespls <- mvr(y ~ X, 6, data = NIR, CV = TRUE,
method = "oscorespls")
NIR.simpls <- mvr(y ~ X, 6, data = NIR, CV = TRUE,
method = "simpls")
data(sensory)
Pn <- scale(sensory$Panel)
Ql <- scale(sensory$Quality)
sens.pcr <- pcr(Ql ~ Pn, ncomp = 4)
sens.pls <- plsr(Ql ~ Pn, ncomp = 4)