Feature leinjupyter demo
Zane and Jonathan ---
This PR contains an initial very rough exploration of lein-jupyter notebooks with Metaprob. I don't believe this PR is ready to be merged. Rather, I'm showing it to you to start a dialogue, to help us understand how to revise it into something that demonstrates some of the basic functionality in Metaprob (and forces us to write some slightly better plotting utilities along the way).
I'd like Zane and Joshua to help with this.
The example probabilistic program is a two-variable Gaussian model, where we're showing functionality such as:
- plotting the density on traces induced by the model
- using importance-resampling to infer the distribution of y given x
- comparing importance-resampling to manual enumeration of the density
The plots are done using incanter's support for JFreeCharts, which is minimally usable but ugly.
At minimum, we need to add:
- overlaying density plots on histograms, so that it's more visually obvious that the results are correct
- adding tests that verify that some heuristic measure of the histogram/density difference is low
- stacking the plots better, and using a fixed set of axes across multiple plots, so differences between plots that at present are only visible through differences in the axis labels become easier to see by eye
We probably also want to add:
- an exact inference procedure for the bivariate Gaussian model
- inference queries that condition on y, rather than x, so that it is more obvious that we are trying to find probable executions given constraints
Zane --- can you work with Desiree to turn this process into potential backlog items, for the second half of August? this might require one round of review with me, first.
Since you asked for style nits, this is the Clojure style guide that most of the community conforms to. I'll leave some comments inline as well.
can you work with Desiree to turn this process into potential backlog items
Absolutely.