Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
pense
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
David Kepplinger
pense
Commits
c66884e2
Commit
c66884e2
authored
Oct 24, 2019
by
davidkep
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update README
parent
a73ba4b5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
25 deletions
+5
-25
README.md
README.md
+5
-25
No files found.
README.md
View file @
c66884e2
# New PENSE R package
This R package is a new implementation of the Penalized Elastic Net S-Estimator (PENSE) and M-estimator (PENSEM)
for linear regression.
It also supports the adaptive versions of these two estimates, i.e., adaptive PENSE and adaptive PENSEM.
This R package is a new implementation of the Penalized Elastic Net S-Estimator (PENSE) for linear regression.
It also supports the adaptive version, i.e., adaptive PENSE.
The goal is to maintain a backwards-compatible interface, using a completely rewritten codebase.
Currently, the package only supports a subset of the original
[
pense package
](
https://cran.r-project.org/package=pense
)
.
Importantly, there is no support for automatic hyper-parameter selection (e.g., cross-validation) or MM-estimators.
At the moment, the interface of the new implementation is not yet backwards-compatible.
## New Codebase
The new package uses the
[
nsoptim
](
https://gitlab.math.ubc.ca/dakep/nsoptim
)
package for optimization routines.
## Old Overview (R)
The main functions in the package are
*
`pense()`
… to compute a robust elastic net S-estimator for linear regression
*
`pensem()`
… to compute a robust elastic net MM-estimator either directly from the data matrix or
from an S-estimator previously computed with
`pense()`
.
Both of these functions perform k-fold cross-validation to choose the optimal penalty level
`lambda`
, but the optimal balance between the L1 and the L2 penalties (the
`alpha`
parameter) needs
to be pre-specified by the user.
The default breakdown point is set to 25%. If the user needs an estimator with a higher breakdown
point, the
`delta`
argument in the
`pense_options()`
and
`initest_options()`
can be set to the
desired breakdown point (.e.g,
`delta = 0.5`
).
The package also exports an efficient classical elastic net algorithm available via the functions
`elnet()`
and
`elnet_cv()`
which chooses an optimal penalty parameter based on cross-validation.
The elastic net solution is computed either by the augmented LARS algorithm
(
`en_options_aug_lars()`
) or via the Dual Augmented Lagrangian algorithm (Tomioka, et al. 2011)
selected with
`en_options_dal()`
which is much faster in case of a large number of predictors
(> 500) and a small number of observations (< 200).
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment