Simuler, avec Python ou un tableur, N échantillons de taille 𝑛 d’une variable aléatoire, d’espérance 𝜇 et d’écart type 𝜎.

exemple : considérons la loi :

$x_i$ 5 10 20
$p_i$ 0.2 0.7 0.1

Calculer son espérance et son écart-type :

L'espérance vaut $\mu = 5\times 0.2 + 10 \times 0.7 + 20 \times 0.1 = 10$

L'écart-type vaut $\sigma = \sqrt{0.2\times 25 + 0.7\times 0 + 0.1\times 100} = \sqrt{15} \simeq 3.9$

Pour simuler un échantilon de taille 1, compléter la fonction suivante :

In [1]:
from random import randint

def simulationUn():
    nombreAleatoire  = randint(1,10)
    if nombreAleatoire <= 2:
        return 5
    else:
        if nombreAleatoire <= 9:
            return 10
        else:
            return 20
In [2]:
simulationUn()
Out[2]:
10

Pour simuler un échantilon de taille n, compléter la fonction suivante :

In [3]:
from random import randint

def simulation(n):
    i = 1
    while i <= n :
        print( simulationUn() )
        i = i+1
    
In [4]:
simulation(7)
10
20
10
10
10
5
10

Modifions cette fonction pour qu'elle stocke l'échantillon dans une liste :

In [5]:
from random import randint

def simulation(n):
    i = 1
    L = []  # L est une liste vide
    while i <= n :
        L = L +  [simulationUn()]
        i = i+1
    return L
In [6]:
simulation(4)
Out[6]:
[10, 10, 10, 10]

Ecrire une fonction qui calcule la moyenne des éléments d'une liste :

In [7]:
def moyenneListe(L):
    m  = 0
    for i in L:
        m = m+i
    return m/len(L)
In [8]:
a = simulation(20)
print(a)
moyenneListe(a)
[10, 5, 10, 10, 10, 10, 10, 5, 5, 20, 10, 10, 5, 5, 10, 5, 10, 10, 10, 5]
Out[8]:
8.75

Simulation de N échantillons de taille n et calcul de la moyenne

In [9]:
from math import sqrt
N = 1000
n = 1000
C = 0 #compte les cas où l'écart entre la moyenne de l'échantillon et 10 est inférieur ou égal à 2*sigma/racine(n)
for i in range(N):
    if abs( moyenneListe(simulation(n)) - 10 ) <= 2*sqrt(15)/sqrt(n):
        C = C + 1
print("La proportion des cas où où l'écart entre la moyenne de l'échantillon et 10 est inférieur ou égal à 2sigma/racine(n) est : ", C/N )
    
La proportion des cas où où l'écart entre la moyenne de l'échantillon et 10 est inférieur ou égal à 2sigma/racine(n) est :  0.943
In [ ]:
 
In [ ]: