Probabilistic Programming with Anglican

clojurescript
clojure

#1

Hi fellow Clojurian,

you might have some interest in machine-learning or even heard of probabilistic programming. Clojure(Script) has a hidden gem in this space that is not explored a lot yet, but heavily extended with state-of-the-art research and also used in industry: Anglican

We are trying to make our material on the homepage and the examples more accessible. If you have any questions, suggestions or additional information, feel free to raise them here.

Christian


#2

Looks cool, but maybe a bit over my head, given my expertise in statistics is only intro course.


#3

I have been reading about it for quite a while now, but in the end never got down to using it - I use PyMC a lot, so you can imagine I’d love to Clojurize instead :slight_smile:

If I can suggest, some docs I’d love to get started, go through the examples in https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers - lots of people know and use it. So it would be a good starting point.


#4

Another thing that I never got about Anglican: what are the performance implications of running it? I mean, one thing is to use MCMC as a study tool (takes a lot to run the chains? I’ll go grab some cookies), and one thing is to use it embedded in something else, that might have real-life - though not strictly real-time - performance pressures.

[BTW - the examples in the Examples page were not there last time I visited - veery nice!!)


#5

The motivation for probabilistic programming in general and Anglican in particular is to do the statistics automatically for you. You describe the model through a program as a black box and Anglican is doing all the work for you. I have rewritten the website and tried to make it as accessible to non-statistics/math Clojurians as possible. Please tell me where I have lost you/not motivated the use cases enough. I have in particular worked on this example sheet lately: https://probprog.github.io/anglican/examples/viewer/?worksheet=practical/faithful_user


#6

I have seen this book in the past, but forgotten about it. Thanks for pointing it out, I will try to copy good ideas. Anything particular you think should be communicated through the website or in an example worksheet?


#7

I think it would be very nice to redo the very same examples (at least some), with the same data sets, as to show how to use Anglican and where it shines.

The nice thing about Bayesian Methods is that it explains not only the MCMC part, but also shows how to make graphs, how to check sanity, and is very well written in explaining the whys and hows to a beginner. The advantage in doing the same examples is that one can “piggyback” on the book itself in terms of explanations, and just show how to do the same things with Anglican - so it is just as useful to a beginner.

EDIT: somebody did the first chapter already - http://thegeez.net/2017/11/13/prob_prog_anglican_example.html


#8

Yes, that would make sense. I am not sure whether I will have the time to do it, but I will consider it. Is anybody interested in helping me working through this in gorilla or clojupyter worksheets?