mcmc-ocaml
mcmc-ocaml copied to clipboard
OCaml Markov Chain Monte Carlo
SUMMARY
This library implements a general MCMC sampler and associated libraries, including
-
The methods described in Farr and Mandel (2011) (http://arxiv.org/abs/1104.0984 ) for interpolating jump proposals in a reversible jump MCMC.
-
The evidence calculation methods from Weinberg's paper on Computing the Bayesian Factor from a Markov chain Monte Carlo Simulation of the Posterior Distribution (http://arxiv.org/abs/0911.1777 ).
Also in the library is a simple nested-sampling implementation (see Skilling, J. Nested Sampling. AIP Conference Proceedings, vol. 735, pp. 395--405, 2004.).
BUILDING
-
To build the library, use ocamlbuild:
ocamlbuild mcmc.cma mcmc.cmxa
-
To build the code documentation:
ocamlbuild mcmc.docdir/index.html
-
To build all of the above at once, use
ocamlbuild all.otarget
-
To build the test suite, you will require oUnit (http://ounit.forge.ocamlcore.org/ ). Edit the myocamlbuild.ml file to point to your oUnit installation, and then issue
ocamlbuild run_tests.{native,byte}
If you encounter compilation errors, then you may have to modify the definition of the cmp_float function to:
(* Compare floats up to a given relative error ) let cmp_float ?(epsabs = eps) ?(epsrel = eps) a b = let dx = abs_float (a -. b) and avg = 0.5.((abs_float a) +. (abs_float b)) in dx <= epsabs +. epsrel*.avg
-
Various useful example programs can be found in the bin/ subdirectory; you can build them with
ocamlbuild <program_name>.{native,byte}
-
To clean the code, issue the command
ocamlbuild -clean
LICENSE
This library is released under the GPL version 3; see the LICENSE file for more information.