This function fits the ordered homogeneity pursuit lasso (OHPL) model.

OHPL(x, y, maxcomp, gamma, cv.folds = 5L, G = 30L, type = c("max",
  "median"), scale = TRUE, pls.method = "simpls")

Arguments

x

Predictor matrix.

y

Response matrix with one column.

maxcomp

Maximum number of components for PLS.

gamma

A number between (0, 1) for generating the gamma sequence. An usual choice for gamma could be n * 0.05, where n is a number in 2, 3, ..., 19.

cv.folds

Number of cross-validation folds.

G

Maximum number of variable groups.

type

Find the maximum absolute correlation ("max") or find the median of absolute correlation ("median"). Default is "max".

scale

Should the predictor matrix be scaled? Default is TRUE.

pls.method

Method for fitting the PLS model. Default is "simpls". See section "Details" in plsr for all possible options.

Value

A list of fitted OHPL model object with performance metrics.

References

You-Wu Lin, Nan Xiao, Li-Li Wang, Chuan-Quan Li, and Qing-Song Xu (2017). Ordered homogeneity pursuit lasso for group variable selection with applications to spectroscopic data. Chemometrics and Intelligent Laboratory Systems 168, 62-71. https://doi.org/10.1016/j.chemolab.2017.07.004

Examples

# generate simulation data dat = OHPL.sim( n = 100, p = 100, rho = 0.8, coef = rep(1, 10), snr = 3, p.train = 0.5, seed = 1010) # split training and test set x = dat$x.tr y = dat$y.tr x.test = dat$x.te y.test = dat$y.te # fit the OHPL model fit = OHPL(x, y, maxcomp = 3, gamma = 0.5, G = 10, type = "max") # selected variables fit$Vsel
#> [1] 1 2 3 4 5 6 7 8 9 10
# make predictions y.pred = predict(fit, x.test) # compute evaluation metric RMSEP, Q2 and MAE for the test set perf = OHPL.RMSEP(fit, x.test, y.test) perf$RMSEP
#> [1] 4.328435
perf$Q2
#> [1] 0.4259523
perf$MAE
#> [1] 3.404655