Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.7%) to scientific vocabulary
Keywords
Repository
Best Orthogonalized Subset Selection (BOSS)
Statistics
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Best Orthogonalized Subset Selection (BOSS)
Best Orthogonalized Subset Selection (BOSS) is a least-squares (LS) based subset selection method, that performs best subset selection (BS) upon an orthogonalized basis of ordered predictors, with the computational effort of a single ordinary LS fit.
This repository contains an R package BOSSreg that provides a highly optimized implementation of BOSS and an heuristic degrees of freedom, which can be further plugged into an information criterion such as AICc in order to selection the subset from candidates. Various choices of information criteria are provided including AICc, Cp, GCV, AIC and BIC. The R package also implements forward stepwise regression (FS) with no additional computational cost, where the subset of FS is selected via cross-validation (CV). CV is also an option for BOSS.
It also contains the code to reproduce the results in the paper, Tian, S., Hurvich, C. and Simonoff, J. (2021): "On the Use of Information Criteria for Subset Selection in Least Squares Regression".
Note that the implementation of FS in BOSSreg is built upon the implementation of FS in the R package bestsubset. We simplify the expressions and write all the main functions in C++ using the efficient Armadillo library. We expect a slightly faster implementation of FS compared to the bestsubset package. It's also worth pointing out that the bestsubset package offers an efficient implementation of BS that can fit on high dimensional data (breaks the ad-hoc limit of dimension being around 30 given by the traditional leaps algorithm). Some of the results in the paper utilize this package.
Install the R package
To install the latest version of the package (v0.2.0, see r-package/NEWS.md for updates in each release), run the following:
library(devtools)
install_github(repo="sentian/BOSSreg", subdir="r-package")
Alternatively, a stable version (v0.2.0) can be installed from CRAN
install.packages("BOSSreg", repos = "http://cran.rstudio.com")
Use the R package
For a simple guide of the functionalities of the package, please refer to the BOSSreg's Vignette.
For a complete documentation of the package, please refer to the BOSSreg's Documentation.
Reproduce the results in the paper
The structure of the 'code' directory is shown below.
'plots.R' and 'tables.R' generate the figures and tables that can be found in the paper/figures and paper/tables directories, respectively. Note that 'plots.R' is self-contained and does not rely on the simulation or real data results. 'tables.R' requires simulation and real data results as inputs, which can be found in 'code/run_model/simulation/results' and 'code/run_model/realdata/results' directories, respectively.
'.sh' are bash files that submit the corresponding R code to a Linux server for running in parallels.
bash
code
├── plots_tables ## generate figures and tables in the paper
│ ├── plots.R # code that reproduces all the figures
│ └── tables.R # code that reproduces all the tables
├── run_model ## fit the models
│ ├── realdata
│ │ ├── results # realdata results
│ │ │ └── *.rds
│ │ ├── forestfires.csv # forest fire dataset
│ │ ├── run.R # code that fits and evaluates methods
│ │ ├── run_forestfire.R # code that fits MIO BS on forest fire dataset
│ │ └── run_forestfire.sh
│ └── simulation
│ │ ├── para_forhpc # parameters for each configuration
│ │ │ └── *.txt
│ │ ├── results # simulation results
│ │ │ ├── generalx # results for a general X
│ │ │ └── *.rds
│ │ │ └── orthx # results for an orthogonal X
│ │ │ └── *.rds
│ │ ├── run.R # code to fit and evaluate all methods
│ │ ├── run_srlasso.R # code to fit and evaluate the simplifed relaxed lasso
│ │ ├── run_generalx.sh
│ │ └── run_orthx.sh
└── utils.R ## code that contains functions shared by other R codes
Owner
- Name: Sen.T
- Login: sentian
- Kind: user
- Location: New York
- Company: New York University
- Repositories: 10
- Profile: https://github.com/sentian
GitHub Events
Total
Last Year
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 15
- Total Committers: 1
- Avg Commits per committer: 15.0
- Development Distribution Score (DDS): 0.0
Top Committers
| Name | Commits | |
|---|---|---|
| sentian | t****2@g****m | 15 |
Issues and Pull Requests
Last synced: over 2 years ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 204 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
- Total maintainers: 1
cran.r-project.org: BOSSreg
Best Orthogonalized Subset Selection (BOSS)
- Homepage: https://github.com/sentian/BOSSreg
- Documentation: http://cran.r-project.org/web/packages/BOSSreg/BOSSreg.pdf
- License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
-
Latest release: 0.2.0
published almost 5 years ago
Rankings
Maintainers (1)
Dependencies
- R >= 3.5.0 depends
- Matrix * imports
- Rcpp * imports
- glmnet * imports
- stats * imports
- ISLR * suggests
- MASS * suggests
- devtools * suggests
- kableExtra * suggests
- knitr * suggests
- rmarkdown * suggests
- sparsenet * suggests