# What is the intuition behind beta distribution?

Disclaimer: I'm not a statistician but a software engineer. Most of my knowledge in statistics comes from self-education, thus I still have many gaps in understanding concepts that may seem trivial for other people here. So I would be very thankful if answers included less specific terms and more explanation. Imagine that you are talking to your grandma :)

I'm trying to grasp the nature of beta distribution - what it should be used for and how to interpret it in each case. If we were talking about, say, normal distribution, one could describe it as arrival time of a train: most frequently it arrives just in time, a bit less frequently it is 1 minute earlier or 1 minute late and very rarely it arrives with difference of 20 minutes from the mean. Uniform distribution describes, in particular, chance of each ticket in lottery. Binomial distribution may be described with coin flips and so on. But is there such intuitive explanation of beta distribution?

Let's say, $\alpha=.99$ and $\beta=.5$. Beta distribution $B(\alpha, \beta)$ in this case looks like this (generated in R):

But what does it actually mean? Y-axis is obviously a probability density, but what is on the X-axis?

I would highly appreciate any explanation, either with this example or any other.

-
The y-axis is not a probability (which is obvious, because by definition a probability cannot lie outside the interval $[0,1]$, but this plot extends up to $50$ and--in principle--to $\infty$). It is a probability density: a probability per unit of $x$ (and you have described $x$ as a rate). –  whuber Jan 15 '13 at 16:40
@whuber: yeah, I understand what PDF is - that was just mistake in my description. Thanks for a valid note! –  ffriend Jan 15 '13 at 19:32

The short version is that the Beta distribution can be understood as representing a distribution of probabilities- that is, it represents all the possible values of a probability when we don't know what that probability is. Here is my favorite intuitive explanation of this:

Anyone who follows baseball is familiar with batting averages- simply the number of times a player gets a base hit divided by the number of times he goes up at bat (so it's just a percentage between 0 and 1). .266 is in general considered an average batting average, while .300 is considered an excellent one.

Imagine we have a baseball player, and we want to predict what his season-long batting average will be. You might say we can just use his batting average so far- but this will be a very poor measure at the start of a season! If a player goes up to bat once and gets a single, his batting average is briefly 1.000, while if he strikes out or walks, his batting average is 0.000. It doesn't get much better if you go up to bat five or six times- you could get a lucky streak and get an average of 1.000, or an unlucky streak and get an average of 0, neither of which are a remotely good predictor of how you will bat that season.

Why is your batting average in the first few hits not a good predictor of your eventual batting average? When a player's first at-bat is a strikeout, why does no one predict that he'll never get a hit all season? Because we're going in with prior expectations. We know that in history, most batting averages over a season have hovered between something like .215 and .360, with some extremely rare exceptions on either side. We know that if a player gets a few strikeouts in a row at the start, that might indicate he'll end up a bit worse than average, but we know he probably won't deviate from that range.

Given our batting average problem, which can be represented with a binomial distribution (a series of successes and failures), the best way to represent these prior expectations (what we in statistics just call a prior) is with the Beta distribution- it's saying, before we've seen the player take his first swing, what we roughly expect his batting average to be. The domain of the Beta distribution is (0, 1), just like a probability, so we already know we're on the right track- but the appropriateness of the Beta for this task goes far beyond that.

We expect that the player's season-long batting average will be most likely around .27, but that it could reasonably range from .21 to .35. This can be represented with a Beta distribution with parameters $\alpha=81$ and $\beta=219$:

curve(dbeta(x, 81, 219))


I came up with these parameters for two reasons:

• The mean is $\frac{\alpha}{\alpha+\beta}=\frac{81}{81+219}=.270$
• As you can see in the plot, this distribution lies almost entirely within (.2, .35)- the reasonable range for a batting average.

You asked what the x axis represents in a beta distribution density plot- here it represents his batting average. Thus notice that in this case, not only is the y-axis a probability (or more precisely a probability density), but the x-axis is as well (batting average is just a probability of a hit, after all)! The Beta distribution is representing a probability distribution of probabilities.

But here's why the Beta distribution is so appropriate. Imagine the player gets a single hit. His record for the season is now 1 hit; 1 at bat. We have to then update our probabilities- we want to shift this entire curve over just a bit to reflect our new information. While the math for proving this is a bit involved (it's shown here), the result is very simple. The new Beta distribution will be:

