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. Response matrix with one column. Maximum number of components for PLS. 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. Number of cross-validation folds. Maximum number of variable groups. Find the maximum absolute correlation ("max") or find the median of absolute correlation ("median"). Default is "max". Should the predictor matrix be scaled? Default is TRUE. 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