Probabilités de gain: simulation & fluctuations

Simuler et tracer des résultats aléatoires suivant une loi de probabilité donnée

Dans la calculatrice graphique suivante, on simule aléatoirement un échantillon de n répétitions de tirages aléatoires suivant la loi de probabilité donnée.
Pour bien observer le comportement, on peut simuler et tracer superposés les résultats aléatoires obtenus pour N simulations de ces échantillons de taille n.

On peut tracer aussi l'asymptote: valeur moyenne théorique sur l'ensemble des répétitions: on retrouve la valeur de l'espérance mathématique.
De même, l'écart type vient compléter les calculs en permettant de tracer l'intervalle de fluctuation, dont les éléments caractéristiques s'affiche lorsque la case correspondante est cochée. Les détails mathématiques plus complets (avec les inégalités de Markov et de Bienaymé-Tchebychev, sont sur cette page.

Paramètres de la simulation: loi de probabilité







On simule un échantillon de taille

On (re)lance cette simulation fois.

Représentation graphique de la simulation




  • L'amplitude des fluctuations de la moyenne des n répétitions indépendantes d'une variable aléatoire est proportionelle à l'écart type de la variable et inversement proportionnelle à la racine carrée du nombre de répétitions: αnk σ(X) / n
  • L'amplitude des fluctuations de la somme des n répétitions indépendantes d'une variable aléatoire est proportionelle à l'écart type de la variable et à la racine carrée du nombre de répétitions: αnk σ(X) n
Les simulations ci-dessus utilisent le coefficient k = 2.
Voir les détails et démonstrations de ces propriétés sur cette page.

Programme python correspondant +

from pylab import *
from random import choices

Gains=[10, 0, -2]
probas=[0.33,  0.33  ,0.33]
# Calculs de l'esperance
EX=0
for i in range(len(Gains)):
  EX=EX+probas[i]*Gains[i]

# puis de la variance: moyenne des carrés des écarts à la moyenne
VX=0
for i in range(len(Gains)):
  VX=VX+probas[i]*(Gains[i]-EX)**2

# et enfin l'ecart type
SX=sqrt(VX)
print("EX = ",EX)
print("VX = ",VX)
print("SX = ",SX)

for k in range():
GainTotal=0 listGains=[] for i in range(1,): a=choices(Gains, weights=probas)[0] GainTotal=GainTotal+a listGains.append(GainTotal/i) plot(listGains,"k") # Asymptote listAsymp=[] # Bornes de fluctuation listFluctuSup=[] listFluctuInf=[] listFluctuInf=[] const=2 for i in range(1,): listAsymp.append(i*EX) listFluctuSup.append(i*EX+const*SX*sqrt(i)) listFluctuInf.append(i*EX-const*SX*sqrt(i)) plot(listAsymp,"-r") plot(listFluctuSup,"-b") plot(listFluctuInf,"-b") show()




LongPage: h2: 4 - h3: 0