Normal approximation for binomial distribution isn't giving correct result, z score comes out 0

486 Views Asked by At

I'm trying to use the normal distribution to calculate approximate values for the (cumulative) binomial distribution with large values (since it's impractical to evaluate the factorials).

I'm very confused by something. Let's say I am doing $n=128$ trials, each trial has a $p=0.25$ chance to succeed, and I want to know how likely it is that at least $k=32$ trials will succeed.

First, to verify the appropriateness of approximating with the normal (conditions taken from here): $$ np=128\cdot0.25=32 >10\\ n(1-p)=128\cdot0.75=96>10 $$ So both conditions are adequately satisfied. Then, to approximate, I do (from this page): $$ \mu = np = 128 \cdot 0.25 = 32 \\ \sigma = \sqrt{\mu(1-p)}=\sqrt{32\cdot0.75}=4.899 $$

Now I find the z-score for my desired success count: $$ z = \frac{k-\mu}{\sigma}=\frac{32-32}{4.899}=\frac{0}{4.899}=0 $$

So the probability automatically becomes $0.5$. However, I don't think this is quite right. For the same parameters, this calculator gives $0.5339$ and Matlab's 1-binocdf(31, 128, 0.25) produces $0.5470$ - so where am I making a mistake?

1

There are 1 best solutions below

0
On BEST ANSWER

You're neglecting to do a continuity correction. Notice that $$ X \le 32 \text{ is the same as }X<33,\text{ and also the same as }X\le 32.5 $$

If you're looking the probability that $X\le 32$ (and you should say explicitly in your question that that's what you have in mind, since it's not clear whether you meant that or $X<32$ or something else) then use $32.5$ with the normal approximation.

Your "$\ge 10$" criterion is quite conservative.