1èreArithmétique

Simuler une expérience aléatoire et la loi binomiale

17 min5 exercicesSéquence 3.31ère

Vidéo disponible dans la version Premium

Durée : 17 min

Simuler une épreuve de Bernoulli

Une épreuve de Bernoulli de paramètre pp a deux issues : succès (probabilité pp) ou échec (probabilité 1p1-p). On la simule avec random.random(), qui renvoie un décimal dans [0;1[[0\,;\,1[ :

`python
import random

p = 0.3
tirage = random.random()
if tirage < p:
print("Succès")
else:
print("Échec")
`

Pourquoi ça marche : random.random() renvoie une valeur uniformément répartie dans [0;1[[0\,;\,1[, donc la probabilité que tirage < p soit vraie est exactement pp.

Simuler une réalisation de la loi binomiale

La loi binomiale B(n;p)\mathcal{B}(n\,;\,p) compte le nombre de succès parmi nn répétitions indépendantes d'une épreuve de Bernoulli de paramètre pp. On simule cela avec une boucle qui répète nn fois l'épreuve, en comptant les succès :

`python
import random

n = 10
p = 0.3
succes = 0
for i in range(n):
if random.random() < p:
succes = succes + 1

print("Nombre de succès :", succes)
`

Chaque exécution de ce programme simule une réalisation de la variable aléatoire XB(10;0,3)X \sim \mathcal{B}(10\,;\,0{,}3).

Estimer une probabilité par simulation répétée

Pour estimer P(X=k)P(X=k), on répète la simulation précédente un grand nombre de fois, en comptant combien de fois on obtient exactement kk succès :

`python
import random

n = 10
p = 0.3
k = 3
nb_simulations = 5000
compteur = 0

for simulation in range(nb_simulations):
succes = 0
for i in range(n):
if random.random() < p:
succes = succes + 1
if succes == k:
compteur = compteur + 1

frequence = compteur / nb_simulations
print("Fréquence estimée de P(X=3) :", frequence)
`

Remarque : ce programme contient une boucle dans une boucle. La boucle intérieure simule une réalisation de XX ; la boucle extérieure répète cette simulation nb_simulations fois pour estimer une fréquence.

Exemples

✅ Exemple simple — Simuler un succès ou un échec

`python
import random

p = 0.5
print(random.random() < p)
`

Ce programme affiche True (succès) ou False (échec), chacun avec une probabilité 0,50{,}5.

📘 Exemple intermédiaire — Compter les succès sur 20 répétitions

`python
import random

succes = 0
for i in range(20):
if random.random() < 0.4:
succes = succes + 1

print("Succès :", succes)
`

🔴 Exemple avancé — Estimer P(X=0)P(X=0) par simulation

`python
import random

n = 8
p = 0.2
nb_simulations = 10000
compteur = 0

for simulation in range(nb_simulations):
succes = 0
for i in range(n):
if random.random() < p:
succes = succes + 1
if succes == 0:
compteur = compteur + 1

frequence = compteur / nb_simulations
print("Fréquence estimée de P(X=0) :", frequence)
`

La probabilité théorique est P(X=0)=(80)×0,20×0,88=0,880,168P(X=0) = \dbinom{8}{0}\times0{,}2^0\times0{,}8^8 = 0{,}8^8 \approx 0{,}168. Avec 1000010\,000 simulations, la fréquence observée doit s'en approcher.

À retenir

- random.random() < p simule une épreuve de Bernoulli de paramètre pp.
- Répéter cette épreuve nn fois en comptant les succès simule une réalisation de la loi binomiale B(n;p)\mathcal{B}(n\,;\,p).
- Pour estimer P(X=k)P(X=k), on répète la simulation de XX un grand nombre de fois (boucle dans une boucle) et on calcule la fréquence des simulations où l'on obtient exactement kk succès.

Exercices

Quelle instruction simule une épreuve de Bernoulli de paramètre p=0,25p=0{,}25 ?

Pour simuler une réalisation de la loi binomiale B(n;p)\mathcal{B}(n\,;\,p), il suffit de simuler une seule épreuve de Bernoulli de paramètre pp.

Suivez votre progression

Connectez-vous pour sauvegarder votre avancement et gagner des XP.

Se connecter