I/ À partir de variables binomiales
Le théorème de Moivre-Laplace permet de calculer une variable presque normale, avec une variable binomiale de paramètres N et 0,5 où N est grand (typiquement quelques dizaines). C’est la méthode utilisée dans MathsOntologie ; elle est peu efficace parce qu’elle fait appel à une boucle sur le nombre de boules à tirer (avec remise) de l’urne, et cette boucle doit être parcourue un grand nombre de fois. De plus, elle ne donne que des entiers, ce qui, même après avoir centré et réduit, se voit à l’affichage du résultat (et en plus, celui-ci est borné).
Dans le programme mis en place pour le bac 2013, la loi normale est définie comme limite de lois binomiales en ES/L et en S ; mais il n’en est pas de même dans les sections technologiques STI2D/STL, où la loi normale est définie ainsi :
La loi normale est introduite à partir de
l’observation, à l’aide d’un logiciel, du cumul
des valeurs obtenues lors de la répétition à
l’identique d’une expérience aléatoire dont le
résultat suit une loi uniforme.
et plus précisément :
On peut simuler une loi normale à partir de la
loi uniforme sur [0,1] .
Ce qui suggère l’algorithme suivant :
II/ Par addition de variables uniformes
La somme de n variables uniformes sur [0 ;1] suit une loi Irwin-Hall de paramètre n [2]. Comme celle-ci est rapidement proche d’une variable normale, on peut donc simuler une variable normale par la somme de n variables uniformes sur [0 ;1]. Ce qui donne lieu au TP suivant (de moins d’une heure) sur la calculatrice (ti 82 stats fr ci-dessous) :
- on constate que
Suite(NbrAléat,K,1,12)
donne 12 nombres uniformes sur [0 ;1] (présentés comme les résultats de mesures par des tricheurs qui préfèrent inventer des nombres au hasard que de faire la mesure) ; - on imbrique cela dans un
somme
pour obtenir la somme des 12 nombres (présentée comme le résultat d’un travail collaboratif des 12 tricheurs) : on aSomme(Suite(NbrAléat,K,1,12))
- on constate après quelques essais que la loi n’est pas uniforme sur [0 ;12] puisqu’aucun élève n’a eu, même après plusieurs répétitions, de nombre inférieur à 2.
- On vérifie avec une boucle sur I allant de 1 à 100 :
:For(I,1,100,1)
:Somme(Suite(NbrAléat,K,1,12))→L1(I)
:EndAprès quelques minutes, L1 contient un échantillon de 100 telles valeurs ; on met l’un des affichages statistiques sur « on », on le met en mode « histogramme » et on paramètre la fenêtre de façon à voir l’histogramme.
L’histogramme ressemble typiquement à ceci (avec Xgrad=0.5) :
Suite du TP : On demande de rappeler les limites de x2 en -∞ et en +∞ et on demande par quoi composer x2 pour que l’axe des abscisses soit asymptote deux fois. Puis on constate que le maximum est atteint en 6 si on prend e-(x-6)2/2 (le quotient par 2 est admis), et on demande de déterminer empiriquement par combien on doit multiplier cette fonction pour l’ajuster à l’histogramme...
III/ Algorithme de Box-Muller
La méthode de Box-Muller est spécifique aux variables normales centrées réduites. Elle est basée sur le principe suivant :
- Au lieu de considérer une variable aléatoire normale centrée réduite X, on en considère deux, X et Y, indépendantes entre elles ;
- X et Y sont alors considérés comme les coordonnées d’un vecteur ;
- la norme de ce vecteur suit une loi de Rayleigh ;
- donc son carré suit une loi exponentielle ;
- et l’angle vecteur de (X,Y) suit une loi uniforme sur [0 ;2π]
- On reprend donc le problème à l’envers :
- On simule une variable θ uniforme sur [0 ;2π] ;
- On simule aussi une variable U uniforme sur [0 ;1] ;
- -2 ln(U) suit alors une loi exponentielle de paramètre 0,5 ;
- on calcule alors sa racine carrée r, qui suit donc une loi de Rayleigh de paramètre 0,5 ;
- les variables r×cos(θ) et r×sin(θ) sont alors normales, centrées, réduites et statistiquement décorrélées.
Comme le montre le cours, GeoGebra utilise l’algorithme de Box-Muller.
Commentaires