The simplest possible Bayesian model

MathJax.Hub.Config({
extensions: [“tex2jax.js”],
jax: [“input/TeX”, “output/HTML-CSS”],
tex2jax: {
inlineMath: [ [‘$’,’$’], [“\\(“,”\\)”] ],
displayMath: [ [‘$$’,’$$’], [“\\[“,”\\]”] ],
processEscapes: true
},
“HTML-CSS”: { availableFonts: [“TeX”] }
});

In chapter 5, Kruschke goes through the process of using Bayes’ rule for updating belief in the ‘lopsidedness’ of a coin. Instead of using R I decided to try implementing the model in Excel.

The Model

Coin tosses are IID with a \mathrm{Bernoulli}(q) distribution, thus the probability of observing N of which z are heads is

p(z|q, N) = q^z (1-q)^{(N-z)}

Using Bayes’ rule we get

\displaystyle p(q|z,N) = \frac{q^z (1-q)^{N-z} p(q)}{p(z|N)}

Note that if p(q) is already of the form

\displaystyle f(q;a,b) = \frac{q^{a-1} (1-q)^{b-1}}{B(a,b)}

where the denominator is a normalizing constant then p(q|N) = f(q;a+z,b+N-z).

Excel implementation

This is very straight-forward using the BETADIST function, which is cumulative, so we divide the unit interval into equally spaced subintervals, calculate the probability of q being in the interval and update on the basis of the new observations.

Here’s the result.

Image

Leave a comment