msaenet

🧲 Multi-step adaptive estimation for reducing false positive selection in sparse regressions

https://github.com/nanxstats/msaenet

Science Score: 39.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • â—‹
    CITATION.cff file
  • ✓
    codemeta.json file
    Found codemeta.json file
  • ✓
    .zenodo.json file
    Found .zenodo.json file
  • ✓
    DOI references
    Found 1 DOI reference(s) in README
  • â—‹
    Academic publication links
  • â—‹
    Committers with academic emails
  • â—‹
    Institutional organization owner
  • â—‹
    JOSS paper metadata
  • â—‹
    Scientific vocabulary similarity
    Low similarity (18.1%) to scientific vocabulary

Keywords

false-positive-control high-dimensional-data linear-regression machine-learning variable-selection
Last synced: 6 months ago · JSON representation

Repository

🧲 Multi-step adaptive estimation for reducing false positive selection in sparse regressions

Basic Info
  • Host: GitHub
  • Owner: nanxstats
  • License: gpl-3.0
  • Language: R
  • Default Branch: master
  • Homepage: https://nanx.me/msaenet/
  • Size: 13.5 MB
Statistics
  • Stars: 13
  • Watchers: 4
  • Forks: 7
  • Open Issues: 6
  • Releases: 16
Topics
false-positive-control high-dimensional-data linear-regression machine-learning variable-selection
Created over 9 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Code of conduct

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::knit_hooks$set(pngquant = knitr::hook_pngquant)

knitr::opts_chunk$set(
  echo = FALSE,
  message = FALSE,
  warning = FALSE,
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  dev = "ragg_png",
  dpi = 150,
  fig.retina = 2,
  fig.width = 10,
  fig.height = 5,
  out.width = "100%",
  pngquant = "--speed=1 --quality=80"
)
```

# msaenet 


[![R-CMD-check](https://github.com/nanxstats/msaenet/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/nanxstats/msaenet/actions/workflows/R-CMD-check.yaml)
[![CRAN status](https://www.r-pkg.org/badges/version/msaenet)](https://cran.r-project.org/package=msaenet)
[![CRAN downloads](https://cranlogs.r-pkg.org/badges/msaenet)](https://cran.r-project.org/package=msaenet)


msaenet implements the multi-step adaptive elastic-net (MSAENet) algorithm for feature selection in high-dimensional regressions proposed in Xiao and Xu (2015) [[PDF](https://nanx.me/papers/msaenet.pdf)].

Nonconvex multi-step adaptive estimations based on MCP-net or SCAD-net are also supported.

Check `vignette("msaenet")` to get started.

## Installation

You can install msaenet from CRAN:

```r
install.packages("msaenet")
```

Or try the development version on GitHub:

```r
remotes::install_github("nanxstats/msaenet")
```

## Citation

To cite the msaenet package in publications, please use

> Nan Xiao and Qing-Song Xu. (2015). Multi-step adaptive elastic-net: reducing false positives in high-dimensional variable selection. _Journal of Statistical Computation and Simulation_ 85(18), 3755--3765.

A BibTeX entry for LaTeX users is

```bibtex
@article{xiao2015multi,
  title   = {Multi-step adaptive elastic-net: reducing false positives in high-dimensional variable selection},
  author  = {Nan Xiao and Qing-Song Xu},
  journal = {Journal of Statistical Computation and Simulation},
  volume  = {85},
  number  = {18},
  pages   = {3755--3765},
  year    = {2015},
  doi     = {10.1080/00949655.2015.1016944}
}
```

## Gallery

### Adaptive Elastic-Net / Multi-Step Adaptive Elastic-Net

```{r}
library("msaenet")

dat <- msaenet.sim.gaussian(
  n = 500, p = 500, rho = 0.8,
  coef = c(rep(-1, 2), rep(1, 3)), snr = 1.5, p.train = 0.5,
  seed = 1001
)
```

```{r}
#| msaenet
aenet.fit <- aenet(
  dat$x.tr, dat$y.tr,
  alphas = seq(0.1, 0.9, 0.1), seed = 1003
)

msaenet.fit <- msaenet(
  dat$x.tr, dat$y.tr,
  alphas = seq(0.1, 0.9, 0.1),
  nsteps = 5L, tune.nsteps = "ebic",
  seed = 1003
)

par(mfrow = c(1, 2))
plot(aenet.fit)
plot(msaenet.fit)
```

### Adaptive MCP-Net / Multi-Step Adaptive MCP-Net

```{r}
#| msamnet
amnet.fit <- amnet(
  dat$x.tr, dat$y.tr,
  alphas = seq(0.1, 0.9, 0.1), seed = 1003
)

msamnet.fit <- msamnet(
  dat$x.tr, dat$y.tr,
  gammas = 3, alphas = seq(0.1, 0.9, 0.1),
  nsteps = 4L, tune.nsteps = "ebic",
  seed = 1003
)

par(mfrow = c(1, 2))
plot(amnet.fit)
plot(msamnet.fit)
```

### Adaptive SCAD-Net / Multi-Step Adaptive SCAD-Net

```{r}
#| msasnet
asnet.fit <- asnet(
  dat$x.tr, dat$y.tr,
  alphas = seq(0.1, 0.9, 0.1), seed = 1003
)

msasnet.fit <- msasnet(
  dat$x.tr, dat$y.tr,
  gammas = 3.7, alphas = seq(0.1, 0.9, 0.1),
  nsteps = 4L, tune.nsteps = "ebic",
  seed = 1003
)

par(mfrow = c(1, 2))
plot(asnet.fit)
plot(msasnet.fit)
```

## Contribute

To contribute to this project, please take a look at the
[Contributing Guidelines](https://nanx.me/msaenet/CONTRIBUTING.html) first.
Please note that the msaenet project is released with a
[Contributor Code of Conduct](https://nanx.me/msaenet/CODE_OF_CONDUCT.html).
By contributing to this project, you agree to abide by its terms.

## License

msaenet is free and open source software, licensed under GPL-3.

Owner

  • Name: Nan Xiao
  • Login: nanxstats
  • Kind: user
  • Location: Upper Gwynedd, PA
  • Company: Merck & Co.

Statistician

GitHub Events

Total
Last Year

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 135
  • Total Committers: 2
  • Avg Commits per committer: 67.5
  • Development Distribution Score (DDS): 0.126
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Nan Xiao r****t@g****m 118
Nan Xiao me@n****e 17
Committer Domains (Top 20 + Academic)
nanx.me: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 4
  • Average time to close issues: 6 months
  • Average time to close pull requests: 1 minute
  • Total issue authors: 5
  • Total pull request authors: 1
  • Average comments per issue: 1.17
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • nanxstats (11)
  • runnytone (2)
  • mwh3780 (2)
  • xingxingyanjing (1)
  • kevinegan31 (1)
Pull Request Authors
  • nanxstats (7)
Top Labels
Issue Labels
enhancement (3) chore (1) documentation (1) question (1) bug (1) cran (1)
Pull Request Labels
chore (1)

Packages

  • Total packages: 1
  • Total downloads:
    • cran 554 last-month
  • Total docker downloads: 192
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 16
  • Total maintainers: 1
cran.r-project.org: msaenet

Multi-Step Adaptive Estimation Methods for Sparse Regressions

  • Versions: 16
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 554 Last month
  • Docker Downloads: 192
Rankings
Forks count: 9.6%
Stargazers count: 14.6%
Average: 23.3%
Dependent repos count: 23.9%
Docker downloads count: 27.4%
Dependent packages count: 28.7%
Downloads: 35.4%
Maintainers (1)
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.0.2 depends
  • Matrix * imports
  • foreach * imports
  • glmnet * imports
  • mvtnorm * imports
  • ncvreg >= 3.8 imports
  • survival * imports
  • doParallel * suggests
  • knitr * suggests
  • rmarkdown * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v4 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.5.0 composite
  • actions/checkout v4 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite