Full-run helpers¶
Thin loops over the step functions, for when you do not need control of the recursion. Both interfaces run identical code.
from mcmckit import ram
result = ram(log_post, x0=[0.0, 0.0], n_samples=10_000)
print(result.mean(), result.std())
result.discard(1000).plot_corner()
Each helper accepts either a bare log_post callable or a
Problem, and returns a Result.
metropolis ¶
Run random-walk Metropolis-Hastings to completion.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
log_post
|
callable or Problem
|
|
required |
x0
|
(array - like, shape(d))
|
Starting point. |
required |
n_samples
|
int
|
Number of steps to take. |
required |
proposal_cov
|
float or array - like
|
Fixed proposal covariance. |
required |
param_names
|
sequence of str
|
|
None
|
rng
|
Generator
|
|
None
|
Returns:
| Type | Description |
|---|---|
Result
|
|
Source code in mcmckit/runners.py
ram ¶
ram(log_post, x0, n_samples, initial_cov=None, gamma=0.51, target_rate=0.234, param_names=None, rng=None)
Run Robust Adaptive Metropolis to completion.
Self-tunes the proposal covariance, so a rough initial_cov is fine.
Returns:
| Type | Description |
|---|---|
Result
|
|
Source code in mcmckit/runners.py
dram ¶
dram(log_post, x0, n_samples, initial_cov=None, dr_scale=0.1, adapt_start=100, adapt_interval=10, regularization=1e-06, param_names=None, rng=None)
Run Delayed Rejection Adaptive Metropolis to completion.
Returns:
| Type | Description |
|---|---|
Result
|
|
Source code in mcmckit/runners.py
mala ¶
Run MALA to completion.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
log_post_and_grad
|
callable or Problem
|
|
required |
Returns:
| Type | Description |
|---|---|
Result
|
|
Source code in mcmckit/runners.py
adaptive_mala ¶
adaptive_mala(log_post_and_grad, x0, n_samples, initial_step_size=0.1, gamma=0.51, target_rate=0.574, param_names=None, rng=None)
Run MALA with log-space step-size adaptation to completion.
Returns:
| Type | Description |
|---|---|
Result
|
|
Source code in mcmckit/runners.py
gibbs ¶
Run Metropolis-within-Gibbs to completion.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
blocks
|
sequence of sequence of int
|
Index groups updated together. Defaults to one block per parameter. |
None
|
Returns:
| Type | Description |
|---|---|
Result
|
|