name: declarative version: 0.4.0 synopsis: DIY Markov Chains. homepage: http://github.com/jtobin/declarative license: MIT license-file: LICENSE author: Jared Tobin maintainer: jared@jtobin.ca category: Math build-type: Simple cabal-version: >=1.10 description: This package presents a simple combinator language for Markov transition operators that are useful in MCMC. . Any transition operators sharing the same stationary distribution and obeying the Markov and reversibility properties can be combined in a couple of ways, such that the resulting operator preserves the stationary distribution and desirable properties amenable for MCMC. . We can deterministically concatenate operators end-to-end, or sample from a collection of them according to some probability distribution. See for details. . A useful strategy is to hedge one's 'sampling risk' by occasionally interleaving a computationally-expensive transition (such as a gradient-based algorithm like Hamiltonian Monte Carlo or NUTS) with cheap Metropolis transitions. . > transition = frequency [ > (9, metropolis 1.0) > , (1, hamiltonian 0.05 20) > ] . Alternatively: sample consecutively using the same algorithm, but over a range of different proposal distributions. . > transition = concatAllT [ > slice 0.5 > , slice 1.0 > , slice 2.0 > ] . Or just mix and match and see what happens! . > transition = > sampleT > (sampleT (metropolis 0.5) (slice 0.1)) > (sampleT (hamiltonian 0.01 20) (metropolis 2.0)) . Check the test suite for example usage. Source-repository head Type: git Location: http://github.com/jtobin/declarative.git library default-language: Haskell2010 hs-source-dirs: lib exposed-modules: Numeric.MCMC , Numeric.MCMC.Anneal build-depends: base >= 4 && < 6 , mcmc-types >= 1.0.1 , mwc-probability >= 1.0.1 , mighty-metropolis >= 1.0.1 , lens >= 4 && < 5 , primitive >= 0.6 && < 1.0 , pipes >= 4 && < 5 , hasty-hamiltonian >= 1.1.1 , speedy-slice >= 0.1.2 , transformers >= 0.5 && < 1.0 Test-suite rosenbrock type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Rosenbrock.hs default-language: Haskell2010 ghc-options: -rtsopts build-depends: base >= 4 && < 6 , mwc-probability >= 1.0.1 , declarative