Dave Decker writes:
I’ve seen some Bayes related things recently that might make for interesting fodder on your blog.
There are two books, teaching Bayesian analysis from a programming perspective.
And also a “web application for data analysis using powerful Bayesian statistical methods.”
I took a look. The first book is Think Bayes: Bayesian Statistics Made Simple, by Allen B. Downey. It’s super readable and, amazingly, has approximately zero overlap with Bayesian Data Analysis. Downey discusses lots of little problems in a conversational way. In some ways it’s like an old-style math stat textbook (although with a programming rather than mathematical flavor) in that the examples are designed for simplicity rather than realism. I like it! Our book already exists; it’s good to have something else for people to read, coming from an entirely different perspective.
The second book is Probabilistic Programming and Bayesian Methods for Hackers, by Cameron Davidson-Pilon with contributions from may others. This book is a bit more polished and less conversational (which is good in some ways and bad in others; overall it’s a plus for book #2 to differ in some ways from book #1, so you can get something out of reading each of them), with a more of a focus on business-analytics sorts of problems. I didn’t read this book in detail either, but from what I saw, I like it too!
My main criticism with both books is that they talk a lot about inference but not so much about model building or model checking (recall the three steps of Bayesian data analysis). I think it’s ok for an introductory book to focus on inference, which of course is central to the data-analytic process—but I’d like them to at least mention that Bayesian ideas arise in model building and model checking as well.
Finally I looked at BayesHive, which describes itself as “a web application for data analysis using powerful Bayesian statistical methods. We help you build statistical models for your entire dataset such that final decisions and measurements are based on all the available information.” This sounds great, but unfortunately the website has zero detail on what they are doing.
I guess that’s the for-profit, closed-source world for you. For Stan, everything is open and we tell you what we are trying to do and what algorithms we’re using. This thing is all a big mystery. Their documentation has things like, “BayesHive is what you get when you ask functional programmers to re-invent statistics and data analysis software.” Here are some details: “Using our Angular.UIRouter module, we can define a hierarchical set of user interface “states”, each of which has associated Hamlet files defining the user interface appearance and Julius files defining its behaviour. . . . The layout and behaviour definitions for all the states are collected together using Template Haskell code that traverses the directory tree of state definitions and constructs the state dispatch structure needed to initialise the Angular ui-router system. . . .” As Bob would say, for all we know, they’re running Stan under the hood. Once Stan becomes more of a standard, this should be a good thing, as developers of this sort of software will be able to focus on specific applications rather than having to write their own code for statistical modeling and inference.