tristanz / ScytheMCMC (http://bytebucket.org/tristanz/scythemcmc/wiki/html/index.html)
A Scythe Markov Chain Monte Carlo C++ Framework
Clone this repository (size: 1.0 MB): HTTPS / SSH
$ hg clone http://bitbucket.org/tristanz/scythemcmc
| commit 3: | 248153f5ede0 |
| parent 2: | 8a6ee6fa2142 |
| branch: | default |
Updated README
Changed (Δ9 bytes):
raw changeset »
README (33 lines added, 27 lines removed)
1 |
Scythe MCMC is a C++ header library that eases the development of Markov Chain Monte Carlo (MCMC). It is based on the |
|
2 |
Scythe Statistical Library. |
|
3 |
Scythe MCMC provides an execution framework, including command line and option file parsing, that reduces the amount of boilerplate |
|
4 |
code needed to write custom MCMC routines. It also provides common MCMC step types, including Gibbs, Metropolis-Hastings, |
|
5 |
and Slice sampling. Users can experiment with which sampling steps provide the best results and implement their own sampling |
|
6 |
steps as desired. |
|
1 |
INTRODUCTION: |
|
7 |
2 |
|
8 |
Scythe MCMC was motivated with the need to combine simpler samplers, such as univariate slice sampling, with more specialized |
|
9 |
samplers for particular problems. Future versions of Scythe MCMC will include common samplers for nonparametric Bayesian models, |
|
10 |
including a Collapsed Gibbs sampler for the Dirichlet Process, and Slice samplers for the Dirichlet Process and Indian Buffet Process. |
|
3 |
Scythe MCMC is a C++ header library that eases the development of Markov Chain |
|
4 |
Monte Carlo (MCMC). It is based on the Scythe Statistical Library. Scythe MCMC |
|
5 |
provides an execution framework, including command line and option file |
|
6 |
parsing, that reduces the amount of boilerplate code needed to write custom |
|
7 |
MCMC routines. It also provides common MCMC step types, including Gibbs, |
|
8 |
Metropolis-Hastings, and Slice sampling. Users can experiment with which |
|
9 |
sampling steps provide the best results and implement their own sampling steps |
|
10 |
as desired. |
|
11 |
11 |
|
12 |
There are many choices for writing MCMC samplers. Scythe MCMC is similar to, and heavily inspired by, |
|
13 |
MCMC++, but is based |
|
14 |
on the Scythe, which provides convenient matrix types, random number generators, |
|
15 |
and probability distributions. Scythe MCMC is different in focus from |
|
16 |
MCMCPack, which |
|
17 |
is also based on Scythe and interfaces with R. Users wishing to distribute a specific model to R users |
|
18 |
should consider contributing to MCMCPack directly. Unlike MCMCPack, Scythe MCMC makes no attempt to interface with R |
|
19 |
and assumes samplers are executed from the command line (although this is not required). |
|
20 |
It also provides common algorithms (Gibbs, Metropolis-Hastings, Slice Sampling) that ease |
|
21 |
development of samplers for many models. |
|
12 |
Scythe MCMC was motivated with the need to combine simpler samplers, such as |
|
13 |
univariate slice sampling, with more specialized samplers for particular |
|
14 |
problems. Future versions of Scythe MCMC will include common samplers for |
|
15 |
nonparametric Bayesian models, including a Collapsed Gibbs sampler for the |
|
16 |
Dirichlet Process, and Slice samplers for the Dirichlet Process and Indian |
|
17 |
Buffet Process. |
|
22 |
18 |
|
23 |
Even though implementing models in ScytheMCMC requires more work than |
|
24 |
implementing comparable models in Bugs |
|
25 |
or JAGS, Scythe MCMC generally |
|
26 |
leads to faster samplers that can exploit the particular structure of a given problem. It also |
|
27 |
allows development of models that cannot be sampled effectively using either Bugs or Jags, such |
|
28 |
nonparametric Bayesian models without truncation approximations. |
|
19 |
There are many choices for writing MCMC samplers. Scythe MCMC is similar to, |
|
20 |
and heavily inspired by, MCMC++, but is based on the Scythe, which provides |
|
21 |
convenient matrix types, random number generators, and probability |
|
22 |
distributions. Scythe MCMC is different in focus from MCMCPack, which is also |
|
23 |
based on Scythe and interfaces with R. Users wishing to distribute a specific |
|
24 |
model to R users should consider contributing to MCMCPack directly. Unlike |
|
25 |
MCMCPack, Scythe MCMC makes no attempt to interface with R and assumes samplers |
|
26 |
are executed from the command line (although this is not required). It also |
|
27 |
provides common algorithms (Gibbs, Metropolis-Hastings, Slice Sampling) that |
|
28 |
ease development of samplers for many models. |
|
29 |
29 |
|
30 |
@section features FEATURES |
|
30 |
Even though implementing models in ScytheMCMC requires more work than |
|
31 |
implementing comparable models in Bugs or JAGS, Scythe MCMC generally leads to |
|
32 |
faster samplers that can exploit the particular structure of a given problem. |
|
33 |
It also allows development of models that cannot be sampled effectively using |
|
34 |
either Bugs or Jags, such nonparametric Bayesian models without truncation |
|
35 |
approximations. |
|
36 |
||
37 |
FEATURES: |
|
31 |
38 |
|
32 |
39 |
- Based on the Scythe Statistical Library. |
33 |
40 |
- Eliminates commandline and option parsing boilerplate code using |
| … | … | @@ -39,4 +46,3 @@ nonparametric Bayesian models without tr |
39 |
46 |
- Planned: nonparameteric samplers including: |
40 |
47 |
- Collapsed gibbs samplers for Dirichlet Process, |
41 |
48 |
- Slice sampler for Dirichlet Process and Indian Buffet Process. |
42 |
- GPL License. |
