nimbleHMC
nimbleHMC: An R package for Hamiltonian Monte Carlo sampling in nimble - Published in JOSS (2024)
Science Score: 100.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
1 of 3 committers (33.3%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Scientific Fields
Repository
HMC and other derivative-based MCMC sampling algorithms for the nimble package
Basic Info
- Host: GitHub
- Owner: nimble-dev
- License: gpl-3.0
- Language: R
- Default Branch: master
- Size: 5.85 MB
Statistics
- Stars: 13
- Watchers: 3
- Forks: 1
- Open Issues: 6
- Releases: 0
Metadata Files
README.md
nimbleHMC
Provides derivative-based MCMC sampling algorithms and convenence functions, for use in conjunction with the MCMC engine avaialble in the nimble package. Sampling algorithms include:
- No-U-Turn Hamiltonian Monte Carlo (
NUTS) sampler - Historical implementation of the original No-U-Turn HMC (
NUTS_classic) sampler - Langevin sampler (under development)
See the HMC section of the Nimble User Manual for more information and examples.
General package information about nimbleHMC, and the complete API for package functions are available on CRAN.
Additional information about the nimblepackage itself is available at the nimble website.
Installation and Package Requirements
Use of nimbleHMC requires installation of the core nimble package. Detailed instructions for installing nimble are available in the nimble package README.
nimbleHMC must be used with version 1.0.0 or higher of nimble, or the latest version available on CRAN. To check the version number of the currently installed version of nimble, use:
r
packageVersion("nimble")
The nimbleHMC package itself can be installed directly from CRAN, using:
r
install.packages("nimbleHMC")
Automatic Differentiation
nimbleHMC makes use of the automatic differentiation (AD) feature of nimble, which was released in nimble version 1.0.0. See Chapter 16: Automatic Derivatives of the Nimble User Manual for more information about the capabilities of the AD system, and how to use the AD system to calculate derivatives of functions written as nimble algorithms, as well as derivatives of model calculations.
For using HMC sampling on a model, derivative calculations need to be built into for the model object. This is accomplished using the buildDerivs = TRUE argument in the call to nimbleModel as:
nimbleModel(code, constants, data, inits, buildDerivs = TRUE)
For using HMC sampling on models that include user-defined distributions, you will need to include the argument buildDerivs = TRUE in the definition of your distribution, as:
dmy_distribution <- nimbleFunction(
run = function(x = double(), param = double(), log = integer(0, default = 0)) {
...
},
buildDerivs = TRUE
)
Contributing and Support
Contributions to the nimbleHMC package should be submitted via pull request on GitHub. For additional guideliens on making contributions, please see the contributing guidelines for the nimble package.
Issues, feature requests, or bugs should be reported using GitHub issues, submitted to the nimbleHMC repository.
For additional support using nimble or nimbleHMC, please see the Nimble User Manual. Any additional questions can be submitted to the nimble-users Google group.
Owner
- Name: nimble-dev
- Login: nimble-dev
- Kind: organization
- Repositories: 15
- Profile: https://github.com/nimble-dev
JOSS Publication
nimbleHMC: An R package for Hamiltonian Monte Carlo sampling in nimble
Authors
University of California, USA
Tags
hierarchical model Markov chain Monte Carlo Hamiltonian Monte Carlo nimbleCitation (CITATION.cff)
cff-version: "1.2.0"
authors:
- family-names: Turek
given-names: Daniel
orcid: "https://orcid.org/0000-0002-1453-1908"
- family-names: Valpine
given-names: Perry
name-particle: de
orcid: "https://orcid.org/0000-0002-8329-6796"
- family-names: Paciorek
given-names: Christopher J.
contact:
- family-names: Turek
given-names: Daniel
orcid: "https://orcid.org/0000-0002-1453-1908"
doi: 10.5281/zenodo.12658544
message: If you use this software, please cite our article in the Journal of Open Source Software.
preferred-citation:
authors:
- family-names: Turek
given-names: Daniel
orcid: "https://orcid.org/0000-0002-1453-1908"
- family-names: Valpine
given-names: Perry
name-particle: de
orcid: "https://orcid.org/0000-0002-8329-6796"
- family-names: Paciorek
given-names: Christopher J.
date-published: 2024-07-10
doi: 10.21105/joss.06745
issn: 2475-9066
issue: 99
journal: Journal of Open Source Software
publisher:
name: Open Journals
start: 6745
title: "nimbleHMC: An R package for Hamiltonian Monte Carlo sampling in nimble"
type: article
url: "https://joss.theoj.org/papers/10.21105/joss.06745"
volume: 9
title: "nimbleHMC: An R package for Hamiltonian Monte Carlo sampling in nimble"
GitHub Events
Total
- Watch event: 1
- Delete event: 1
- Issue comment event: 8
- Push event: 21
- Pull request event: 6
- Create event: 3
Last Year
- Watch event: 1
- Delete event: 1
- Issue comment event: 8
- Push event: 21
- Pull request event: 6
- Create event: 3
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| danielturek | d****k@g****m | 188 |
| Christopher Paciorek | p****k@s****u | 15 |
| perrydv | p****v | 8 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 41
- Total pull requests: 36
- Average time to close issues: about 1 month
- Average time to close pull requests: 8 days
- Total issue authors: 8
- Total pull request authors: 4
- Average comments per issue: 3.1
- Average comments per pull request: 2.22
- Merged pull requests: 29
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 7
- Average time to close issues: N/A
- Average time to close pull requests: 13 days
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 1.0
- Average comments per pull request: 1.71
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- paciorek (28)
- matt-graham (7)
- yangchino1 (1)
- pehkawn (1)
- larryshamalama (1)
- dougwyu (1)
- danielturek (1)
- kabarigou (1)
Pull Request Authors
- danielturek (39)
- perrydv (9)
- paciorek (3)
- larryshamalama (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- R >= 3.5.0 depends
- nimble * depends
- methods * imports
- testthat * suggests
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/upload-artifact main composite
- r-lib/actions/setup-pandoc v1 composite
- r-lib/actions/setup-r v1 composite
