# Binomial Distribution

Alex Egg,

Basketball free throw contest. I can make two bets:

- at least 2 out of 3
- at least 5 out of 8

Which bet would maximize my odds of winning and why?

```
import numpy as np
from scipy.special import comb
%pylab inline
```

```
Populating the interactive namespace from numpy and matplotlib
```

## Binomial Distribution

Shooting a sequence of free throws can be modeled by a binomial distribution. Below we define the probability mass function for the binomial distribution (also available in `scipy.stats.binom.pmf`

):

```
PMF=lambda p,n,k: comb(n,k) * p**k*(1-p)**(n-k)
```

```
#making at least 5 out of 8
five_out_of_eight = lambda p: PMF(p,8,5)+PMF(p,8,6)+PMF(p,8,7)+PMF(p,8,8)
#making at least 2 out of 3
two_out_of_three = lambda p: PMF(p,3,2)+PMF(p,3,3)
```

```
#free throw percentages 0-1 in .1 increments
single_shot_probs=np.arange(0,1.1, .1)
_2_3=[]
_5_8=[]
for p in single_shot_probs:
_2_3.append(two_out_of_three(p))
_5_8.append(five_out_of_eight(p))
```

```
figure()
plt.plot(single_shot_probs, _2_3, label="2/3")
plt.plot(single_shot_probs, _5_8, label="5/8")
plt.legend(loc='lower right')
```

```
<matplotlib.legend.Legend at 0x10cf54c10>
```

**The answer:** It depends how good you are. If your average free throw percentage is <.7 then you should take the 2/3 bet. However, if your free throw percentage is > .7 then you should take the 5/8 bet. But either way, iregardless of your skill level, 2/3 is most safe bet.

**Permalink:**
binomial-distribution

**Tags:**