# mwc-probability

Sampling function-based probability distributions. http://github.com/jtobin/mwc-probability

 Version on this page: 1.3.0 LTS Haskell 11.10: 2.0.3 Stackage Nightly 2018-05-23: 2.0.3 Latest on Hackage: 2.0.3

See all snapshots `mwc-probability` appears in

MIT licensed by
Maintained by

#### Module documentation for 1.3.0

• System
• System.Random
• System.Random.MWC

# mwc-probability

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``````

## Included probability distributions

• Continuous

• Uniform
• Normal
• Log-Normal
• Exponential
• Inverse Gaussian
• Laplace
• Gamma
• Inverse Gamma
• Weibull
• Chi-squared
• Beta
• Student t
• Pareto
• Dirichlet process
• Symmetric Dirichlet process
• Discrete

• Discrete uniform
• Zipf-Mandelbrot
• Categorical
• Bernoulli
• Binomial
• Negative Binomial
• Multinomial
• Poisson

## Changes

# Changelog

- 2.0.3 (2018-05-09)
* Add inverse Gaussian (Wald) distribution

- 2.0.2 (2018-01-30)
* Add negative binomial distribution

- 2.0.1 (2018-01-30)
* Add Normal-Gamma and Pareto distributions

- 2.0.0 (2018-01-29)
* Add Laplace and Zipf-Mandelbrot distribution
* Rename `isoGauss` to `isoNormal` and `standard` to `standardNormal` to uniform naming scheme
* Divide Haddock in sections

- 1.3.0 (2016-12-04)
* Generalize a couple of samplers to use Traversable rather than lists.

Depends on 4 packages:
Used by 9 packages:
comments powered byDisqus