$\mbox{Beta}(\alpha_0+\mbox{hits}, \beta_0+\mbox{misses})$

Where $\alpha_0$ and $\beta_0$ are the parameters we started with- that is, 81 and 219. Thus, in this case, $\alpha$ has increased by 1 (his one hit), while $\beta$ has not increased at all (no misses yet). That means our new distribution is $\mbox{Beta}(81+1, 219)$, or:

curve(dbeta(x, 82, 219))


Notice that it has barely changed at all- the change is indeed invisible to the naked eye! (That's because one hit doesn't really mean anything).

However, the more the player hits over the course of the season, the more the curve will shift to accommodate the new evidence, and furthermore the more it will narrow based on the fact that we have more proof. Let's say halfway through the season he has been up to bat 300 times, hitting 100 out of those times. The new distribution would be $\mbox{Beta}(81+100, 219+200)$, or:

curve(dbeta(x, 81+100, 219+200))


Notice the curve is now both thinner and shifted to the right (higher batting average) than it used to be- we have a better sense of what the player's batting average is.

One of the most interesting outputs of this formula is the expected value of the resulting Beta distribution, which is basically your new estimate. Recall that the expected value of the Beta distribution is $\frac{\alpha}{\alpha+\beta}$. Thus, after 100 hits of 300 real at-bats, the expected value of the new Beta distribution is $\frac{81+100}{81+100+219+200}=.303$- notice that it is lower than the naive estimate of $\frac{100}{100+200}=.333$, but higher than the estimate you started the season with ($\frac{81}{81+219}=.270$). You might notice that this formula is equivalent to adding a "head start" to the number of hits and non-hits of a player- you're saying "start him off in the season with 81 hits and 219 non hits on his record").

Thus, the Beta distribution is best for representing a probabilistic distribution of probabilities- the case where we don't know what a probability is in advance, but we have some reasonable guesses.

