Simulation et inégalité de Bienaymé-Tchebychev Valeur exacte On calcule ici la valeur exacte de $P\left(| S_n-pn |> \sqrt{n}\right)$ lorsque $S_n$ suit la loi binomiale de paramètres $n$ et $p$.
On détermine dans un premier temps la probabilité de son évènement contraire à l'aide des équivalences ci-dessous
$|S_n-np|$ $\leq$ $\sqrt{n}$
$\Longleftrightarrow$ $-\sqrt{n}$ $\leq$ $S_n-np$ $\leq$ $\sqrt{n}$
$\Longleftrightarrow$ $-\sqrt{n}+np$ $\leq$ $S_n$ $\leq$ $\sqrt{n}+np$


from math import* def facto(n): f = 1 for i in range(1,n+1): f = f*i return f def binom(n,p,k): return (1.0*facto(n))/(facto(k)*facto(n-k))*(p**k)*((1-p)**(n-k)) def binomBornes(n,p,a,b): s = 0 for i in range(a,b+1): s = s+binom(n,p,i) return s def probaEcart(n,p): if floor(n*p-sqrt(n)) == n*p-sqrt(n): a = int(floor(n*p-sqrt(n))) else: a = int(floor(n*p-sqrt(n)))+1 b = int(floor(n*p+sqrt(n))) return 1-binomBornes(n,p,a,b) n = 100 p = 0.4 print probaEcart(n,p) print p*(1-p) Simulation avec un échantillon from random import* from math import* def bernoulli(n,p,taille): L = [0]*taille for i in range(0,taille): X = 0 for j in range(0,n): ps = uniform(0,1) c = 0 if ps < p: c = 1 X = X+c L[i] = X return L def bt(n,p,taille): L = bernoulli(n,p,taille) s = 0 for i in range(0,taille): if abs(L[i]-p*n) > sqrt(n): s = s+1 return (s*1.0)/taille n = 60 p = 0.4 print bt(n,p,1000) print p*(1-p)