VIP {plsVarSel} | R Documentation |
Filter methods for variable selection with Partial Least Squares.
Description
Various filter methods extracting and using information from
mvr
objects to assign importance to all included variables. Available
methods are Significance Multivariate Correlation (sMC), Selectivity Ratio (SR),
Variable Importance in Projections (VIP), Loading Weights (LW), Regression Coefficients (RC).
Usage
VIP(pls.object, opt.comp, p = dim(pls.object$coef)[1])
SR(pls.object, opt.comp, X)
sMC(pls.object, opt.comp, X, alpha_mc = 0.05)
LW(pls.object, opt.comp)
RC(pls.object, opt.comp)
URC(pls.object, opt.comp)
FRC(pls.object, opt.comp)
mRMR(pls.object, nsel, X)
Arguments
pls.object |
|
opt.comp |
optimal number of components of PLS model. |
p |
number of variables in PLS model. |
X |
data matrix used as predictors in PLS modelling. |
alpha_mc |
quantile significance for automatic selection of variables in |
nsel |
number of variables to select. |
Details
From plsVarSel 0.9.10, the VIP method handles multiple responses correctly, as does the LW method. All other filter methods implemented in this package assume a single response and will give its results based on the first response in multi-response cases.
Value
A vector having the same lenght as the number of variables in the associated PLS model. High values are associated with high importance, explained variance or relevance to the model.
The sMC has an attribute "quantile", which is the associated quantile of the F-distribution, which can be used as a cut-off for significant variables, similar to the cut-off of 1 associated with the VIP.
Author(s)
Tahir Mehmood, Kristian Hovde Liland, Solve Sæbø.
References
T. Mehmood, K.H. Liland, L. Snipen, S. Sæbø, A review of variable selection methods in Partial Least Squares Regression, Chemometrics and Intelligent Laboratory Systems 118 (2012) 62-69. T. Mehmood, S. Sæbø, K.H. Liland, Comparison of variable selection methods in partial least squares regression, Journal of Chemometrics 34 (2020) e3226.
See Also
VIP
(SR/sMC/LW/RC), filterPLSR
, shaving
,
stpls
, truncation
,
bve_pls
, ga_pls
, ipw_pls
, mcuve_pls
,
rep_pls
, spa_pls
,
lda_from_pls
, lda_from_pls_cv
, setDA
.
Examples
data(gasoline, package = "pls")
library(pls)
pls <- plsr(octane ~ NIR, ncomp = 10, validation = "LOO", data = gasoline)
comp <- which.min(pls$validation$PRESS)
X <- unclass(gasoline$NIR)
vip <- VIP(pls, comp)
sr <- SR (pls, comp, X)
smc <- sMC(pls, comp, X)
lw <- LW (pls, comp)
rc <- RC (pls, comp)
urc <- URC(pls, comp)
frc <- FRC(pls, comp)
mrm <- mRMR(pls, 401, X)$score
matplot(scale(cbind(vip, sr, smc, lw, rc, urc, frc, mrm)), type = 'l')