Aix Marseille Vert
Sommaire
Télécharger
À propos du bulletin

  

La simulation en statistique (suite)

Bernard EGGER

Résumons-nous : pour "construire le hasard", il est courant d'employer des suites récurrentes "chaotiques". De telles suites, phénomènes purement déterministes comme toute suite récurrente, ont l'étrange propriété de ressembler terriblement à ce que l'on attend du hasard. Cette similitude nous intéresse d'autant plus qu'elle n'est pas seulement d'ordre graphique. Il est par exemple courant de se demander que la variable aléatoire qui à un nombre obtenu par cette suite associe le chiffre d'un rang donné dans ce nombre suit bien une loi uniforme. On pourrait tout aussi bien vouloir construire une suite qui permettrait d'avoir une loi binomiale, une loi de Poisson, ou une loi normale.

Dans tous les cas, nous construisons des générateurs de nombres aléatoires ou plutôt pseudo-aléatoires, qu'il est important de tester, pour savoir s'ils sont conformes à notre attente. Indépendamment des tests, nous avons vu dans l'article précédent qu'un grain de sable pouvait surgir à l'insu de l'utilisateur : la cyclicité du générateur. Le problème est d'importance : un test peut se révéler adapté si on l'effectue sur de petits échantillons, et totalement inadapté si on le fait fonctionner sur un échantillon important : nous avons vu que la suite proposée dans le magazine 3'33 était périodique avec une période de 100000. Nous voici bien loin du hasard ! Il n'y a d'ailleurs dans le cadre des suites chaotiques aucune solution évidente : votre calculatrice, ou le logiciel Excel utilisent des nombres décimaux d'une longueur maximale donnée. Quel que soit celui dont on part, il arrivera un moment où nous aurons épuisé tous les nombres possibles, et la suite étant récurrente, totalement déterministe, un nouveau cycle démarrera. La question principale est alors de construire des générateurs dont le cycle est le plus long possible. 100000 c'est vraiment court !

Nous aborderons dans un prochain article les réponses qui sont le plus fréquemment apportées à cette question. Pour le moment revenons aux tests.

La dernière fois nous avons examiné l'uniformité. Elle constitue souvent le minimum exigible. De façon plus élaborée on peut tester des situations faisant appel à l'équiprobabilité mais moins directement que dans la répartition uniforme. Le principe général en est le suivant : retrouver des résultats théoriques connus (en tenant compte de l'imprécision produite nécessairement par la fluctuation d'échantillonnage). Bien entendu dans un second temps, les mêmes procédés pourront être utilisés pour mettre les élèves sur la voie de ces probabilités.

Un exemple simple est constitué par une situation de Bernoulli. Prenons un cas classique : un questionnaire comprend 9 questions, comportant chacune trois réponses possibles, une seule étant exacte. On répond au hasard. On sait que la variable aléatoire X qui donne le nombre de réponses justes suit une loi binomiale de paramètres 9 et 1/3. Son espérance mathématique vaut donc 3. 1000 candidats vont répondre aléatoirement au questionnaire. On se propose de simuler cette situation et de "vérifier expérimentalement" que la moyenne des réponses justes est proche de 3.

Les générateurs de nombres pseudo-aléatoires des calculatrices ou des tableurs retournent habituellement des nombres compris entre 0 et 1. Il y a trois réponses possibles ; deux sont fausses. On notera 0 la réponse juste et 1 une réponse fausse. Pour chaque question, il faut obtenir une simulation (c'est-à-dire une variable aléatoire) qui retourne 0 ou 1 avec "deux fois plus de 1 que de 0". Si x est un nombre compris entre 0 et 1, partie_entière(3x) est soit 0, soit 1, soit 2. Soit y l'un de ces trois entiers, alors partie_entière(y/2 + 0,5) vaut 0 quand y vaut 0 et vaut 1 si y vaut 1 ou 2. On compose tout cela et l'on prend x = alea() (nombre aléatoire). On a comme instruction :

partie_entière(partie_entière(3*alea())/2+0,5)

figure1

Il ne reste plus qu'à "compter" le nombre de 0, ou plutôt qu'à apprendre au tableur à compter. L'instruction "NB.SI" permet de compter le nombre d'occurrences de variable dans la plage :

plage(NB.SI(plage:variable))

Par exemple avec ces nouvelles données :

figure2

Il ne reste plus qu'à recopier cette première ligne jusqu'à la millième ligne

figure3

On peut alors calculer la moyenne de la colonne J.

figure4

Ce résultat paraît satisfaisant. Son utilisation pédagogique aussi ! L'espérance est proche de 3 ce qui rend "facilement" identifiable à 1/3.

D'un point de vue plus théorique, on peut se demander si ce résultat est "suffisamment" proche de 3. Le nombre de réponses justes à chaque questionnaire est une variable aléatoire de moyenne 3 et de variance 2.
Le théorème de la limite centrée permet de dire alors que la variable aléatoire qui à chaque échantillon de 1000 questionnaires associe le nombre moyen de réponses justes par questionnaire suit une loi normale de moyenne 3 et d'écart-type Formule 1. 95% des échantillons de 1000 questionnaires auront donc un nombre moyen de réponses justes compris entre Formule 2 et Formule 3, c'est-à-dire environ entre 2,91 et 3,09. Le résultat obtenu de 3,032 est conforme à cette attente. Le générateur de nombres pseudo-aléatoires d'Excel "résiste" bien à ce test.

Mais on peut aller plus loin. Il est en effet très facile de déterminer combien chacune des valeurs entre 0 et 9 apparaît dans la plage des 1000 résultats. On en déduit aisément la fréquence de chacune d'elles.

Or nous connaissons (les élèves pas encore si l'on utilise l'activité comme découverte), les résultats théoriques fournis par la loi binomiale. Voilà une bonne occasion d'utiliser un test du Khi-deux. Ce test ne s'utilisant qu'avec des effectifs, nous ramenons les fréquences et autres probabilités à des effectifs dont le somme vaut 1000.

figure5

La deuxième ligne correspond aux effectifs obtenus sur l'échantillon et la troisième aux probabilités théoriques multipliées par 1000.

Autre problème : les deux dernières classes ont des effectifs théoriques trop petits (inférieurs à 5). Leur poids relatif par rapport à l'ensemble étant faible, on appliquera le test sur les 7 premières colonnes (c'est-à-dire sur un effectif total de 999).

