mwc-probability: Sampling function-based probability distributions.

[ library, math, mit ] [ Propose Tags ]

A simple probability distribution type, where distributions are characterized by sampling functions.

This implementation is a thin layer over mwc-random, which handles RNG state-passing automatically by using a PrimMonad like IO or ST s under the hood.

Examples

Transform a distribution's support while leaving its density structure invariant:

-- uniform over [0, 1] to uniform over [1, 2]
fmap succ uniform

Sequence distributions together using bind:

-- a beta-binomial compound distribution
beta 1 10 >>= binomial 10

Use do-notation to build complex joint distributions from composable, local conditionals:

hierarchicalModel = do
  [c, d, e, f] <- replicateM 4 $ uniformR (1, 10)
  a <- gamma c d
  b <- gamma e f
  p <- beta a b
  n <- uniformR (5, 10)
  binomial n p

[Skip to Readme]
Versions 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.1.3, 1.2.0, 1.2.1, 1.2.2, 1.3.0, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4
Change log CHANGELOG
Dependencies base (>=4.8 && <6), mwc-random (>0.13 && <0.15), primitive (>=0.6 && <1.0), transformers (>=0.5 && <1.0) [details]
License MIT
Author Jared Tobin, Marco Zocca
Maintainer jared@jtobin.ca, zocca.marco gmail
Revised Revision 1 made by JaredTobin at Wed Jul 11 23:26:40 UTC 2018
Category Math
Home page http://github.com/jtobin/mwc-probability
Source repo head: git clone http://github.com/jtobin/mwc-probability.git
Uploaded by JaredTobin at Sat Jun 30 05:53:25 UTC 2018
Distributions LTSHaskell:2.0.4, NixOS:2.0.4, Stackage:2.0.4
Downloads 2877 total (51 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-06-30 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for mwc-probability-2.0.4

[back to package description]

mwc-probability

Build Status Hackage Version MIT License

Sampling function-based probability distributions.

A simple probability distribution type, where distributions are characterized by sampling functions.

This implementation is a thin layer over mwc-random, which handles RNG state-passing automatically by using a PrimMonad like IO or ST s under the hood.

Examples

  • Transform a distribution's support while leaving its density structure invariant:

    -- uniform over [0, 1] transformed to uniform over [1, 2]
    succ <$> uniform
    
  • Sequence distributions together using bind:

    -- a beta-binomial composite distribution
    beta 1 10 >>= binomial 10
    
  • Use do-notation to build complex joint distributions from composable, local conditionals:

    hierarchicalModel = do
      [c, d, e, f] <- replicateM 4 (uniformR (1, 10))
      a <- gamma c d
      b <- gamma e f
      p <- beta a b
      n <- uniformR (5, 10)
      binomial n p
    

Check out the haddock-generated docs on Hackage for other examples.

Etc.

PRs and issues welcome.