compareMCMCs

compareMCMCs: An R package for studying MCMC efficiency - Published in JOSS (2022)

https://github.com/nimble-dev/comparemcmcs

Science Score: 95.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 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 6 months ago · JSON representation

Repository

Tools for comparing MCMC efficiency from nimble and/or other engines

Basic Info
  • Host: GitHub
  • Owner: nimble-dev
  • License: gpl-3.0
  • Language: R
  • Default Branch: master
  • Size: 8.7 MB
Statistics
  • Stars: 1
  • Watchers: 3
  • Forks: 2
  • Open Issues: 4
  • Releases: 1
Created over 6 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

compareMCMCs

CRAN DOI

compareMCMCs is a package for running, managing, and comparing results from different MCMC packages. It was refactored from the nimble package as part of the release of nimble version 0.8.0.

The User Manual (aka package vignette) giving an overview of compareMCMCs can be viewed here.

Right now, compareMCMCs works with NIMBLE, JAGS and Stan. It has a plug-in system to make it easy to include other MCMC engines in comparisons.

compareMCMCs allows you to configure a set of MCMCs to run and then automatically time them and process their results to generate html output with comparisons of efficiency and posterior distributions. This system started life as part of the nimble package. It can make use of nimble's MCMC configuration system, or it can be used independently of nimble.

Use of other MCMCs is supported by a plugin system. Plugins are provided for JAGS and Stan. Since nimble and JAGS (as well as WinBUGS and OpenBUGS) use different dialects of the same model language, it is sometimes possible to compare them using the same model code.

It is also possible to provide new comparison metrics and/or new figure components for html comparison pages.

In summary, compareMCMCs provides:

  • the compareMCMCs function to run one or more MCMCs and manage the results;
  • the MCMCresult class to manage results by storing samples, timing information, metrics or summaries of performance, and other details;
  • a plugin systems to include new MCMC engines;
  • a plugin system for new metrics for comparison among MCMCs;
  • a system for generating html pages with figures from comparison metrics, including a plugin system to provide new page components;
  • partial backward compatibility to nimble's original MCMCsuite and compareMCMCs functions.

Installation

compareMCMCs is on CRAN and can be installed from R via

r install.packages("compareMCMCs")

To install compareMCMCs from Github

r library(devtools) install_github("nimble-dev/compareMCMCs", subdir = "compareMCMCs") Or, of course, you can download and build the package, which is in the directory compareMCMCs.

Dependencies to run MCMC plug-ins

To use the compareMCMCs plugin for JAGS you first need to install JAGS. See [JAGS homepage for platform-based instructions. You will also need the rjags package:

r install.packages("rjags")

To use the compareMCMCs plugin for stan, you first need to install the rstan package:

r install.packages("rstan")

Contributing and requesting support

We welcome contributions to compareMCMCs. Of particular interest are contributions for the various plug-in features, including:

  • plug-ins for different MCMC engines,
  • plug-ins for different comparison metrics, and
  • plug-ins for different comparison page components.

We also welcome support requests, bug fixes and documentation suggestions.

To request support or report a bug, please be signed in to a GitHub account and submit an issue here.

To contribute code, please make a GitHub pull request. If it is very short or you want to start discussion about the idea before implementing it, you can do so by submitting an issue.

Owner

  • Name: nimble-dev
  • Login: nimble-dev
  • Kind: organization

JOSS Publication

compareMCMCs: An R package for studying MCMC efficiency
Published
January 14, 2022
Volume 7, Issue 69, Page 3844
Authors
Perry de Valpine
University of California, Berkeley
Sally Paganin
University of California, Berkeley
Daniel Turek
Williams College
Editor
Fabian Scheipl ORCID
Tags
statistics Markov chain Monte Carlo nimble JAGS

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 51
  • Total Committers: 4
  • Avg Commits per committer: 12.75
  • Development Distribution Score (DDS): 0.255
Past Year
  • Commits: 2
  • Committers: 2
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
perrydv p****v 38
salleuska s****n@g****m 10
Sally Paganin s****n@b****u 2
danielturek d****k@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 29
  • Total pull requests: 11
  • Average time to close issues: about 1 year
  • Average time to close pull requests: about 1 month
  • Total issue authors: 8
  • Total pull request authors: 3
  • Average comments per issue: 1.31
  • Average comments per pull request: 0.91
  • Merged pull requests: 10
  • 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
  • salleuska (6)
  • rowlandseymour (6)
  • perrydv (6)
  • tbrown122387 (5)
  • fabian-s (3)
  • ForeverK87 (1)
  • danielturek (1)
  • paciorek (1)
Pull Request Authors
  • perrydv (12)
  • danielturek (2)
Top Labels
Issue Labels
enhancement (7) bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 192 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
cran.r-project.org: compareMCMCs

Compare MCMC Efficiency from 'nimble' and/or Other MCMC Engines

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 192 Last month
Rankings
Forks count: 17.8%
Dependent packages count: 29.8%
Stargazers count: 31.7%
Dependent repos count: 35.5%
Average: 37.1%
Downloads: 70.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

compareMCMCs/DESCRIPTION cran
  • nimble * depends
  • R6 * imports
  • coda * imports
  • ggplot2 * imports
  • grid * imports
  • reshape2 * imports
  • xtable * imports
  • knitr * suggests
  • rjags * suggests
  • rmarkdown * suggests
  • rstan * suggests
  • testthat >= 3.0.0 suggests
junk/compareMCMCs/DESCRIPTION cran
  • nimble * depends
  • R6 * imports
  • coda * imports
  • dplyr * imports
  • ggplot2 * imports
  • grid * imports
  • reshape2 * imports
  • rlang * imports
  • xtable * imports
  • knitr * suggests
  • rjags * suggests
  • rmarkdown * suggests
  • rstan * suggests
  • testthat >= 3.0.0 suggests