Ce test est basé sur le nombre de séquences croissantes et décroissantes. En effet, on perçoit bien intuitivement qu'une suite strictement croissante du genre 1, 5, 89, 112, 145, 167, 245, ... n'est pas une suite aléatoire.
Soit R = le nombre de séquences dans l'échantillon de n nombres. Théoriquement, la moyenne et la variance sont:
| E(R) = (2n-1) / 3 | Var(R) = (16n-29) / 90 |
et pour n élevé (grand échantillon), la répartition de R suit approximativement une loi normale.
Soit
.
En fixant un seuil de tolérance de 5%, |Z| > 1.96 indique que l'échantillon n'est "pas vraiment aléatoire".
| 12 | 14 | 65 | 18 | 33 | 77 | 89 | 72 | 76 | 43 | 70 | 81 | 94 | 98 | 3 |
| + | + | - | + | + | + | - | + | - | + | + | + | + | - |
Il y a R=8 séquences: 4 croissantes (en vert) et 4 décroissantes (en rouge).
Théoriquement, on devrait avoir E(R) = (2·15-1)/3 = 29/3 = 9.66 et Var(R) = (16·15-29)/90 = 2.34.
Comme |z| < 1.96, le test est réussi.
Remarquons au passage qui si le générateur aléatoire produisait des nombres entiers entre 0 et n, avec n>99, le résultat aurait été le même, alors que manifestement la suite n'aurait pas été aléatoire (imaginez n=9999)! Ce test ne suffit donc pas à dire qu'une suite est aléatoire.
Fonctions Mathematica utiles: Abs, AppendTo, For, If, Length, ListPlot, Print, Sign, Sqrt. |
Entrez le nombre de pièces à jeter (No. of coin tosses en anglais), puis lancez la simulation en pressant le bouton Simulate. Evitez de dépasser 100'000 jets.
Written by Julian Devlin, 8/97, for the text book "Introduction to Probability," by Charles M. Grinstead & J. Laurie Snell.
| Le fichier Mathematica complet est disponible, mais seulement pour les visiteurs autorisés! |