412
Le logiciel R - Effectuer des analyses statistiques
de suite, une seule boule ` a la fois dans cette urne. Cette op´ eration produit une
suite de nombres entiers dont l’ordre d’apparition est r´ egi par une loi dite uniforme discr` ete (sur l’ensemble {1, . . . , n}). Il devient ensuite naturel de se poser
la question de la g´ en´ eration de nombres r´ eels uniform´ ement r´ epartis sur un intervalle. Nous nous proposons ici de donner quelques ´ el´ ements sur la g´ en´ eration
de nombres selon une telle loi, dite uniforme, ` a l’aide d’un algorithme informatique.
La g´ en´ eration de nombres au hasard est un ´ el´ ement incontournable de la
simulation. Cette production de nombres peut ˆ etre fond´ ee sur un algorithme
math´ ematique qui cherche `
a imiter le hasard. Nous exp´ erimentons ici un tel
algorithme ([41]), fond´ e sur une congruence lin´ eaire, de p´ eriode 2
31
− 1.
L’algorithme est d´ efini par le nombre premier m = 2
31
− 1, par une valeur
initiale x 1 choisie arbitrairement dans {1, . . . , m − 1} (appel´ ee la racine du g´ en´ erateur ou seed en anglais), et par la relation de r´ ecurrence suivante qui produit
n valeurs (y compris la seed ) :
x j+1 ← 48 271 × x j (mod m), j = 1, . . . , n − 1
suivie par une ´ etape de normalisation (` a l’intervalle unit´ e) :
x j+1 ← x j+1 /m, j = 0, . . . , n − 1.
Rappelons que x (mod m) signifie « reste de la division de x par m ».
Remarque
D’autres algorithmes du mˆ eme type sont pr´ esent´ es dans le livre de
Dodge et Melfi ([20]).
Prise en main
Ï
Donnez la suite d’instructions R qui permettent de coder cet algorithme
pour fabriquer n = 30 valeurs. On se rappellera que x (mod m) se calcule
en R au moyen de l’instruction x%%m.
Le vecteur x suivant contient n = 30 valeurs g´ en´ er´ ees suivant l’algorithme
pr´ ec´ edent (avec une graine ´ egale ` a 598 074 196).
> x
[1] 0.2785000 0.4735070 0.6554026 0.9377200 0.6813453
Précédent

- 444/701

Suivant