What is Lea?
Lea is a Python package aiming at working with discrete probability
distributions in an intuitive way. It allows you to model a broad range of
random phenomenons, like dice throwing, coin tossing, gambling, finance,
weather, etc. It offers high-level modeling features for probabilistic
programming and Bayesian inference. Lea has several original features: the
storage of probabilities as integer weights, an inference algorithm that
produces *exact* results and a strong emphasis on ease-of-use. Lea is
lightweight, open-source (LGPL) and pure Python, with support of versions 2
and 3). See project page below for installation, tutorials, examples, etc.
What's new in Lea 2.3?
Compared to latest version (2.2), few things, although important, have been
* A new method, 'switch', allows you to make efficient Bayesian networks.
For variables having many dependences, there is a dramatic speed improvement
regarding the 'buildCPT' method available so far. The new method is fully
documented in the wiki page dedicated to Bayesian inference, which has been
updated in depth: http://bitbucket.org/piedenis/lea/wiki/LeaPyTutorial2.
* A new method, 'internal', allows you to see what's inside any Lea instance
(should you be curious of that).
What's *in* Lea?
Lea uses an original probabilistic inference algorithm called the *Statues
algorithm*. This relies on the generator construct, a special case of
coroutine, embodied in Python with the 'yield' statement. Should you be
interested in this topic:
- you could have a look at the MicroLea project, which implements no more
than the core Statues algorithm (http://bitbucket.org/piedenis/microlea); - be informed that I've written a paper (draft/unpublished) that describes
this algorithm in details; if you required it to me, I can provide you this
paper; BTW, I would be glad to receive your feedbacks/advices for a