I’m trying to use
scipy in order to calculate a probability, given a binomial distribution:
The probability: in an exam with 45 questions, each one with 5 items, what is the probability of randomly choose right (instead of wrong) more than half the exam, that is, 22.5?
from scipy.stats import binom n = 45 p = 0.20 mu = n * p p_x = binom.pmf(1,n,p)
How do I calculate this with scipy?
Assuming there’s exactly one correct choice for each question, the random variable
X which counts the number of correctly answered questions by choosing randomly is indeed binomial distributed with parameters
p=0.2. Hence, you want to calculate
P(X >= 23) = P(X = 23 ) + ... + P(X = 45 ) = 1 - P(X <= 22), so there are two ways to compute it:
from scipy.stats import binom n = 45 p = 0.2 # (1) prob = sum(binom.pmf(k, n, p) for k in range(23, 45 + 1)) # (2) prob = 1 - binom.cdf(22, n, p)