Outils pour utilisateurs

Outils du site


bts:python:convergenceloinormale

Convergence vers une loi normale

La loi normale est partout et ce n'est pas un hasard : une somme d'aléa a tendance à aboutir à une loi normale. Nous allons le vérifier.

Simulons le tirage d'un dé.

from random import choice

FACES = [1, 2, 3, 4, 5, 6]

def tirage():
    return choice(FACES)

La fonction choices permet de prendre une valeur au hasard dans la liste. On obtient par exemple :

>>> tirage()
3

Simuler des tirages et afficher

Ajoutez :

import matplotlib.pyplot as plt  # pour le graphique
import numpy as np               # contient une fonction de comptage

N = 10000 # nombre d'essais

# simulation de N tirages
essais = [tirage() for i in range(N)]
     
# comptage des scores obtenus et des effectifs correspondants
valeurs, effectifs = np.unique(essais , return_counts=True)
# on préfère des fréquences :
freqs = [e/N for e in effectifs]
     
# figure
plt.figure()
plt.bar(valeurs, freqs)
plt.title('Répartition des scores')
plt.xticks(valeurs)
plt.xlabel('scores')
plt.ylabel('fréquence')
plt.show()

Testez.

Sommer plusieurs dés

  • Supposons que l'on tire 2 fois le dé et qu'on fasse la somme… Modifiez le programme pour simuler ce cas.
  • Même chose avec 3 dés.
  • Même chose avec 5 dés.
  • Même chose avec 10 dés.

Dé pipé

On peut facilement simuler un dé pipé. Il suffit de changer les faces du dé :

FACES = [1, 1, 2, 3, 4, 4, 5, 6, 6, 6]

Avec ce dé, la probabilité du 1 est de $\frac{2}{10}$, le 6 a la probabilité $\frac{3}{10}$.

Refaites l'expérience avec un dé pipé.

bts/python/convergenceloinormale.txt · Dernière modification : de goupillwiki