GPL-3.0-or-later licensed by Dominik Schrempf
This version can be pinned in stack with:mcmc-0.3.0@sha256:1dbf56024e5d8c084a57a00449abc834cf8d67e12f7980a7c0ab47f83563b042,2447
Module documentation for 0.3.0
Depends on 18 packages
(full list with versions):
aeson,
base,
bytestring,
containers,
data-default,
directory,
dirichlet,
double-conversion,
log-domain,
math-functions,
microlens,
mwc-random,
primitive,
statistics,
time,
transformers,
vector,
zlib Markov chain Monte Carlo
Sample from a posterior using Markov chain Monte Carlo methods.
At the moment, the library is tailored to the Metropolis-Hastings algorithm
since it covers most use cases. More algorithms will be implemented soon.
Documentation
The source code contains detailed documentation about general concepts as well
as specific functions.
Examples
Have a look at the example MCMC analyses. They can be built with Stack and are
attached to this repository.
git clone https://github.com/dschrempf/mcmc.git
cd mcmc
stack build
For example, estimate the accuracy of an archer with
stack exec archery
Markov chain Monte Carlo sampling - ChangeLog
Unreleased changes
0.3.0
- New shorter example/test for dating trees.
noData
allows running a chain without likelihood function.
- Give proposal parameters
PName
, PDescription
, and PWeight
newtype
wrappers.
- Give
Tune
a data type.
- Allow periodical cleansing of state (
Cleaner
).
- Add description string to proposals, so that they can be identified in an
easier way.
- Add simplices and proposals on simplices.
slideUniform
renamed to slideUniformSymmetric
.
- Merge tools into internal.
- Do not export internal modules.
0.2.4
- Change order of arguments for proposals.
- ‘slideStem’ was renamed to ‘slideBranch’.
- Change ProposalSimple from newtype to type.
- Contravariant instances of parameter and batch monitors. Use
(>$<)
instead
of (@.)
and (@#)
.
- Add
gammaDirichlet
prior for partitioned dating analyses.
0.2.3
- Contrary proposals.
- Change how monitors are lifted (use normal function, not a lens).
- Priors.
- Remove concurrent monitors (was slow).
- Improve MCMC sampler output.
0.2.2
0.2.1
- Consistently use ByteString instead of Text.
- Verbosity levels.
- Improved handling of proposals, moves, and monitors.
- Bactrian moves.
- Many small changes.
0.1.3
Many changes; notably it is now possible to continue a Markov chain run.