← retour aux snippets

scipy: intervalle de confiance proportion

IC de Clopper-Pearson pour une proportion binaire.

python stats #scipy#binom#ci

objectif

IC de Clopper-Pearson pour une proportion binaire.

code minimal

from scipy.stats import beta

def ci_proportion(k, n, alpha=0.05):
    lo = beta.ppf(alpha/2, k, n-k+1)
    hi = beta.ppf(1-alpha/2, k+1, n-k)
    return lo, hi

print(tuple(round(v,3) for v in ci_proportion(30,100)))

utilisation

print(tuple(round(v,3) for v in ci_proportion(5,20)))

variante(s) utile(s)

from math import sqrt
p, n = 0.5, 100
wilson_lo = (p + 1.96**2/(2*n) - 1.96*sqrt((p*(1-p)+1.96**2/(4*n))/n)) / (1+1.96**2/n)
print(round(wilson_lo,3) >= 0.0)

notes

  • Wilson approx plus court; exact plus conservateur.