On obtient alors comme résultat environ : 0,42. Dans 58% des cas on obtient des échantillons "aussi bons voire meilleurs" c'est-à-dire plus conforme à une loi binomiale, mais en tenant compte de la fluctuation d'échantillonnage, au seuil de confiance de 95%, notre échantillon ne permet pas de rejeter l'hypothèse selon laquelle on peut ajuster la distribution obtenu à chaque questionnaire par une loi binomiale.

En définitive, on obtient pour nos deux tests une "confirmation" indirecte de la valeur de la distribution uniforme des nombres pseudo-aléatoires fournis par Excel.

Après la loi binomiale, la loi normale est assez simple à tester. Pour simuler une loi normale, on utilise la méthode dite de Box-Muller : si X1 et X2 sont deux variables aléatoires uniformes sur ]0;1], alors la variable Formule 4 suit une loi normale centrée réduite.

On suppose que le générateur d'Excel correspond bien à une loi uniforme sur ]0;1]. On place par exemple 5000 nombres par la fonction alea() sur les colonnes A et B. Ces deux colonnes correspondront aux variables X1 et X2. On construit la variable Y sur la colonne C.

figure6

La plupart des valeurs de la colonne C sont comprises entre -3 et 3. Dans la colonne D on fait apparaître les nombres de -3 à 3 écrites de 0,3 en 0,3 et deux valeurs extrêmes très différentes (-10 et 10). La colonne E comptabilise le nombre de valeurs de la colonne C inférieure à la cellule D correspondante (Par exemple ici, il y a 45 valeurs de C inférieures à -2,4). Pour cela on utilise encore la fonction "NB.SI". En E1, on écrit la formule : =NB.SI(C$1:C$2000;<& D1). Puis l'on recopie la formule jusqu'à D23. La colonne F contient le nombre de valeurs de C comprises entre deux valeurs consécutives de D. Par exemple le 23 en F4 signifie qu'il y a 23 valeurs de C comprises entre -2,7(D3) et -2,4(D4). Si l'on appelle Z une variable aléatoire qui suit la loi normale centrée réduite, on écrit en colonne G la probabilité p(Z<t) avec t=D1...D23 (= LOI.NORMALE.STANDARD(D1)). Puis en colonne H, les effectifs théoriques pour 5000 essais d'obtenir Z entre t1 et t2 avec t1=D1...D22 et t2=D2...D23. Par exemple en H1, on trouve la formule : =5000*(G2-G1).

On applique alors le test du Khi-deux aux colonnes F et H. On trouve 0,43 environ. Là encore, compte tenu de la fluctuation d'échantillonnage, on ne peut pas mettre en question que la variable Y suit bien une loi normale centrée réduite. Et donc indirectement on doit admettre que le générateur aléatoire d'Excel suit bien une loi uniforme. Ce dernier test est un peu différent des précédents puisqu'il ne prend pas une décimale particulière, mais le nombre pseudo-aléatoire dans son entier. Il existe d'autres tests qui s'intéressent à un certain nombre de décimales particulières ou à l'écart entre deux décimales identiques...

Dans le prochain article, nous verrons comment "réagit" le nombre Formule 5 face à ces différents tests.

À suivre...


Régionale aix-Marseille

Haut de la page 

A.P.M.E.P.