-
Notifications
You must be signed in to change notification settings - Fork 0
LFY/RandomT
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
RandomT: declarative probabilistic programming in Python ======================================================== Installation ============ python setup.py build python setup.py install Usage ===== 1. Import language environment from RandomT import * 2. Construct random variable X = RndVar(lambda : randint(0,1)) # Is some random integer 3. Combine with other random variables using base class methods Y = X + X 4. Run probability queries print Pr(Y, {}, rejectionN(500)) How to make a RandomT random variable ===================================== 2 ways. 1. Create a 0-arg function (thunk) that performs a draw from the distribution. The function must return values of a consistent type, or the operations on this random variable will not be well defined. from random import randint X = RndVar(lambda : randint(0, 5)) 2. Create a Dist, which holds a dictionary describing the full probability distribution. The keys must all be of the same type and must be hashable objects, otherwise the operations on this random variable are not well defined/sampled values cannot be meaningfully compared for equality. X = RndVar(Dist({0 : 0.2, 1: 0.2, 2: 0.2, 3: 0.2, 4: 0.2})) Currently supported inference algorithms ======================================== rejectionN(numsamples) - simple rejection sampling, works on any model
About
First-order probabilistic programming in Python
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published