-
This is great explanation! Thanks a lot! –  ffriend Jan 15 '13 at 18:53
@ffriend: Glad it helped- I hope you follow baseball (otherwise I wonder if it's understandable!) –  David Robinson Jan 15 '13 at 19:01
Here's a similar example from John Cook using binary Amazon seller rankings with different number of reviews. The discussion of choosing a prior in the comments is particularly illuminating: johndcook.com/blog/2011/09/27/bayesian-amazon/#comments –  Dimitriy V. Masterov Jan 15 '13 at 19:58
You should point out that the prior need not be beta-distributed (unless you go with the Jeffreys' prior, $\alpha_0=\beta_0=1/2$ — only the likelihood must be beta distributed. –  Neil G Jan 16 '13 at 18:08
+ I like your explanation of how you update the distribution when you have more data. –  Mike Dunlavey Jan 16 '13 at 21:44

A Beta distribution is used to model things that have a limited range, like 0 to 1.

Examples are the probability of success in an experiment having only two outcomes, like success and failure. If you do a limited number of experiments, and some are successful, you can represent what that tells you by a beta distribution.

Another example is order statistics. For example, if you generate several (say 4) uniform 0,1 random numbers, and sort them, what is the distribution of the 3rd one?

I use them to understand software performance diagnosis by sampling. If you stop a program at random $n$ times, and $s$ of those times you see it doing something you could actually get rid of, and $s>1$, then the fraction of time to be saved by doing so is represented by $Beta(s+1, (n-s)+1)$, and the speedup factor has a BetaPrime distribution.

-
Never thought about such use of program statistics. My respect to you! –  ffriend Jan 15 '13 at 18:58

The Beta distribution also appears as an order statistic for a random sample of independent uniform distributions on $(0,1)$.

Precisely, let $U_1$, $\ldots$, $U_n$ be $n$ independent random variables, each having the uniform distribution on $(0,1)$. Denote by $U_{(1)}$, $\ldots$, $U_{(n)}$ the order statistics of the random sample $(U_1, \ldots, U_n)$, defined by sorting the values of $U_1$, $\ldots$, $U_n$ in increasing order. In particular $U_{(1)}=\min(U_i)$ and $U_{(n)}=\max(U_i)$. Then one can show that $U_{(k)} \sim \textrm{Beta}(k, n+1-k)$ for every $k=1,\ldots,n$.

This result shows that the Beta distributions naturally appear in mathematics, and it has some interesting applications in mathematics.

-
+ NP. You put it nicely. –  Mike Dunlavey Jan 16 '13 at 21:47

There are two principal motivations:

First, the beta distribution is conjugate prior to the Bernoulli distribution. That means that if you have an unknown probability like the bias of a coin that you are estimating by repeated coin flips, then the likelihood induced on the unknown bias by a sequence of coin flips is beta-distributed.

Second, a consequence of the beta distribution being an exponential family is that it is the maximum entropy distribution for a set of sufficient statistics. In the beta distribution's case these statistics are $\log(x)$ and $\log(1-x)$ for $x$ in $[0,1]$. That means that if you only keep the average measurement of these sufficient statistics for a set of samples $x_1, \dots, x_n$, the minimum assumption you can make about the distribution of the samples is that it is beta-distributed.

The beta distribution is not special for generally modeling things over [0,1] since many distributions can be truncated to that support and are more applicable in many cases.

-

Let's assume a seller on some e-commerce web-site receives 500 ratings of which 400 are good and 100 are bad.

We think of this as the result of a Bernoulli experiment of length 500 which led to 400 successes (1 = good) while the underlying probability $p$ is unknown.

The naive quality in terms of ratings of the seller is 80% because 0.8 = 400 / 500. But the "true" quality in terms of ratings we don't know.

Theoretically also a seller with "true" quality of $p=77\%$ might have ended up with 400 good of 500 ratings.

The pointy bar plot in the picture represents the frequency of how often it happend in a simulation that for a given assumed "true" $p$ 400 of 500 ratings were good. The bar plot is the density of the histogram of the result of the simulation.

And as you can see - the density curve of the beta distribution for $\alpha=400+1$ and $\beta=100+1$ (orange) tightly surrounds the bar chart (the density of the histogram for the simulation).

So the beta distribution essentially defines the probability that a Bernoulli experiment's success probability is $p$ given the outcome of the experiment.

library(ggplot2)

# 90% positive of 10 ratings
o1 <- 9
o0 <- 1
M <- 100
N <- 100000

m <- sapply(0:M/M,function(prob)rbinom(N,o1+o0,prob))
v <- colSums(m==o1)
df_sim1 <- data.frame(p=rep(0:M/M,v))
df_beta1 <- data.frame(p=0:M/M, y=dbeta(0:M/M,o1+1,o0+1))

# 80% positive of 500 ratings
o1 <- 400
o0 <- 100
M <- 100
N <- 100000

m <- sapply(0:M/M,function(prob)rbinom(N,o1+o0,prob))
v <- colSums(m==o1)
df_sim2 <- data.frame(p=rep(0:M/M,v))
df_beta2 <- data.frame(p=0:M/M, y=dbeta(0:M/M,o1+1,o0+1))

ggplot(data=df_sim1,aes(p)) +
scale_x_continuous(breaks=0:10/10) +

geom_histogram(aes(y=..density..,fill=..density..),
binwidth=0.01, origin=-.005, colour=I("gray")) +
geom_line(data=df_beta1 ,aes(p,y),colour=I("red"),size=2,alpha=.5) +

geom_histogram(data=df_sim2, aes(y=..density..,fill=..density..),
binwidth=0.01, origin=-.005, colour=I("gray")) +
geom_line(data=df_beta2,aes(p,y),colour=I("orange"),size=2,alpha=.5)


http://www.joyofdata.de/blog/an-intuitive-interpretation-of-the-beta-distribution/

-
Thank you for your contribution! I am puzzled about something, though: although the histogram legend states they show beta densities, you appear to claim these also describe the outcomes of binomial simulations ("how often it happend in a simulation"). But the two are different things, even though they happen to appear fairly close in the illustration. (That's a consequence of the near-normality of the Beta with large parameters and the Central Limit theorem for Binomial distributions.) –  whuber Nov 15 '13 at 21:12
That is a good point! But I am not sure how to rephrase it propperly. If I would just plot the histogram then, of course, you wouldn't see much of the density given the magnitude of it. So yes, the histogram is actually I guess not just scaled down but actually the (estimated) density of the original histogram. Given the number of runs I could also figure out a factor and scale it down linearly but it would look almost exactly the same PLUS what I (actually) want to compare is the density of beta with the density of the result of the simulation (the density of the original histogram). –  Raffael Nov 15 '13 at 21:33