Exercice : Simulation en python

Simulation

Simulation en python de la loi binomiale.

Question

Simuler en langage python une épreuve de Bernoulli de paramètre \(p\).

Solution

1
from random import random
2
def bernoulli(p):
3
    if random()<p:
4
        return True
5
    else:
6
        return False
7
8
# de manière simplifiée, on pourrait écrire dans la fonction :
9
#   return (random()<p)

Question

Simuler en langage python un schéma de Bernoulli de paramètres \(n\) et \(p\).

Indice

On répète \(n\) fois une épreuve de Bernoulli de paramètre \(p\) et on compte les succès.

Solution

1
def binomiale(n,p):
2
    sum=0
3
    for i in range(n):
4
        if bernoulli(p):
5
            sum=sum+1
6
    return sum

Question

Une liste \(\ell\) de nombres tant donnée, écrire une fonction retournant la moyenne des nombres de la liste.

Solution

1
def mean(l):
2
    sum=0
3
    for i in range(len(l)):
4
        sum=sum+l[i]
5
    return sum/len(l)
6
7
De manière plus concise, on peut aussi écrire :
8
9
def mean(l):
10
    sum=0
11
    for i in l:
12
        sum=sum+i
13
    return sum/len(l)
14

On veut obtenir la moyenne des résultats d'un grand nombre d'expériences de Bernoulli, ayant les mêmes paramètres \(n\) et \(p\).

Question

Écrire une fonction python nommée espérance générant une liste des résultats de 100 000 expériences de Bernoulli de paramètres \(n\) et \(p\) puis calculer sa moyenne.

Solution

1
def esperance(n,p,N):
2
    l=[]
3
    for i in range(N):
4
        l.append(binomiale(n,p))
5
    return (l)
Complément

Réponse : scripts

Question

Tester ce programme pour \(n=10\) et \(p=0,4\), pour \(n=10\) et \(p=0,2\), \(n=20\) et \(p=0,4\), pour \(n=100\) et \(p=0,36\).

Que peut-on conjecturer concernant l'espérance de loi loi binomiale de paramètres \(n\) et \(p\) ?