Introduction

The oem package provides estimaton for various penalized linear models using the Orthogonalizing EM algorithm. Documentation for the package can be found here: oem site.

Install using the devtools package (RcppEigen must be installed first as well):

devtools::install_github("jaredhuling/oem")

or by cloning and building using R CMD INSTALL

Citation

To cite oem please use:

Xiong, S., Dai, B., Huling, J., Qian, P. Z. G. (2016) Orthogonalizing EM: A design-based least squares algorithm, Technometrics, Volume 58, Pages 285-293,
http://dx.doi.org/10.1080/00401706.2015.1054436.

Huling, J.D. and Chien, P. (2018), Fast Penalized Regression and Cross Validation for Tall Data with the OEM Package, Journal of Statistical Software, to appear, URL: https://arxiv.org/abs/1801.09661.

Penalties

Nonconvex Penalties

## Warning message: some lam not reached by the plus path and dropped
## Warning message: some lam not reached by the plus path and dropped
## Warning message: some lam not reached by the plus path and dropped
## Warning message: some lam not reached by the plus path and dropped
## Warning message: some lam not reached by the plus path and dropped
## Warning message: some lam not reached by the plus path and dropped
## Warning message: some lam not reached by the plus path and dropped
## Warning message: some lam not reached by the plus path and dropped
## Warning message: some lam not reached by the plus path and dropped
## Warning message: some lam not reached by the plus path and dropped
## Unit: milliseconds
##            expr       min        lq      mean    median        uq
##  sparsenet[mcp] 2190.2603 2229.8939 2352.8026 2257.4280 2464.9714
##        oem[mcp]  189.4601  200.9284  208.1295  207.6121  212.3561
##     ncvreg[mcp] 8678.2871 9032.7411 9155.7129 9057.6076 9260.1797
##       plus[mcp] 2147.4707 2149.8849 2183.5159 2169.1367 2187.5362
##       oem[scad]  159.3547  167.8190  181.3854  171.0642  182.4713
##    ncvreg[scad] 9079.8976 9269.4556 9311.4232 9332.3771 9405.5469
##      plus[scad] 2611.3499 2790.3159 2934.2532 2967.3169 3097.7322
##        max neval
##  2621.4595     5
##   230.2906     5
##  9749.7491     5
##  2263.5511     5
##   226.2177     5
##  9469.8389     5
##  3204.5509     5
##                          abs diff
## MCP:  oem and ncvreg 1.725859e-07
## SCAD: oem and ncvreg 5.094648e-08
## MCP:  oem and plus   2.684136e-11
## SCAD: oem and plus   1.732409e-11

Group Penalties

In addition to the group lasso, the oem package offers computation for the group MCP, group SCAD, and group sparse lasso penalties. All aforementioned penalties can also be augmented with a ridge penalty.

## Unit: milliseconds
##                 expr       min        lq       mean    median         uq
##   gglasso[grp.lasso] 4213.0698 4235.5627  4464.0790 4427.5890  4546.2656
##       oem[grp.lasso]  122.5265  151.8338   155.6852  164.9955   165.7759
##  grplasso[grp.lasso] 9010.8600 9224.9403 10376.0763 9640.6276 10956.3353
##    grpreg[grp.lasso] 2436.6968 2542.1362  2693.5194 2700.2787  2851.1327
##         max neval
##   4897.9079     5
##    173.2944     5
##  13047.6184     5
##   2937.3528     5
##                      abs diff
## oem and gglasso  1.303906e-06
## oem and grplasso 1.645871e-08