Skip to main content

reddemcee

reddemcee light

reddemcee dark

Adaptive Parallel Tempering MCMC Ensemble Sampler, made for the exoplanet finder algorithm EMPEROR. This sampler works as a stand-alone program, so the community might find it useful.

Overview

reddemcee is an Adaptive Parallel Tempering MCMC implementation based on the excellent emcee code, and a modified version of the Vousden et al. implementation.

It's coded in such a way that minimal differences in input are required compared to emcee (v. 3.1.3). Make sure to check reddemcee's documentation, as this readme might not be updated.

Dependencies

This code makes use of:

tqdm is used to display progress bars on the terminal. emcee is used for calculating the autocorrelation times.

Installation

Pip

In the console type

pip install reddemcee

From Source

In the console type

git clone https://github.com/ReddTea/reddemcee
cd reddemcee
python -m pip install -e .

Usage

For a complete tutorial please refer to the documentation's tutorial or the test file in the tests folder.

import numpy as np
import reddemcee

def log_like(x, ivar):
    return -0.5 * np.sum(ivar * x ** 2)

def log_prior(x):
    return 0.0

ndim = 2
ntemps, nwalkers, nsweeps, nsteps = 5, 50, 100, 2

ivar = 1. / np.random.rand(ndim)
p0 = np.random.randn(10, nwalkers, ndim)
sampler = reddemcee.PTSampler(nwalkers,
                             ndim,
                             log_like,
                             log_prior,
                             ntemps=ntemps,
                             loglargs=[ivar],
                             )
                             
sampler.run_mcmc(p0, nsweeps, nsteps)  # starting coords, nsweeps, nsteps

Configuring the Sampler

When setting up PTSampler, you can use the arguments:

Arg Type Description
ntemps int The number of temperatures. If None, determined from betas.
betas list The inverse temperatures of the parallel chains.
pool Pool A pool object for parallel processing.
loglargs list Positional arguments for the log-likelihood function.
loglkwargs list Keyword arguments for the log-likelihood function.
logpargs list Positional arguments for the log-prior function.
logpkwargs list Keyword arguments for the log-prior function.
backend Backend A backend object for storing the chain.
smd_history bool Whether to store swap mean distance history.
tsw_history bool Whether to store temperature swap history.
adapt_tau float Halflife of adaptation hyper-parameter.
adapt_nu float Rate of adaptation hyper-paramter.
adapt_mode 0-4 Mode of adaptation.

The adaptation modes try to equalise the following quantity:

Mode Description
SAR Uniform Swap acceptance rate
SMD Swap Mean Distance
SGG Specific Heat
GAO dE/sig
ETL Thermodynamic Length

Additional Functions

Additional functions on the sampler include:

Function Description
get_evidence_ti Calculates evidence by Thermodynamic Integration
get_evidence_ss Calculates evidence by Stepping Stones
get_evidence_hybrid Calculates evidence by Stepping Stones
get_autocorr_time Auto-correlation time.
get_betas Returns beta history
get_chain Returns chain
get_log_like Returns log likelihoods
get_logprob Returns log posteriors

All these functions accept as arguments:

Arg Description
flat Flatten the walkers.
thin Take one every thin samples.
discard Drop the first discard steps in samples.

For example, the previous chain would have shape (5, 200, 50, 2), for 5 temperatures, 200 steps (nsweeps*nsteps), 50 walkers, and 2 dimensions.

sampler.get_chain(discard=100)

Would return the samples with shape (5, 100, 50, 2). Dropping the first 100 for every walker.

sampler.get_chain(discard=100, flat=True)

Would return the samples with shape (5, 5000, 2), 'linearising' the walkers.

Metadata

Release files for reddemcee 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reddemcee 1.0
File Size Uploaded Provenance Actions
reddemcee-1.0.tar.gz 32.1 kB Without provenance Details for reddemcee-1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for reddemcee 1.0
File Interpreter ABI Platform Actions
reddemcee-1.0-py3-none-any.whl Python 3 none any Details for reddemcee-1.0-py3-none-any.whl

Total release size: 65.6 kB

Release files / reddemcee-1.0.tar.gz

Download URL reddemcee-1.0.tar.gz
Size 32.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5e73a4b76b302dc9888170c153f52b0b5428aa2662d2f3a26e15fe6167a2608d
BLAKE2b-256 checksum
How to use checksums
fb241490a54a399be280fc6bf35ad7796926bbd7c70859575362d77267ef94ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.4

Release files / reddemcee-1.0-py3-none-any.whl

Download URL reddemcee-1.0-py3-none-any.whl
Size 33.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e7eb7b5c81edd25d2f91604182e185484fdd2e13ccdaa4db496b85766667ab5
BLAKE2b-256 checksum
How to use checksums
1d594759f5516d30e8b1142904dba2e15d151c27e6b8af6b3eb94d69452514ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.4

Security for reddemcee 1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page