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]

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

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 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, 2.1.0, 2.2.0, 2.3.0, 2.3.1
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 2018-07-11T23:26:40Z
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 2018-06-30T05:53:25Z
Distributions LTSHaskell:2.3.1, NixOS:2.3.1, Stackage:2.3.1
Reverse Dependencies 14 direct, 3 indirect [details]
Downloads 11909 total (62 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-06-30 [all 1 reports]

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.