Giter Club home page Giter Club logo

mwc-probability's Introduction

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.

mwc-probability's People

Contributors

jtobin avatar ocramz avatar ldcasillas-progreso avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.